前言¶
DeepSeek Harness (DSH) 采用插件化架构,支持运行时动态加载能力。在维护代码时,git blame 能告诉我们一行代码是谁写的、何时提交的,但往往无法解释“这段代码具体做什么”以及“为什么要存在”。dsh-backstory 插件通过整合 Git 历史记录与智能体的会话历史,为任意一行代码提供其“背景故事”(Backstory),即它做什么以及为什么在这里。
插件简介¶
- 名称:
dsh-backstory - 维护者: MeghanBao
- 分类: 联网工具
- 许可: MIT
- 定位: 一个 DeepSeek Harness 插件,用于通过 Git 和会话历史解释代码的意图。
核心功能¶
该插件主要提供以下能力:
1. 代码意图解释: 询问任意代码行的功能及存在理由。
2. 历史追溯: 将代码行追溯到具体的提交信息、作者和日期。
3. 智能体溯源: 对于由智能体(DSH 进程)编写的代码,重建其编写时的轮次和提示词(dsh-native origin)。
4. 持久化账本: 将所有写入或编辑记录到 .dsh/backstory.l 账本文件中。
5. 防漂移归属: 通过内容哈希(content hash)匹配行内容,确保代码行移动后仍能找到归属。
6. Git 提交尾注: 支持通过 Git 提交尾注(commit trailers)进行溯源。
7. 敏感信息脱敏: 自动从提示词中删除常见的密钥和令牌。
安装与启用¶
在已安装 DeepSeek Harness 的环境中,执行以下命令安装插件:
dsh plugin add dsh-backstory
使用方法¶
插件提供 /backstory 命令以及自然语言交互接口。
- 指定文件与行号:
/backstory src/auth.ts:40-60
/backstory utils/date.ts
- 自然语言提问:
智能体会使用内置的backstory工具来回答,例如:- “what’s the backstory of
src/auth.tsline 88?” - “explain
utils/date.tslines 10–40 and why each part is there”
- “what’s the backstory of
注意事项¶
- 脱敏机制: 敏感信息(如 API keys, tokens)的移除是尽力而为的模式匹配,并非绝对保证,敏感数据仍建议在提交前人工检查。
- 运行环境: 插件以当前 DSH 进程的权限运行,请确保对源码仓库有读取权限。
- 非 Git 环境: 如果不在 Git 仓库中,插件会优雅降级为仅返回源码行。
- 禁用功能: 如果不想记录智能体轮次,可以通过环境变量禁用:
DSH_BACKSTORY_DISABLE=1
总结¶
dsh-backstory 通过将代码行的功能解释与其 Git 历史及智能体编写历史相结合,解决了“代码为何存在”的疑问,适合在代码审查、快速上手或维护遗留代码时使用。