AgentStack
MCP unreviewed MIT Self-run

Thronglets

mcp-shangri-la-0428-thronglets · by Shangri-la-0428

P2P shared memory substrate for AI agents — stigmergic knowledge network via libp2p

No reviews yet
0 installs
0 views
view→install

Install

$ agentstack add mcp-shangri-la-0428-thronglets

Open-source listing — not yet scanned by AgentStack. Follow the source repository for install instructions.

Are you the author of Thronglets? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.

About

中文 | [English](README.en.md)

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](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 ;如果这台主设备本身还带着 Oasyce 绑定,它也会顺手附带 oasyce join 这种更丰富的可选 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 path
  • success + noncompliant:不会升格成推荐,只会进入 mixed residuepolicy conflict
  • failure + compliant:形成 failure residue
  • failure + 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/SIGNALDESIGN.md](docs/SIGNALDESIGN.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

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.2.0 Imported from the upstream source.