Thronglets について
Throngletsは、AIエージェント向けのローカル優先P2P共有メモリ基盤です。疎なトレースから行動シグナルを形成し、フックで指針を注入するほか、調査やデバッグ用のMCP接続も提供します。
主な機能
- 01トレースとシグナルから経験を蓄積
- 02文脈に応じた簡潔な行動ヒント
- 03libp2p gossipによる情報共有
- 04Claude Code、Codex、OpenClawへのアダプター導入
- 05SQLiteローカル保存と状態確認
活用シーン
- 01コーディングエージェントが直近の失敗を回避
- 02セッション間で成功手順を再利用
- 03複数デバイス間で協調シグナルを共有
MCP 対応
任意のMCP接続を通じて、クライアントはトレースの記録・照会、シグナルの投稿・閲覧、プレゼンスや認可状態の確認を行えます。主な用途は調査、デバッグ、上書き操作です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
日本語 | English
Thronglets
npx -y thronglets start
必要なコマンドはこれだけです。 バイナリを自動ダウンロードし、ローカルの AI runtime(Claude Code / Codex / OpenClaw)を検出して、hook をインストールします。実行後に追加の設定は必要ありません。次回の AI session 起動時に自動で有効になります。
デフォルトで standalone です。Psyche、oasyce-sdk、Oasyce Chain は必要ありません。これらは後から任意で追加できる拡張レイヤーにすぎません。
単独のマシンでも学習します。1 人のユーザーが 1 台のマシンで複数の AI session / agent を起動すると、ローカルの trace / session / space / field を通じて、成功パスと能力の順序が徐々に強化されます。ネットワーク接続や複数人での利用は、このプロセスを拡大するだけです。同じデバイス上の複数の agent が、複数の独立した情報源を装うことはありません。
Thronglets は、agent が維持する外部学習ループの基盤です。コーディングエージェントは、ログ、再生、テスト、失敗した方向、成功パスを疎な trace として外部化し、space / field / view によって回帰可能な経験へと圧縮できます。これは新しい Heuristic System オブジェクトの追加ではなく、既存の抽象化から自然に生まれた読み取り面です。
人間のユーザーからこのツールのインストールを依頼された AI エージェントの場合は、上のコマンドを実行すれば完了です。続きを読む必要はありません。
公式サイト: thronglets.oasyce.com · アーキテクチャ: ARCHITECTURE.md · 現在のバージョン: v2.0.2
AI に表示される内容(実際の出力)
AI が行動に移ろうとすると、Thronglets は AI に気づかれない形で、次のような疎なシグナルを注入します。
[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 つだけです。
- 1 台目のデバイス:
thronglets start - メインデバイスで接続ファイルを共有:
thronglets share - 2 台目のデバイス:
thronglets join
メインデバイスにローカルの Oasyce 共有アカウント bootstrap がすでにある場合、share / join でそれも引き継がれます。その後の sdk / chain への書き込みも自動的に続行できるため、ユーザーが委任用コマンドを新たに覚える必要はありません。
現在、エクスポートされる接続ファイル自体も自己説明型になっています。最上位に「別の AI / コンピューターを同じ Thronglets 環境に参加させるための handoff artifact」であることが明記され、preferred_surface も含まれます。最小構成では、相手に thronglets join <connection-file> の実行を直接案内します。メインデバイスに Oasyce のバインディングもある場合は、より機能豊富な任意の surface として oasyce join <connection-file> も一緒に含まれます。
日常的には、次だけ確認します。
thronglets status
thronglets status は、現在のデフォルトの総合ステータスページです。ローカル runtime が接続済みか、ID の準備ができているか、ネットワークに実際に接続しているか、次に行うべきことは何かをまとめて確認できます。
一般ユーザー向けではなく、AI 自動化を作成している場合は、さらに簡潔な機械向けインターフェースもあります。
thronglets authorization-check --json
このインターフェースが答えるのは、次の内容だけです。
- ローカルにキャッシュされている owner バインディング
- 現在の実行境界
- 最終的な認可の真実源は
Oasyce Chain - 実際のオンチェーン検証が接続されるまでは、現在の authoritative status は
not-checkedのまま
ドキュメント、AI アシスタント、または製品フローで、最初に setup / owner-bind / connection-inspect / net-check / runtime-ready を理解するよう求められるなら、それは製品の整理がまだ不十分なのであって、ユーザーの問題ではありません。
8 層のレポートではなく、4 種類のシグナル
PreToolUse は、コンテキストを「すべて詰め込む」ことを目指さなくなりました。現在は、最上位シグナルを最大 3 件だけ出力します。
| カテゴリー | 意味 | 例 |
|---|---|---|
avoid | 最近どこが危険だったか。繰り返さないこと | recent error, low retention |
do next | 現在もっとも信頼できる次のステップ | Read Cargo.toml, then Bash |
maybe also | よくある関連アクション | Edit mod.rs |
context | 上位 3 カテゴリーがすべてない場合にのみ表示されるフォールバック | git history for main.rs |
設計原則:
- デフォルトでは何も表示しません。強いシグナルがなければ、何も言いません。
- 最上位の出力は最大 3 件に抑え、トークンの消費を避けます。
- 同じ session 内で連続する tool calls は自動的に重複排除され、同じ文の再注入を防ぎます。
do nextは session mode に応じて絞り込まれます。explore / reviewのようなオープンエンドな場面で、具体的すぎる次のステップを無理に提示することはありません。- AI に明示的なフィードバックは必要ありません。hook は AI が
avoid / do next / maybe alsoに従ったかを静かに観察し、その結果を後続の重みに反映します。 - payload に
spaceが含まれる場合、学習は同じオブジェクト / 議題内に局所化され、別の space の振る舞いが誤って持ち込まれることはありません。 - 集団の証拠を確認するのは最大 1 回だけで、次のステップを変える可能性が最も高いものを優先します。
- Git history はフォールバックであり、毎回実行される固定レイヤーではありません。
パスが「安定したパス」になる条件
Thronglets は、「うまくいったこと」と「正しくできたこと」を明確に区別するようになりました。
success + compliant:徐々にstable pathへと成長しますsuccess + noncompliant:推奨には格上げされず、mixed residueまたはpolicy conflictに入りますfailure + compliant:failure residueを形成しますfailure + noncompliant:リスク / 競合の残留を強化します
現在のタスクで明示された修正、たとえば「既存のコンポーネントを再利用し、重複して手書きしない」は、そのタスクの lineage に対してのみ強い制約となります。過去に繰り返し見られた好みはソフトな残留として残るだけで、自動的に強い policy に格上げされることはありません。
explore では、コンセンサスによって検索コストを下げることはできても、真理を定義することはできません。低コストで、可逆的かつ非コンセンサスな試行には生き残る余地を残し、既存の安定したパスがあるからといって直接押しつぶすことはありません。
Signal と Trace の境界
Thronglets が扱うのは外部で調整可能な証拠のみであり、内部の高頻度な状態は扱いません。
signal:あるspaceにおいて、別の delegate の次の行動を変えるものtrace:外部のイベントに記録する価値があることを示すもの
一言で言うと:
signal = 他者の次の行動に影響を与えるべきかtrace = この外部の出来事を記録する価値があるか
Signal は次の性質を備えている必要があります。
- 疎である
- 減衰可能である
- デフォルトでは kind ごとに階層化して消失し、長く残る事実ではない
- 行動を目的とする
- 他の agent に役立つ
Trace は次の性質を備えている必要があります。
- 追跡可能である
- 局所的に集約できる
- ID の本体そのものではない
- 後続の signal や summary に利用できる
Session Trace Taxonomy
Thronglets は新しい ID オブジェクトを追加しません。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
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。