dsh-agent-context-hub:多 Agent 會話索引與共享上下文板

前言

在 DSH、Codex、Claude Code、Trae 之間切換時,常見情況是:上一輪在某個 agent 裏定過的方案,換工具後只能憑記憶或翻各自目錄裏的會話文件;同一倉庫被多個 agent 輪流改,歷史散在不同路徑;遠程機器上的 Codex 會話在本機列表里根本看不到。結論若只留在某次聊天裏,下一個 agent 往往只能猜。

下面介紹 DSH 插件 dsh-agent-context-hub(面板名「上下文中樞」)。它把本機各 agent 的會話歷史合併成一份只讀索引供 DSH 使用,並提供一塊所有 agent 都能讀寫的共享上下文板,讓「誰在哪個項目上做過什麼、當時怎麼定的」在同一時刻對齊。

這是什麼

  • 包名:dsh-agent-context-hub,DSH bundle + Web 客戶端面板。
  • 維護者:GitHub 倉庫 Sirius-rocco/dsh-agent-context-hub(作者 wuqi,許可證 MIT,當前 package 版本 1.1.0)。
  • 定位:跨 agent 會話索引 + 只追加的共享上下文 + CLI/HTTP 可編程接口;索引版本 INDEX_VERSION = 5。磁盤與 HTTP 契約見倉庫內 CONTRACT.md,給 agent 用的說明見 SKILL.md。

默認數據目錄爲 ~/.dsh/agent-context,可用環境變量 DSH_AGENT_CONTEXT_HOME 覆蓋。

核心功能

插件能力可歸納爲三塊,共用同一份數據目錄。

跨 agent 會話索引

只讀索引,按項目(cwd)分組。列表行帶來源 agent 徽標(Codex / Claude Code / DSH / Trae / 通用接入)與時間;搜索可命中標題、項目、首條人類提問、會話 ID。遠程 Codex 會話在索引裏只有元數據,點開正文時才通過 SSH 讀取;Trae 適配器索引本地落盤的記憶摘要(每回合 intent / outcome / learned 及 topics.md),行上標「摘要」,正文頁會說明原文不在本機。

當前 README 列出的數據來源包括:

來源 本機路徑(摘要) 正文完整度
codex ~/.codex/sessions/**/rollout-*.jsonl 完整,按需讀
claude-code ~/.claude/projects/<slug>/<uuid>.jsonl 完整,按需讀
dsh ~/.dsh/sessions/**(多幀 zstd) 完整,按需讀
trae ~/.trae-cn/memory/projects/... + workspace 反查 cwd 僅摘要
inbox ~/.dsh/agent-context/inbox/*.jsonl 取決於寫入方

入口:面板「會話」標籤頁、GET /agent-context/api/list、node lib/cli.mjs list。

共享上下文板

只追加的 shared.jsonl,條目類型爲 decision / handoff / task / note,可帶 tags 與 refs,任意 agent 可讀。digest 把共享板壓成一段 Markdown,便於貼進新會話,減少人肉轉述上一輪結論。

入口:面板「共享上下文」、GET|POST .../shared、cli context / cli share / cli digest。

可編程接口

CLI 與 HTTP 是同一份數據的兩個出口(面板走 HTTP,前綴 /agent-context/api,本機 Web 端口示例爲 56842)。agent 可按 SKILL.md 自行查舊會話、寫回共享板。

注意:shared.jsonl 是唯一不可通過重掃重建的數據;刪 index.json 後執行 scan 可重建索引。

安裝與啓用

插件以 DSH bundle 形式安裝。前提:Node ≥ 22.15(DSH 適配器用 zlib.zstdDecompressSync 解多幀 zstd;Node 20 上該來源會被跳過並在 warnings 中說明)。

有 dsh 啓動器(推薦)

本地路徑安裝(路徑按本機實際修改):

dsh plugin add "C:\path\to\agent-context-hub"

市場發佈後也可按倉庫地址安裝(見倉庫 docs/MARKET.md):

dsh plugin add github:<owner>/dsh-agent-context-hub

沒有 dsh 在 PATH 上

可在 DSH 會話中讓 agent 通過插件管理器安裝本地插件,或合併 profile 的 package.json(勿整體覆蓋),例如:

{
  "dependencies": {
    "dsh-agent-context-hub": "link:C:/path/to/agent-context-hub"
  },
  "dsh": {
    "profile": {
      "bundles": ["dsh-agent-context-hub"]
    }
  }
}

profile 目錄一般爲 ~/.dsh/profiles/<profile>/。改完保存並刷新 DSH 頁面。

裝完後的驗證

  1. 刷新頁面(F5)。client.js 由 host 在加載時注入,不刷新可能看不到側欄圖標。
  2. 確認 host 存活:
curl.exe -s http://127.0.0.1:56842/agent-context/api/ping

期望返回形如 {"ok":true,"at":"...","name":"agent-context-hub"}。
3. 觸發首次掃描(在插件目錄或已 link 的環境中):

node lib/cli.mjs scan

典型用法

面板

側欄進入「上下文中樞」:

  • 會話:左列按項目分組,搜索框匹配標題、項目、首條提問、會話 ID;右側按消息分段,工具輸出可摺疊。遠程會話點開時才拉正文。
  • 共享上下文:按類型與 agent 過濾、關鍵詞搜索,可「+ 寫入」決策或交接。

CLI

在插件倉庫根目錄執行(Windows 示例與 README 一致):

node lib/cli.mjs scan
node lib/cli.mjs list --limit 5
node lib/cli.mjs show --id dsh:7f8730e6-82cd-4f06-b046-0e03bd037ec1
node lib/cli.mjs stats
node lib/cli.mjs share --title "索引改爲按內容摘要" --body "..." --kind decision --tags index,search
node lib/cli.mjs context --q 索引 --limit 10
node lib/cli.mjs digest --limit 5
node lib/cli.mjs paths

不傳子命令時等價於 list。退出碼:0 成功,1 失敗,3 無結果(空搜索也算正常,便於腳本判斷)。

查看實際數據路徑:

$env:DSH_AGENT_CONTEXT_HOME = "D:\agent-context"
node lib/cli.mjs paths

HTTP(節選)

方法 路徑 用途
GET /agent-context/api/ping 存活探針
GET /agent-context/api/list 會話列表(refresh=1 強制重掃)
GET /agent-context/api/shared 共享上下文列表
POST /agent-context/api/shared 寫入一條共享上下文
GET /agent-context/api/digest 共享板導出 Markdown
GET /agent-context/api/transcript?id=<agent:id> 單會話正文

適用場景與注意

適合誰:經常在 Codex、Claude Code、DSH、Trae 之間切換、又需要在同一項目 cwd 下對齊歷史與決策的開發者;需要把遠程 Codex 元數據納入本機索引、或把 Trae 本地摘要納入檢索的場景。

使用前請知悉:

  • 插件隨當前 DSH 進程權限運行,安裝前應自行審閱源碼與 MIT 許可證。
  • DSH 社區插件目錄站點 skillhub.cn 與 DeepSeek / 幻方無官方從屬關係;生態理念是「一切皆插件」,本文事實以倉庫 README 與 package.json 爲準。
  • Codex 的 session_index 可能存在「僅有索引記錄、無本地或遠程 rollout」的會話,正文不可讀;README 掃描輸出中有相應 warning 示例。
  • 定時同步等運維細節見倉庫腳本與文檔(如 npm run sync 對應 node lib/cli.mjs scan --quiet)。

結尾

dsh-agent-context-hub 把多 agent 會話收成一份可搜索索引,並用共享板固定跨 agent 的 decision / handoff,換工具時上下文不必再從零拼接。目錄頁:https://www.skillhub.cn/plugins/Sirius-rocco/dsh-agent-context-hub;源碼與完整說明:https://github.com/Sirius-rocco/dsh-agent-context-hub。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜