dsh-context-map: Mapping Conversational Context to Hierarchical Information Architecture Diagrams

前言

在 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 仓库。

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

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

Xiaoye