chenjiajungithub/dsh-doc-generator ↗★ 1
dsh-doc-generator
基于 Word 模板智能生成规范文档的 DeepSeek Harness Agent preset / 插件。A DeepSeek Harness agent preset that generates compliant documents from Word (.docx) templates via an LLM.
安装
此插件尚未提供可验证的 bundle,或兼容性检查未通过。请先阅读仓库说明。 阅读完整 README ↗
说明文档
阅读完整 README ↗dsh-doc-generator
一个 DeepSeek Harness agent preset:根据 Word (.docx) 模板,调用大模型撰写 内容,并输出继承模板样式的标准 .docx 文档。
English version: README.md
功能
给定一个 Word 模板(如 template.docx),该 preset 为 Agent 提供三个工具,端到端
完成「解析模板 → AI 撰写 → 导出 Word」:
| 工具 | 签名 | 作用 |
|---|---|---|
parseTemplate | parseTemplate(templatePath) | 解析一个 .docx:提取占位符({{title}}、{{author}}…)、大纲结构(标题层级/段落/列表)以及继承的样式规则(默认字体/字号)。 |
draftDocument | draftDocument(requirements, contentPoints, writingStyle?) | 调用当前配置的 DeepSeek 模型,按“结构要求 + 内容要点”生成完整、符合规范的 Markdown。 |
exportWord | exportWord(content, templatePath?, outputPath?) | 将 Markdown 应用模板样式渲染成新的标准 .docx。 |
典型流程:
parseTemplate(template.docx) ─► { placeholders, outline, styles }
│
draftDocument(requirements, "本周重点是原型设计与用户测试") ─► Markdown
│
exportWord(markdown, template.docx) ─► weekly_report.docx
为什么这样实现
DeepSeek Harness 的插件代码无法在自己的模块作用域内 require 第三方包,因此所有
OOXML 读写都被委托给随 preset 分发的两个 Node 辅助脚本(位于 dscg-lib/):
dscg-lib/parse-template.js— 读取模板并输出结构化 JSON。dscg-lib/generate-docx.js— 把 Markdown 渲染为 .docx。
插件通过 harness 的 shell 服务调用 node,用 fs 服务写入临时 JSON 规格文件;
draftDocument 复用 harness 的 llm 流式接口调用 DeepSeek 模型。
因为插件只向 host tools 注册工具、不发布任何服务,其挂载行在 preset 里作为松散
行存在(同 tool-fs / tool-web),不需要 isolate realm。
常规 Cordis 插件(经 Loader 挂载)的必需项(正是最初挂载失败的原因):
export const inject = ['tools']—— 使用ctx.tools前必须声明,否则 Guard 报cannot get property "tools" without inject;- 每个
ctx.tools.register(...)的工具都必须提供output: { schema, render };