🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

模板文档生成 chenjiajungithub/dsh-doc-generator

DeepSeek Harness
chenjiajungithub74 天前有提交已提供中文文档扫描:含敏感能力

按 Word 模板撰写内容并导出同款样式文档

29.3/100
综合分
3
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查有告警:未发布到 npm registry,仅可从源码安装。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add chenjiajungithub/dsh-doc-generator
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · skill
装得上吗
本站已真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 74 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意

未发布到 npm registry,仅可从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-doc-generator(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=18 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/9/22 21:37:59

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 6 处,展示前 6 条)
  • 读取本地文件
    dscg-lib/generate-docx.js:258
    const spec = JSON.parse(fs.readFileSync(specPath, 'utf8'))
  • 写入本地文件
    dscg-lib/generate-docx.js:271
    fs.mkdirSync(path.dirname(path.resolve(outputPath)), { recursive: true })
  • 写入本地文件
    dscg-lib/generate-docx.js:272
    fs.writeFileSync(outputPath, buffer)
  • 读取本地文件
    dscg-lib/parse-template.js:51
    const spec = JSON.parse(fs.readFileSync(specPath, 'utf8'))
  • 读取本地文件
    dscg-lib/parse-template.js:54
    if (!fs.existsSync(templatePath)) return fail(`template not found: ${templatePath}`)
  • 读取本地文件
    dscg-lib/parse-template.js:174
    const data = fs.readFileSync(templatePath)
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按模板撰写内容
  • 导出同款样式文档

DeepSeekharness agent预设模式文档生成助手

README

由 DeepSeek 最新模型翻译生成
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。
展开完整文档(README 剩余 1 节)
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 挂载)的必需项(正是最初挂载失败的原因):
1. export const inject = ['tools'] —— 使用 ctx.tools 前必须声明,否则 Guard 报 cannot get property "tools" without inject;
2. 每个 ctx.tools.register(...) 的工具都必须提供 output: { schema, render };
3. 采用 namespace 导出形态(name / inject / apply,不要 default 导出—— default 会被 Loader.unwrapExports 丢弃,从而丢掉 inject)。

仓库结构

本仓库就是该 preset 目录:把整个仓库拷到你的 agent-presets 根目录即可部署。
composition 与插件都相对本目录解析。

dsh-doc-generator/
├─ agent.cordis.yml # agent-preset 组成(基于标准 preset), │ # 末尾挂载 dsh-doc-generator 行(./index.mjs) ├─ preset.yml # 显示元数据(name/description) ├─ index.mjs # 插件(ESM,namespace 导出:name / inject / apply) ├─ dscg-lib/ │ ├─ parse-template.js # 模板 → { placeholders, outline, styles } │ └─ generate-docx.js # markdown → .docx ├─ package.json # 依赖:docx、mammoth └─ LICENSE # MIT

安装

npm install # 安装 docx + mammoth

npm install 之后,插件的 depsRoot 默认指向仓库根目录,无需额外配置。

作为 DeepSeek Harness agent preset 部署 —— 直接 git clone 指引

本仓库根目录就是该 preset 目录,所以部署 = 把仓库 clone(或拷贝)到 Harness 的用户 preset 根目录,再 npm install。

前置条件

- 一个已启用 agent preset 的 DeepSeek Harness 部署(agent-presets 目录从
${DSH_HOME}/.agent-presets 读取 preset,DSH_HOME 缺省为 ${HOME}/.dsh)。
- Node.js ≥ 18 与 npm(用于安装 docx + mammoth)。
- git(仅当你想要 clone / 保持同步的工作流时需要)。

第 1 步 —— clone

git clone https://github.com/chenjiajungithub/dsh-doc-generator.git
cd dsh-doc-generator # 默认检出 master 分支

第 2 步 —— 安装依赖

npm install

唯一运行时依赖是 docx 与 mammoth。安装后插件的 depsRoot 默认指向检出目录,无需额外配置。

第 3 步 —— 放到 agent-presets 根目录

假设 DSH_HOME=${HOME}/.dsh —— 若你设了其他 DSH_HOME 请相应调整。
cp -R dsh-doc-generator "${DSH_HOME}/.agent-presets/dsh-doc-generator"

不含 git 的替代方式:直接 clone 到 preset 根下的新目录并安装依赖:

mkdir -p "${DSH_HOME}/.agent-presets"
git clone https://github.com/chenjiajungithub/dsh-doc-generator.git \
"${DSH_HOME}/.agent-presets/dsh-doc-generator"
cd "${DSH_HOME}/.agent-presets/dsh-doc-generator" && npm install

第 4 步 —— 在该 preset 上新建会话

在 Web UI 打开 preset 选择器,选择 文档生成助手(Document Generator),然后新建一个会话。会话工具列表应包含 parseTemplate、draftDocument、exportWord。

在已知目录做快速自检:

node --check index.mjs # 插件模块是合法 ESM
node --check dscg-lib/parse-template.js # 辅助脚本是合法 CommonJS
node --check dscg-lib/generate-docx.js

发布后更新

cd "${DSH_HOME}/.agent-presets/dsh-doc-generator"
git pull # 拉取最新 master
npm install # 若 lockfile 有变化则刷新依赖

重要 —— 更新后重启。 Harness Loader 对相对路径插件走 Node ESM import,并按文件 URL 缓存导入结果。若在宿主运行期间修改 index.mjs(或 git pull 到新版本),请重启 Harness,否则会加载到旧模块。

故障排查

| 现象 | 原因 / 处理 |
| cannot get property "tools" without inject | 修复前缓存的旧模块 —— 重启 Harness 进程。 |
| tool ... must declare output { schema, render, presentationMeta? } | 并非运行时配置问题;已发布的插件自带 output —— 确保在最新 master 并已重启。 |
| 模型提示 no provider/model selection available | 会话路由上未配置 DeepSeek provider/model —— 在设置中配置。 |
| exportWord 未产出文件 | 确认模板路径是真实 .docx,且 output 路径可写(或 /out 可写)。 |

配置

挂载行可选 config(默认均合理):

| 字段 | 默认值 | 含义 |
| defaultOutputDir | /out | outputPath 缺省时 exportWord 的输出目录。 |
| depsRoot | | 目录(其下含 node_modules);辅助脚本从这里解析 docx/mammoth/jszip。 |
| helperDir | /dscg-lib | 辅助脚本所在目录。 |

使用示例

对 Agent 说:

请根据 E:\...\template.docx 这个模板,写一份关于「项目周报」的文档,本周重点是完成原型设计和用户测试。

Agent 会依次调用 parseTemplate → draftDocument → exportWord,最后返回类似文档已生成,保存路径为 .../weekly_report.docx。

许可

MIT © 2026 Chen JiaJun。
预览分享卡片长什么样 ↓chenjiajungithub/dsh-doc-generator
分享 · DeepSeek Harness Hub
chenjiajungithub/dsh-doc-generator

按 Word 模板撰写内容并导出同款样式文档

这是你的仓库?认领条目

回到顶部