航图:把会话里的真实步骤变成可复用技能

前言

每次要完成重复的任务,比如发布插件、跑数据库迁移、把设计稿切回项目,都得重新摸索一遍命令,试错半小时,才想起来上回是怎么做的。而在上一次会话里,这套动作其实已经真的跑通了——命令执行成功了,测试过了,构建过了,只是它跟着聊天记录一起滚走了。

航图负责把它捡回来。打开一个聊过天的会话,点「航图」标签,它从会话日志里挑出真正跑通的步骤、真正通过的验证、最后改好的文件和踩过的坑,写成一份 SKILL.md——就是 DeepSeek Harness 能直接加载的技能文件。存进技能库之后,下次遇到相似任务,Harness 会带着这份经验开工。不额外调用模型,不猜内容,草稿里每一条都能对回那次会话里的一条事件。

是什么

航图(dsh-chart)是 DeepSeek Harness 的一个工作流插件,由 xh0915 维护。它把一次会话里真实执行过的命令、通过的验证、改动的文件和失败记录,整理成一份可保存的 SKILL.md 技能草稿。草稿只包含日志里确实发生过的内容,不编造步骤,不把失败的检查算作验证,也不掩盖失败。技能保存到 DSH 扫描的用户技能目录,之后可以在新会话中直接使用。

核心功能

从会话日志中提取真正执行成功的命令作为步骤,提取真正通过的检查命令作为验证,记录编辑或写入成功的文件及其修改次数,记录失败命令作为「踩过的坑」。同一命令多次执行会合并成一条。编辑或写入成功的文件会进入「改过的文件」列表。会话中的系统信息、终端、包管理器、git 使用情况、工作区路径等也会被收集。所有内容均从日志中数出来,没有估算值。

草稿生成后可以在界面逐行检查、逐段删改。可以单独开关步骤、验证、文件、踩坑、开始之前、目标等模块。手改之后草稿不再自动刷新,点击「重新生成」会提示覆盖手改内容。保存时弹窗会显示具体写入路径、备份位置以及脱敏信息。技能名默认使用文件夹名,航图会自动挑一个未被占用的名字。

安装与启用

需要 Node.js 22.19+ 或 24+,以及 DeepSeek Harness 0.1.0-rc.6 或更高版本。

git clone https://github.com/xh0915/dsh-chart
cd dsh-chart
pnpm install
pnpm run build
dsh plugin --profile web add .

重启 Web Harness,打开一个聊过天的会话,顶部会出现「航图」标签。

注意:pnpm run build 必须在 add 之前执行。这个包没有安装期构建脚本(pnpm 10 会拦下未批准的 prepare),跳过这一步插件会「装上了却加载不出来」。

卸载:

dsh plugin --profile web remove dsh-chart

配置

插件支持在 DSH 配置文件中设置:

dsh-chart:
  redactSecrets: true   # 内容进入页面前遮住密钥(默认)
  maxSteps: 30          # 最多保留多少条可用步骤,范围 5–200

成功命令超过上限时,草稿按顺序保留前 maxSteps 条,并提示「有内容被省略」。验证、踩坑、改动文件各有固定上限(12、12、24 条),到顶时会标注。

技能保存位置

技能保存到 DSH 扫描的用户技能目录:

~/.dsh/skills/<名字>/SKILL.md          # 默认位置
$DSH_HOME/skills/<名字>/SKILL.md       # 设置了 DSH_HOME 时

航图不会写到别的目录,也不会写出半截文件:内容先写进临时文件,再整体改名到位。

隐私与安全

会话中经常包含密钥、令牌和邮箱。所有清理都在你的电脑上、内容进入页面之前完成。私钥块、JWT、各类 API 密钥、Bearer 头、网址中的账号密码、api_key = … 这类赋值、邮箱地址,统一替换成 «已脱敏»。页面会告诉你遮住了多少处、涉及哪几类,但不显示被遮住的内容。保存时还会再脱敏一遍,所以即使手动改过,也不会把密钥又带回去。

只是「长得像密钥」的东西不动:process.env.X、${模板变量}、foo.bar.baz、ALL_CAPS_CONSTANTS,以及很短的字符串。

内容不会上传。插件通过 Harness 自带的 sessionQuery 读取当前会话,只往技能目录里写文件。

它不会做的事

  • 不编内容:不从模型的描述里推断步骤,只认日志里真实执行过的动作。
  • 不把没通过的检查算成验证:失败过的测试、lint 不会出现在验证一节。
  • 不掩盖失败:没有报错原文的失败仍然计入次数,但不会编一句话塞进技能里。
  • 不动预设:只写 DSH 真正会扫描的用户技能目录,预设自带的文件夹不碰。
  • 不联网:不调用模型、不执行命令、不做统计上报,只是把你自己的会话数据摆出来。
  • 不给费用数字:日志里没有价格,插件不猜。

适用场景

适合经常需要重复执行一套命令流程的开发者,特别是需要发布插件、跑数据库迁移、切设计稿等任务。使用时请确保当前 dsh 进程有足够的权限读写技能目录,并在安装前检查源码与许可证。

总结

航图把一次会话里跑通的真实步骤,整理成一份下次能直接用的技能草稿。它只记录日志里确实发生过的内容,不编造步骤,不把失败算作验证,也不掩盖失败。技能保存到 DSH 扫描的用户技能目录,之后可以在新会话中直接使用。它通过 Harness 的 sessionQuery 读取当前会话,所有脱敏都在本地完成,内容不会上传。

目录页:https://www.skillhub.cn/plugins/xh0915/dsh-chart
GitHub:https://github.com/xh0915/dsh-chart

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

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

Xiaoye