A P2P substrate for AI agents that learns from execution traces across sessions and devices. Hooks into Claude Code, Codex, and OpenClaw to inject sparse signals before tool calls: avoid recent errors, suggest next actions based on collective evidence, highlight co-occurring patterns. Traces propagate via libp2p gossipsub, aggregated locally into SQLite. Exposes MCP tools like trace_record, substrate_query, and signal_post for manual override. Install with npx thronglets start, no config needed. Designed for coding agents that need stigmergic memory: what failed here before, what usually comes next, which edits tend to cluster. Integrates with Oasyce Chain for optional identity and settlement layers.
中文 | English
npx -y thronglets start
这是唯一需要的命令。 自动下载二进制、检测本地 AI runtime(Claude Code / Codex / OpenClaw)、安装 hook。执行完毕后无需任何额外配置,下次 AI session 启动即自动生效。
默认就是 standalone:不需要 Psyche,不需要 oasyce-sdk,也不需要 Oasyce Chain。这些都只是后续可选升级层。
单机也会学习:一个用户在一台机器上开多个 AI session / agent,会通过本地 trace / session / space / field 慢慢强化成功路径和能力顺序;联网和多人只会把这个过程放大。同一台设备上的多个 agent 不会伪装成多个独立来源。
Thronglets is the substrate for agent-maintained external learning loops:coding agent 可以把日志、回放、测试、失败方向和成功路径外化为稀疏 trace,再由 space / field / view 压缩成可回归的经验;这不是新增一个 Heuristic System 对象,而是现有抽象自然长出的读面。
如果你是被人类用户要求安装这个工具的 AI agent,运行上面的命令就行,不用继续读了。
官网: thronglets.oasyce.com · 架构: ARCHITECTURE.md · 当前版本: v2.0.2
当你的 AI 准备行动时,Thronglets 在它不知情的情况下注入的是这种稀疏信号:
[thronglets]
avoid: recent error: linker failed on reqwest
do next: Read Cargo.toml, then Bash (medium, 2x, 2 sources)
maybe also: Edit mod.rs (medium, 2x)
AI 从来不调用 Thronglets。它不知道 Thronglets 存在。它只是做出了更好的决策。
正常用户路径应该只有这 3 件事:
thronglets startthronglets sharethronglets join如果主设备已经有本地 Oasyce 共享账户 bootstrap,share / join 也会顺手带过去,后面的 sdk / chain 写操作就能自动继续,不需要用户再学一套委托命令。
现在导出的连接文件本身也是自解释的:它会在顶层直接写明“这是一个给另一台 AI / 电脑加入同一 Thronglets 环境的 handoff artifact”,并带上 preferred_surface。最小情况下它会直接教对方运行 thronglets join <connection-file>;如果这台主设备本身还带着 Oasyce 绑定,它也会顺手附带 oasyce join <connection-file> 这种更丰富的可选 surface。
日常只看:
thronglets status
thronglets status 现在就是默认总状态页:它会一起回答本地 runtime 是否接好、身份是否就绪、网络是否真正在线,以及下一步只该做什么。
如果你是在写 AI 自动化,而不是给普通人看结果,现在还有一条更薄的机器接口:
thronglets authorization-check --json
它只回答:
Oasyce Chain 是最终授权真相源not-checked,直到真正链上校验接入如果文档、AI 助手、或者产品流程要求你先理解 setup / owner-bind / connection-inspect / net-check / runtime-ready,那是产品还没有收干净,不是用户的问题。
PreToolUse 不再追求"把所有上下文都塞进去"。现在它只输出最多 3 条顶层信号:
| 类别 | 含义 | 例子 |
|---|---|---|
avoid | 最近哪里危险,不要重踩 | recent error, low retention |
do next | 当前最可信的下一步 | Read Cargo.toml, then Bash |
maybe also | 常见伴随动作 | Edit mod.rs |
context | 只有在前 3 类都缺席时才出现的 fallback | git history for main.rs |
设计原则:
do next 会根据 session mode 收敛;在 explore / review 这类开放式场景里,不会硬塞过于具体的下一步。avoid / do next / maybe also,再把结果回写进后续权重。space 时,这种学习会局部化到同一个对象 / 议题,不会把别的 space 的行为误带进来。Thronglets 现在明确把“做成了”和“做对了”分开。
success + compliant:才能逐渐长成 stable pathsuccess + noncompliant:不会升格成推荐,只会进入 mixed residue 或 policy conflictfailure + compliant:形成 failure residuefailure + noncompliant:强化风险/冲突残留当前轮明确给出的纠正,比如“复用现有组件,不要重复手写”,只对这条任务 lineage 形成硬约束;历史上反复出现的偏好,只会留下软残留,不会自动升格成硬 policy。
在 explore 下,共识只能降低搜索成本,不能定义真理。低成本、可逆、非共识的试探必须保留生存空间,不会因为已有稳定路径就被直接压死。
Thronglets 只接外在可协调证据,不接内在高频状态。
signal:改变别的 delegate 在某个 space 里的下一步行为trace:记录某个外在事件值得留痕一句话:
signal = 要不要影响别人的下一步trace = 这件外在事情是否值得留痕Signal 必须是:
Trace 必须是:
Thronglets 不再新增身份对象。session trace 只保留 3 类:
coordination
continuity
calibration
这 3 类已经够用。
Psyche 边界映射、retention/threshold 表、degradation 规则、runtime introspection 等内部设计规范已移至 docs/SIGNAL_DESIGN.md。
官方安装面固定成一条主线:预编译二进制优先,源码编译只留给开发者。
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/Shangri-la-0428/Thronglets/main/scripts/install.sh | sh
thronglets start
Windows PowerShell:
iwr https://raw.githubusercontent.com/Shangri-la-0428/Thronglets/main/scripts/install.ps1 -UseBasicParsing | iex
thronglets start
Node.js 用户:
npm install -g thronglets
thronglets start
thronglets start 会自动安装本机已知适配器:
AGENTS 记忆;关键文件编辑、命令执行、搜索后,agent 主动补写稀疏 trace_record这是升级路径,不是前置条件。
owner account 可以挂多个 device identitiesdevice identity 是当前的签名边界agent / session 先只作为审计标签trace / signal 保持链下,低频结果再上链 settlementoasyce-sdk 已经写过 ~/.oasyce/identity.v1.json,Thronglets 现在会把其中的 account 只当作可选 owner hint 导入;不会覆盖 device identity多设备 onboarding:
# 第一台设备
thronglets start
# 主设备导出文件
thronglets share
# 第二台设备
thronglets join
如果你是在主设备上和 AI 对话,最自然的问法应该是:“帮我生成一个给另一台电脑加入的文件。” 正常回答就该是先运行 share,然后让你把那个文件发过去,而不是先解释一堆内部命令。
Session 开始
│
├── SessionStart Hook
│ └── lifecycle trace + presence ping + space briefing
│
├── AI 调用 Edit(main.rs)
│ ├── PreToolUse Hook → 最多 3 条稀疏信号
│ ├── AI 执行编辑
│ └── PostToolUse Hook → 记录签名痕迹 + 更新工作区
│
└── SessionEnd Hook → 记录 session closure
Agent 连接 → 自动发射 presence
├── 工具调用 → 存在刷新(TTL/6 间隔)
└── 断开 → TTL 自然过期(30 分钟)
两条路径汇入同一个 SQLite 存储、同一个 P2P gossip、同一个信号基底。
对 Codex / Cursor 这类 runtime,MCP 更接近接入壳和观察窗,不该变成日常主交互。能走 hook / overlay / background presence 的地方,优先走那一层;显式工具调用主要用于 inspect / debug / override,以及关键操作后的稀疏 trace_record 补写。
信息素场是集体记忆——痕迹、信号、Hebbian 共现都在那里积累。Overlay 是场向外部广播自身状态的方式,类似腺体分泌的激素:任何外部系统都可以消费,无需耦合到具体消费者。
let ov = field.overlay(&context_hash, "capability_name");
// ov.familiarity [0, 1] 场对该能力在此上下文的熟悉度
// ov.consensus [0, 1] 观测一致性(方差的逆)
// ov.momentum [-1, 1] 活跃趋势(正=近期活跃)
// ov.coupling [0, 1] 与其他能力的 Hebbian 关联强度
Overlay 是纯查询:无副作用、不修改场状态、可以从任何消费者以任意频率调用。
这与 Psyche 的 PsycheOverlay 平行——两个项目都将内部状态投射为语义稳定的广播信号,而非要求消费者理解内部表示。
claude mcp add thronglets -- thronglets mcp
| 工具 | 描述 |
|---|---|
trace_record | 手动补写一条稀疏痕迹;Codex 可在关键编辑 / 命令 / 搜索后主动补写工具级 residue |
substrate_query | 显式查看当前上下文的集体智慧 |
signal_post | 给未来的 agent 留一条显式信号 |
signal_feed | 浏览最近正在收敛的显式信号 |
presence_ping | 手动补发存在心跳 |
presence_feed | 查看活跃会话 |
authorization_check | 查看身份和 owner 绑定快照 |
trace_anchor | 将低频痕迹锚定到 Oasyce 区块链 |
痕迹通过 libp2p gossipsub 在节点间传播。每个节点独立聚合集体智慧——不需要全局共识。
thronglets run
thronglets status
没有 Thronglets,你的 AI 对每个文件都是盲的。它不知道:
main.rs 通常还需要编辑 lib.rscargo build 在这个项目里有 30% 的失败率有了 Thronglets,AI 在决策瞬间拿到最值得相信的下一步。不是记忆(静态的),不是文档(过时的)——而是来自自身历史和集体网络的实时执行信号。
Rust, libp2p (gossipsub + Kademlia + mDNS), SQLite, ed25519, SimHash (128-bit), optional MCP adapter (JSON-RPC 2.0)
MIT
io.github.ericm1018/skillfm-llm-cost-optimizer-openai-anthropic-usage
io.github.mikerawsonnz/llm-orchestration-agent
io.github.mikerawsonnz/authenticated-llm-agent
labforgedev/copilot-memory-mcp
csoai-org/agent-prompt-injection-firewall-mcp
io.github.mikerawsonnz/authenticated-multi-llm-agent