dsh-api-doc-gen

September 12, 2026 · View on GitHub

DeepSeek Harness plugin(@qingshanjiluo/dsh-api-doc-gen):把粘贴进工具参数的 JavaScript/TypeScript 源码文本解析成 API 大纲或 Markdown 参考文档。解析 JSDoc 块与 // 行注释(@param@returns@deprecated),提取顶层声明的签名、行号、导出状态与类/接口成员。纯文本处理:不读文件、不联网、不起子进程。

安装

npx -y @deepseek-ai/dsh plugin --profile web add @qingshanjiluo/dsh-api-doc-gen

工具

工具参数说明
api_doc_scantext(必填,源码文本)、include_private(可选布尔)输出 API 大纲:每个顶层声明一行 —— 类别(function/class/interface/type/enum/variable)、签名、1 起始行号、export/deprecated/documented 标记、摘要,以及类/接口/枚举的成员签名。
api_doc_previewtext(必填,源码文本)、include_private(可选布尔)渲染完整 Markdown API 参考:按 Functions / Classes / Interfaces / Types & Enums / Variables 分组,含签名代码块、描述、参数表(源码参数与 JSDoc 合并)、返回值与弃用提示;同时返回已渲染的小节标题。

两个工具都是纯函数(isConcurrencySafe),同样的输入永远得到同样的输出。

配置

配置项类型默认值说明
docTitlestring"API Reference"api_doc_preview 生成文档的 H1 标题
includePrivatebooleanfalse是否默认包含未 export 的顶层声明(工具参数 include_private 可按次覆盖)

cordis.patch.yml 已带默认值,安装即生效。

解析边界(有意为之的启发式)

  • 只处理顶层声明;嵌套在函数体内的声明不进大纲。
  • 不逐字符解析正则字面量;极端源码(如正则里出现落单的花括号)可能移位花括号配对。
  • 成员抽取为“签名级”尽力提取(方法 / 字段 / 枚举项),面向文档而非编译器。

开发

npm install --no-audit --no-fund
npm run typecheck      # tsc --noEmit
npm run build          # tsc + tsdown -> lib/
npx vitest run         # 行为测试(无网络 / 无子进程)
node scripts/load-smoke.mjs   # 加载构建产物冒烟

License

MIT