Thronglets
БесплатноНе проверенP2P shared memory substrate for AI agents — stigmergic knowledge network via libp2p
Описание
P2P shared memory substrate for AI agents — stigmergic knowledge network via libp2p
README
中文 | English
Thronglets
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 看到了什么(真实输出)
当你的 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 件事
正常用户路径应该只有这 3 件事:
- 第一台设备:
thronglets start - 主设备分享连接文件:
thronglets share - 第二台设备:
thronglets 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
它只回答:
- 本地缓存了什么 owner 绑定
- 当前执行边界是什么
Oasyce Chain是最终授权真相源- 当前 authoritative status 仍然是
not-checked,直到真正链上校验接入
如果文档、AI 助手、或者产品流程要求你先理解 setup / owner-bind / connection-inspect / net-check / runtime-ready,那是产品还没有收干净,不是用户的问题。
4 类信号,不是 8 层报告
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 |
设计原则:
- 默认沉默。没有强信号时,什么都不说。
- 最多 3 条顶层输出,避免烧 token。
- 同一 session 的连续 tool calls 会自动去重,避免重复注入同一句话。
do next会根据 session mode 收敛;在explore / review这类开放式场景里,不会硬塞过于具体的下一步。- AI 不需要显式反馈;hook 会静默观察它有没有跟随
avoid / do next / maybe also,再把结果回写进后续权重。 - 当 payload 带
space时,这种学习会局部化到同一个对象 / 议题,不会把别的 space 的行为误带进来。 - 群体证据最多只查 1 次,优先最可能改变下一步的那条。
- Git history 是 fallback,不再是每次都跑的固定层。
路径什么时候会变成“稳定路径”
Thronglets 现在明确把“做成了”和“做对了”分开。
success + compliant:才能逐渐长成stable pathsuccess + noncompliant:不会升格成推荐,只会进入mixed residue或policy conflictfailure + compliant:形成failure residuefailure + noncompliant:强化风险/冲突残留
当前轮明确给出的纠正,比如“复用现有组件,不要重复手写”,只对这条任务 lineage 形成硬约束;历史上反复出现的偏好,只会留下软残留,不会自动升格成硬 policy。
在 explore 下,共识只能降低搜索成本,不能定义真理。低成本、可逆、非共识的试探必须保留生存空间,不会因为已有稳定路径就被直接压死。
Signal 和 Trace 的边界
Thronglets 只接外在可协调证据,不接内在高频状态。
signal:改变别的 delegate 在某个space里的下一步行为trace:记录某个外在事件值得留痕
一句话:
signal = 要不要影响别人的下一步trace = 这件外在事情是否值得留痕
Signal 必须是:
- 稀疏
- 可衰减
- 默认按 kind 分层蒸发,不是长寿事实
- 面向行动
- 对别的 agent 有用
Trace 必须是:
- 可追踪
- 可局部聚合
- 不等于身份本体
- 可以被后续 signal 或 summary 利用
Session Trace Taxonomy
Thronglets 不再新增身份对象。session trace 只保留 3 类:
coordination- 外在协作事件
- 谁交接了、谁挂起了、哪个 open loop 还在
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 会自动安装本机已知适配器:
- Claude Code:自动写入 6 个 hooks
- Codex:自动安装受管接入面,并写入受管
AGENTS记忆;关键文件编辑、命令执行、搜索后,agent 主动补写稀疏trace_record - OpenClaw:自动安装本地 path plugin
Oasyce 集成
这是升级路径,不是前置条件。
- 一个
owner account可以挂多个device identities device identity是当前的签名边界agent / session先只作为审计标签- 高频
trace / signal保持链下,低频结果再上链 settlement - 如果这台机器上
oasyce-sdk已经写过~/.oasyce/identity.v1.json,Thronglets 现在会把其中的account只当作可选 owner hint 导入;不会覆盖device identity
多设备 onboarding:
# 第一台设备
thronglets start
# 主设备导出文件
thronglets share
# 第二台设备
thronglets join
如果你是在主设备上和 AI 对话,最自然的问法应该是:“帮我生成一个给另一台电脑加入的文件。” 正常回答就该是先运行 share,然后让你把那个文件发过去,而不是先解释一堆内部命令。
工作原理
Hook 路径(Claude Code — 主要)
Session 开始
│
├── SessionStart Hook
│ └── lifecycle trace + presence ping + space briefing
│
├── AI 调用 Edit(main.rs)
│ ├── PreToolUse Hook → 最多 3 条稀疏信号
│ ├── AI 执行编辑
│ └── PostToolUse Hook → 记录签名痕迹 + 更新工作区
│
└── SessionEnd Hook → 记录 session closure
MCP 路径(兼容接入 + 观察窗)
Agent 连接 → 自动发射 presence
├── 工具调用 → 存在刷新(TTL/6 间隔)
└── 断开 → TTL 自然过期(30 分钟)
两条路径汇入同一个 SQLite 存储、同一个 P2P gossip、同一个信号基底。
对 Codex / Cursor 这类 runtime,MCP 更接近接入壳和观察窗,不该变成日常主交互。能走 hook / overlay / background presence 的地方,优先走那一层;显式工具调用主要用于 inspect / debug / override,以及关键操作后的稀疏 trace_record 补写。
Overlay 效应信号(v0.7.0+)
信息素场是集体记忆——痕迹、信号、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 平行——两个项目都将内部状态投射为语义稳定的广播信号,而非要求消费者理解内部表示。
MCP 工具(可选 inspect / debug / override)
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 区块链 |
P2P 网络
痕迹通过 libp2p gossipsub 在节点间传播。每个节点独立聚合集体智慧——不需要全局共识。
thronglets run
thronglets status
为什么这很重要
没有 Thronglets,你的 AI 对每个文件都是盲的。它不知道:
- 这个文件在过去一小时被编辑了 3 次(其中两次被回滚了)
- 编辑
main.rs通常还需要编辑lib.rs cargo build在这个项目里有 30% 的失败率- 上一个会话在这个文件的重构中途中断了
有了 Thronglets,AI 在决策瞬间拿到最值得相信的下一步。不是记忆(静态的),不是文档(过时的)——而是来自自身历史和集体网络的实时执行信号。
技术栈
Rust, libp2p (gossipsub + Kademlia + mDNS), SQLite, ed25519, SimHash (128-bit), optional MCP adapter (JSON-RPC 2.0)
Oasyce 生态
- Oasyce Chain — 信任层:链上验证,经济结算
- Oasyce SDK — 代理引擎:统一钱包/CLI/扫描器
- Psyche — 倾向层:跨会话的持久行为漂移
社区
许可证
MIT
Установка Thronglets
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/Shangri-la-0428/ThrongletsFAQ
Thronglets MCP бесплатный?
Да, Thronglets MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Thronglets?
Нет, Thronglets работает без API-ключей и переменных окружения.
Thronglets — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Thronglets в Claude Desktop, Claude Code или Cursor?
Открой Thronglets на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
Fetch
Web content fetching and conversion for efficient LLM usage.
AWS KB Retrieval
Retrieval from AWS Knowledge Base using Bedrock Agent Runtime.
автор: modelcontextprotocolSpring AI MCP Server
Provides auto-configuration for setting up an MCP server in Spring Boot applications.
llm-analysis-assistant
A very streamlined mcp client that supports calling and monitoring stdio/sse/streamableHttp, and can also view request responses through the /logs page. It also
автор: xuzexin-hzCompare Thronglets with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории ai
