![]() |
VOOZH | about |
dotnet add package CircleAI.Memory --version 1.3.0
NuGet\Install-Package CircleAI.Memory -Version 1.3.0
<PackageReference Include="CircleAI.Memory" Version="1.3.0" />
<PackageVersion Include="CircleAI.Memory" Version="1.3.0" />Directory.Packages.props
<PackageReference Include="CircleAI.Memory" />Project file
paket add CircleAI.Memory --version 1.3.0
#r "nuget: CircleAI.Memory, 1.3.0"
#:package CircleAI.Memory@1.3.0
#addin nuget:?package=CircleAI.Memory&version=1.3.0Install as a Cake Addin
#tool nuget:?package=CircleAI.Memory&version=1.3.0Install as a Cake Tool
· · · · · · · · · ·
The portable core of the Circle AI companion stack. Runs natively alongside every Aether Protocol node — wearable, phone, IoT, HarmonyOS — with no FFI overhead and no runtime bridging.
| Module | Key types |
|---|---|
| models | ChatMessage, DownloadProgress |
| memory | AffectState, EpisodicMemoryEntry, PersonaState, Goal |
| identity | CircleIdentity, RegisteredDevice, IdentityTier |
| languages | LanguageTag, KnownLanguages (20 BCP-47 tags), WritingSystem |
| companion | CompanionContext, CompanionTurn, ICompanionSession |
| inference | GenerationOptions, IChatGenerator |
| tools | ToolDefinition, ToolInvocation, ToolResult, IToolBridge |
| sync | SyncDelta, SyncDeliveryMode, ISyncChannel |
dotnet add package CircleAI.Core
using CircleAI.Memory;
using CircleAI.Languages;
var state = new AffectState();
state.ApplyPositiveSignal();
Console.WriteLine(state.Engagement); // 0.52
var lang = KnownLanguages.Zulu;
Console.WriteLine(lang.BcpTag); // "zu"
pip install circle-ai-sdk
from circle_ai.memory import AffectState
from circle_ai.languages import KnownLanguages
state = AffectState()
state.apply_positive_signal()
print(state.engagement) # 0.52
reg = KnownLanguages()
print(reg.find_by_bcp_tag("zu").english_name) # Zulu
npm install @bhengubv/circle-ai
import { AffectState, KnownLanguages } from '@bhengubv/circle-ai';
const state = new AffectState();
state.applyPositiveSignal();
console.log(state.engagement); // 0.52
const reg = new KnownLanguages();
console.log(reg.findByBcpTag('zu')?.englishName); // Zulu
go get github.com/bhengubv/CircleAI/go
import "github.com/bhengubv/CircleAI/go"
state := circleai.NewAffectState()
state.ApplyPositiveSignal()
fmt.Println(state.Engagement) // 0.52
lang := circleai.FindLanguage("zu")
fmt.Println(lang.EnglishName) // Zulu
// build.gradle.kts
implementation("com.bhengubv:circle-ai:0.1.0")
import com.bhengubv.circleai.AffectState
import com.bhengubv.circleai.KnownLanguages
val state = AffectState()
state.applyPositiveSignal()
println(state.engagement) // 0.52
println(KnownLanguages.findByBcpTag("zu")?.englishName) // Zulu
// Package.swift
.package(url: "https://github.com/bhengubv/CircleAI.git", from: "0.1.0")
import CircleAI
let state = AffectState()
state.applyPositiveSignal()
print(state.engagement) // 0.52
let reg = KnownLanguages()
print(reg.findByBcpTag("zu")?.englishName ?? "") // Zulu
# Cargo.toml
circle-ai = "0.1.0"
use circle_ai::memory::AffectState;
use circle_ai::languages::KnownLanguages;
let mut state = AffectState::default();
state.apply_positive_signal();
println!("{}", state.engagement); // 0.52
let lang = KnownLanguages::find_by_bcp_tag("zu").unwrap();
println!("{}", lang.english_name); // Zulu
# CMakeLists.txt
FetchContent_Declare(circle_ai
GIT_REPOSITORY https://github.com/bhengubv/CircleAI.git
GIT_TAG v0.1.0
SOURCE_SUBDIR c
)
FetchContent_MakeAvailable(circle_ai)
target_link_libraries(my_app circle_ai)
#include "circle_ai/circle_ai.h"
ca_affect_state_t s = ca_affect_state_default();
ca_affect_state_positive_signal(&s);
printf("%.2f\n", s.engagement); /* 0.52 */
const ca_language_tag_t* zu = ca_find_language("zu");
printf("%s\n", zu->english_name); /* Zulu */
// build.gradle.kts
implementation("com.bhengubv:circle-ai-android:0.1.0")
import com.bhengubv.circleai.AffectState
import com.bhengubv.circleai.KnownLanguages
val state = AffectState()
state.applyPositiveSignal()
Log.d("CircleAI", "Engagement: ${state.engagement}") // 0.52
// oh-package.json5
"dependencies": { "@bhengubv/circle-ai": "^0.1.0" }
import { AffectState, KnownLanguages } from '@bhengubv/circle-ai';
const state = new AffectState();
state.applyPositiveSignal();
console.log(state.engagement); // 0.52
All 10 implementations produce identical float results (ε ≤ 1e-5).
| Operation | Effect |
|---|---|
applyPositiveSignal() |
engagement +0.02, rapport +0.01, uncertainty −0.02 (clamped [0, 1]) |
applyNegativeSignal() |
engagement −0.03, uncertainty +0.03 (clamped) |
applyIdleDecay(hours) |
decay = min(0.3, hours × 0.02); engagement and energy lerp toward 0.5 |
Test vectors in (12 vectors). Validated by CI across all 10 languages.
zu · st · af · sw · ha · am · yo · ig · xh · nso · tn · so · om · ar · en · pt · fr · es · zh · hi
CircleAI/
├── src/ C# reference implementation (CircleAI.*)
├── tests/ C# test suite
├── fixtures/ Cross-language test vectors (JSON)
├── docs/ CONTRACTS.md · MEMORY_SPEC.md · COMPANION_SPEC.md
├── android/ Kotlin/Android library
├── c/ Pure C99, CMake
├── go/ Go module
├── harmonyos/ ArkTS, OpenHarmony
├── kotlin/ Kotlin/JVM
├── python/ Python 3.12+
├── rust/ Rust, Cargo
├── swift/ Swift 5.9+, Swift Package Manager
└── typescript/ TypeScript, npm
| Workflow | Trigger |
|---|---|
| push/PR to master — runs all 10 test suites | |
git tag v*.*.* — publishes to NuGet, crates.io, PyPI, npm, GitHub Packages |
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 is compatible. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 5 NuGet packages that depend on CircleAI.Memory:
| Package | Downloads |
|---|---|
|
CircleAI.Hosting
DI wiring + proactive reasoning host for Circle AI — 2.0.3 adds the CircleAI.Hosting.Tools namespace: ToolDescriptor + IToolCatalog + IToolProvider + IToolExecutor + InMemoryToolCatalog (keyword-substring search) + ToolCatalogExtensions.ImportFromAsync. Pattern-port skeleton from composio (MIT) under Apache 2.0; downstream consumers (circle-concierge, Observer's IObserverTool) can build IToolProvider impls now. Full catalog (semantic search + bundled SaaS integrations) lands in 2.5.0. Carries forward 2.0.1's Generative UI plug point and 2.0.0's RT-04 brownout + RT-08 fallback chain. |
|
|
CircleAI.Sync
Memory delta sync for Circle AI. Episodic memory, affect state, and persona deltas propagate across all devices via any transport (gRPC, mesh, DTN). This is the cross-device continuity layer. |
|
|
CircleAI.Companion
Circle AI Companion — the HER + JARVIS concierge persona. Knows who you are, remembers everything across all devices, speaks your language, feels your mood, adapts its personality, initiates contact, and acts in the world. The crown jewel of the Circle AI platform. |
|
|
CircleAI.AetherNet
The runtime adapter that bridges CircleAI.Aether contracts to the live AetherNet protocol. 2.0.1 adds (RT-12 v1) MeshCapabilityAdvertisement + IMeshCapabilityRegistry + InMemoryMeshCapabilityRegistry + IMeshCapabilityBroadcaster + NullMeshCapabilityBroadcaster. Peers publish loaded-model availability ("Qwen3-1.7B with 2048 free KV tokens on a Phone tier"); registry queries by model + min-free-KV + staleness. Contracts only; AetherNet transport binding lands with v2 actual offload in 2.7.0. Also: IAetherContext, IAetherTelemetry, ISecurityDirectiveConsumer (unchanged from 1.1.0). Floats AetherNet.* with Version="1.*" so patch/minor upstream releases flow through to consumers without re-pin. Version aligned with 2.0.1 SDK bundle. |
|
|
CircleAI.Orchestration
Host-side loki-mode agent orchestration layer for Circle AI — spawns Engineering, Operations, and Review agent swarms, routes incident triggers, and enforces quality gates before deployment. 1.4.0 fixes two LokiOrchestrator correctness gaps: SemaphoreSlim is now using-disposed per swarm run (was leaked one per RunSwarmAsync), and non-cancellation dispatcher exceptions are wrapped as AgentStatus.Failed SwarmResults so one bad handler no longer breaks the async iterator mid-stream. AgentSwarmConfig gains ForDevice(DeviceProbe) factory — MaxConcurrency sized by DeviceTierDefaults.MaxConcurrency(tier, cpuCores). |
This package is not used by any popular GitHub repositories.