dsh-context-map:把對話上下文畫成分層信息架構圖

前言

在 DeepSeek Harness(DSH)裏跑長會話時,真正值得留檔的內容往往散在上下文裏:爲什麼改方向、最終拍板是什麼、哪些事還沒定、產物落在哪個路徑。事後翻聊天記錄成本高,截圖又缺少層級關係。常見做法是手寫大綱或另開文檔整理,但和 agent 實際討論過程容易脫節。

dsh-context-map 是社區維護者 gavinff1990 發佈的 DSH 工作流類插件(SkillHub 分類:工作流)。它爲 agent 提供工具 context_map:由模型把對話蒸餾成節點,插件負責校驗、佈局與渲染,輸出左→右推進的分層結構圖,而不是放射狀思維導圖。一次調用可同時得到 SVG、交互式 HTML、Mermaid Markdown 與可再渲染的 JSON。

這是什麼

插件全名 dsh-context-map,當前 README 標註版本 0.3.0,許可證 MIT,零運行時 npm 依賴;要求 Node.js ≥ 20,DSH 兼容範圍爲 >=0.2.0-rc.1 <0.3.0-0(見 package.json)。它不聯網、不讀會話日誌、不帶 API key,只在用戶或 agent 指定的輸出目錄寫入產物。

目錄頁:https://www.skillhub.cn/plugins/gavinff1990/dsh-context-map
源碼:https://github.com/gavinff1990/dsh-context-map

核心功能

工具入口

工具 作用
context_map 根據 title、nodes 等參數生成架構圖並寫入文件
session_facts 基於本會話 tools/result 彙總真實讀寫的文件、執行過的命令與失敗記錄,供節點引用路徑時使用

節點上限 300,跨分支 links 上限 150。八種語義類型(kind)各有固定配色:目標、背景、決策、動作、產物、風險、待確認、備註;狀態可標 done / active / planned / blocked。

四種產物

默認輸出目錄爲 .dsh-context-map(建議 agent 傳絕對路徑的 outDir):

.dsh-context-map/context-map.svg     # 矢量圖,可貼文檔
.dsh-context-map/context-map.html    # 離線 HTML,可縮放、搜索、按類型篩選
.dsh-context-map/context-map.md      # Mermaid flowchart + 大綱,適合 PR / wiki
.dsh-context-map/context-map.json    # 數據層,供後續修訂

同一份輸入經確定性佈局,重建結果字節一致,可納入 git。跨分支依賴在圖中用虛線繞右緣繪製,不穿過卡片。

修訂已有圖

首次生成會落 JSON。下次可傳 update 指向上一次的 <slug>.json,插件對比新舊節點:新增帶 + 角標,修改帶 ~,刪除列入 Markdown 變更段;修訂號遞增,HTML 可只顯示本輪變更。

命令行(可選)

同一渲染器可脫網用於 CI 或校樣:

node bin/cli.js examples/spec.json --out docs
node bin/cli.js examples/spec.json --json
echo '{"title":"t","nodes":[{"label":"root"}]}' | node bin/cli.js -

安裝與啓用

環境需要:已安裝帶 dsh plugin 的 DeepSeek Harness、Node.js ≥ 20,且 pnpm 在 DSH 進程的 PATH 上(插件安裝由 pnpm 執行)。

npm install -g pnpm

dsh plugin --profile web add dsh-context-map

其它裝法(摘自 README):

方式 命令
從 GitHub 指定 tag dsh plugin --profile web add github:gavinff1990/dsh-context-map#v0.1.0
從 git 倉庫 dsh plugin --profile web add git+https://github.com/gavinff1990/dsh-context-map.git
本地源碼 dsh plugin --profile web add /absolute/path/to/dsh-context-map

裝完確認合成配置裏出現掛載點:

dsh --profile web --dump-config | grep -A1 context-map

預期可見 id: context-map 與 name: dsh-context-map。

典型用法

1、在會話裏一句話觸發

中英文均可,例如:

把這次討論畫成上下文架構圖。
給我一張這個項目的信息架構圖,標出風險和還沒定的事。

agent 調用 context_map 整理節點並渲染。若需固定位置,可說明「放到 docs/ 下」。

2、需要真實路徑時先查 session_facts

session_facts()
session_facts({ scope: "files" })
session_facts({ clear: true })

再用返回的 path 填寫 artifact 或 action 類節點,減少憑記憶寫錯路徑。

3、增量更新

context_map({ title: "...", update: "docs/context-map/context-map.json", nodes: [...] })

4、參數要點(節選)

參數 說明
title 必填,圖標題
nodes 必填,節點數組;每項至少 label,可選 kind、detail、parent、id、status
outDir 輸出目錄,默認 .dsh-context-map
formats svg / html / md / json 子集,默認全開
theme light / dark / auto
locale zh / en,默認 zh

README 中「什麼場景用」表格列舉了項目復盤、技術選型、PR 說明、需求拆解、事故復盤等問法與圖上會出現的內容類型,可按需選用。

適用場景與注意

適合需要在會話結束後把討論結構固化進文檔、PR 或 wiki 的 DSH 用戶。HTML 產物支持鍵盤快捷鍵搜索縮放、圖例篩選與 A3 打印;Mermaid 便於在代碼評審裏 diff 結構變化。

安裝與運行前請注意:

  1. 插件以當前 DSH 進程權限寫工作區(默認僅寫入模型指定的 map 目錄);安裝前應自行查看 GitHub 源碼與 MIT 許可證,確認符合團隊安全策略。
  2. 插件顯式拒絕向文件系統根目錄、~/.dsh、~/.ssh、~/.aws 等位置寫入。
  3. SkillHub 社區目錄爲獨立站點,與 DeepSeek / 幻方無官方從屬關係;星標等統計以各站點實時數據爲準。
  4. Desktop profile 的安裝方式與 web profile 不同,若使用 Electron 版 DSH,需參閱 README「安裝詳解與排錯」中的桌面版說明。

結尾

dsh-context-map 補齊 DSH 生態裏「把對話變成可維護結構」的一步:校驗、分層佈局、多格式導出與 JSON 修訂鏈在同一條工具鏈裏完成。若要瀏覽插件摘要或跟蹤更新,可訪問 SkillHub 目錄頁 與 GitHub 倉庫。

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

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

小夜