DSH Plugins
返回列表
🖥️

dsh-tool-protobuf

客户端 更新于 2026.10.02

在终端中运行以下命令:

dsh plugin install yuehancn/dsh-tool-protobuf

将以下提示词粘贴到 DeepSeek Harness 对话框中:

在 DeepSeek Harness 中执行 dsh plugin install yuehancn/dsh-tool-protobuf 即可安装该插件(源码:https://github.com/yuehancn/dsh-tool-protobuf)。

插件介绍

在 Agent 或日常协作里,处理 .proto 往往是在读定义、核对变更、查字段号是否可用,而不是立刻编译生成代码。真正需要的是「这份文件里有什么」「两个版本差在哪」「这个编号还能不能用」——而 protoc 只回答能不能编译,还依赖本机是否装了完整工具链。dsh-tool-protobuf 在进程内解析 .proto 语法,不依赖 protoc、Python 或外网,让你在对话里就能完成这类审阅工作。

插件提供六类能力:查看工作目录下的 .proto 与 protoc 是否可用;单文件结构大纲;单条 message 或 service 的字段、编号与 RPC 细节;两版差异并按破坏性、风险与纯增量分类;发现编译器仍会放过的实践陷阱;以及查询可用字段号或判断某个号是否安全。其中 protobuf_diff 尤其针对 protobuf 的硬规则——线上数据按字段编号解码,改名不改号通常无害,改号、删号不保留、同号改类型却可能在旧数据上静默错位;差异结果会点明后果,而不只是罗列符号变化。

protobuf_audit 则补上一块编译器管不到的盲区:例如高位字段号之下出现空洞,往往意味着有人删了字段却没 reserved,下次复用同一编号就是埋雷。解析器不与 protoc 抢「生成代码」的活,也不猜跨文件类型——import 只记名字,外部类型标为不可解析,避免臆造定义;diff 也是两个文件路径对读,而不是整棵目录树。

适合在 CI 或本机暂时没有 protoc、仍要在 PR 与聊天里审 schema 的开发者,以及用 AI 辅助读 proto、做兼容性评审的团队。需要 descriptor、代码生成或线级编解码时,应另行调用真正的 protoc;本插件专注把「读清楚、比清楚、审清楚」留在对话与工作目录边界之内。

使用场景

  • PR 里对比两个版本的 .proto,判断变更是否破坏线上兼容
  • 在 Agent 对话中快速查看 message 字段编号与 RPC 定义
  • 删改字段前检查编号是否保留、下一个可用字段号是多少

适合人员

  • 维护 gRPC/Protobuf API 的后端工程师
  • 在 CI 或远程环境缺少 protoc 仍需审 schema 的团队
  • 用 AI 辅助读 proto、做兼容性评审的开发者