dsh-backstory: 追溯代码行的“前世今生”

前言

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 命令以及自然语言交互接口。

  1. 指定文件与行号:
    /backstory src/auth.ts:40-60
    /backstory utils/date.ts
  1. 自然语言提问:
    智能体会使用内置的 backstory 工具来回答,例如:
    • “what’s the backstory of src/auth.ts line 88?”
    • “explain utils/date.ts lines 10–40 and why each part is there”

注意事项

  • 脱敏机制: 敏感信息(如 API keys, tokens)的移除是尽力而为的模式匹配,并非绝对保证,敏感数据仍建议在提交前人工检查。
  • 运行环境: 插件以当前 DSH 进程的权限运行,请确保对源码仓库有读取权限。
  • 非 Git 环境: 如果不在 Git 仓库中,插件会优雅降级为仅返回源码行。
  • 禁用功能: 如果不想记录智能体轮次,可以通过环境变量禁用:
    DSH_BACKSTORY_DISABLE=1

总结

dsh-backstory 通过将代码行的功能解释与其 Git 历史及智能体编写历史相结合,解决了“代码为何存在”的疑问,适合在代码审查、快速上手或维护遗留代码时使用。

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

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

小夜