gongwen-skill 2.10.0 → 2.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -1
- package/README.md +68 -28
- package/SKILL.md +20 -13
- package/dsh/client.js +451 -190
- package/dsh/index.js +359 -299
- package/engine/core/document/modifier.py +1 -1
- package/engine/core/rules/checker.py +1 -1
- package/engine/fact_check.py +4 -4
- package/engine/handoff.py +1 -1
- package/etc/dsh-config-defaults.json +1 -1
- package/gongwen/__init__.py +1 -1
- package/gongwen/_legacy.py +4 -4
- package/gongwen/cli/content_cmds.py +1 -1
- package/gongwen/cli/helpers.py +1 -1
- package/package.json +9 -5
- package/presets/agent.cordis.yml +238 -0
- package/presets/preset.yml +3 -0
- package/prompts/usage-prompts.md +1 -1
- package/pyproject.toml +5 -1
- package/requirements.txt +3 -1
- package/rules/official/_common.yaml +5 -5
- package/rules/official/host_speech.yaml +127 -0
- package/rules/official/news.yaml +2 -2
- package/rules/official/speech.yaml +78 -15
- package/.dsh/skills/gongwen-skill/SKILL.md +0 -2958
- package/.dsh/skills/gongwen-skill.md +0 -2958
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,46 @@
|
|
|
4
4
|
Licensed under the MIT License. See the LICENSE file for details.
|
|
5
5
|
-->
|
|
6
6
|
|
|
7
|
+
## v2.12.0 (2026-09-08)
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
- **DSH Agent 预设「公文全流程处理专家」**:新增 `presets/`(`preset.yml` + `agent.cordis.yml`),`dsh/index.js` 在 apply() 时自动安装到 `~/.dsh/.agent-presets/gongwen-skill/`,DSH Web 新建会话可直接切换到该预设开箱即用;内置公文专家 Persona(25 类能力、A/B/C/D/E 路径判定、硬性规则)、完整工具链(fs/shell/jobs/skills/goals/planning/compaction/delegation);已验证 roster 识别 + standingKeyFor 挂载通过
|
|
11
|
+
- **DSH 设置平级菜单「文档样式配置」**(取代原「插件配置 → gongwen-skill」卡片):
|
|
12
|
+
- `dsh/client.js`:新增 `settings.section` 注册(id=`gongwen-styles`,order=20,label=`文档样式配置`),在「系统设置」侧边栏与通用设置/模型/插件平级;页面含默认公文类型下拉(25 种)与完整排版参数(39 字段);移除原 `settings.plugin.item` 卡片注册
|
|
13
|
+
- `dsh/index.js`:`GONGWEN_GUIDANCE` 入口描述同步为「系统设置 → 文档样式配置」
|
|
14
|
+
- README DSH 章节同步(配置入口、兼容性自查表、架构边界说明)
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
- **DSH 插件瘦身(架构边界回归「CLI 唯一业务入口」)**:移除设置面板中的「模板样式管理」与「通过文档新增样式模板」两个 GUI 区块及其配套的 host webServer 路由(`/plugins/gongwen/api/*`,约 580 行)——模板学习/管理回归 CLI(`style-learn`/`style-list`/`template`),设置面板只保留 39 字段排版参数配置;`dsh/index.js` 891→617 行、`dsh/client.js` 781→475 行,不再依赖 webServer 基础设施
|
|
18
|
+
|
|
19
|
+
### Compatibility
|
|
20
|
+
- **DSH 宿主版本要求:支持 DSH ≥ 0.1.2-rc.1**。本版 DSH 插件改用官方 `settings.section` 平级菜单 + `ctx.tools.register(defineTool(...))` API,需要宿主提供对应服务;**旧版宿主(installSettingsSection 时代)不兼容**——升级 DSH 到 ≥ 0.1.2-rc.1,或改用纯 Skill 文件系统方式(方式一,无需 DSH 插件)。
|
|
21
|
+
- **peer 适配(以 DSH 0.1.2-rc.1 开发环境为准)**:`@deepseek-ai/dsh-client-ui-settings-plugins` 下限由 `>=0.1.3-alpha.1` 下调至 `>=0.1.2-rc.1`——`settings.section` 在 0.1.2-rc.1 已提供,原下限是 `settings.plugin.item` 时代(v2.11.0)遗留;实测与开发环境安装的 0.1.2-rc.1 匹配,其余 peer(cordis ≥4 / dsh-tools ≥0.1.0 / schemastery ≥3.18.0)均满足
|
|
22
|
+
- 设置命名空间内嵌排版参数与 `~/.gongwen-skill/dsh-config.json` 双向同步:首次加载自动迁移旧配置(仅当设置面板尚无用户覆盖时)。
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## v2.11.0 (2026-09-06)
|
|
27
|
+
|
|
28
|
+
### Added
|
|
29
|
+
- **区分主持词/讲话稿两种朗读件类型**:新增 `host_speech`(主持词)规则文件 `rules/official/host_speech.yaml`;`list-types` 现支持 25 种类型;`-t` 类型识别:`主持词` → `host_speech`、`讲话稿` → `speech`
|
|
30
|
+
- **GitHub Packages scoped 发布**:publish-npm 发布 `@linhut/gongwen-skill` 到 `npm.pkg.github.com`(GitHub Packages 仅支持 scoped 包;原非 scoped 名 E404)
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
- **针对 DSH 新版本(官方最新版 DeepSeek Harness / Bluebook · Developer Guide)进行 DSH 插件优化整改**(仅 DSH 部分,skill 功能不变):
|
|
34
|
+
- `dsh/index.js`:修复 ESM 环境下 `require("schemastery")` 导致的设置面板注册静默失败(改为官方 `import Schema from "@deepseek-ai/schemastery"`);新增官方模型工具注册 `ctx.tools.register(defineTool({...}))`(工具名 `gongwen`,schema 自动流入系统提示词);settings 改用官方 `ctx.settings.register("gongwen-skill", schema)` + `scope.watch` 回写 `~/.gongwen-skill/dsh-config.json`(保留 CLI 兼容,首次加载自动迁移旧配置);移除自建 REST API 路由(WebRoute 官方定义无 `method` 字段,配置读写改由官方 settings 桥承担);`inject: ["tools"]` 硬依赖 + systemPrompt/settings/skills 可选服务容错
|
|
35
|
+
- `dsh/client.js`:配置面板迁移至官方 `settings.plugin.item` keyed slot(命名空间 `gongwen-skill`),经 `ctx.settingsScope` 读写官方 settings 文档(revision 设栅);样式改用 `--dsw-alias-*` 语义 token,去除硬编码颜色
|
|
36
|
+
- `package.json`:`dsh.client.inject` 收敛为官方 `@deepseek-ai/dsh-client-ui-settings-plugins`(提供 `settings.plugin.item` slot 声明);新增 peerDependencies(`@deepseek-ai/cordis`/`@deepseek-ai/dsh-tools`/`@deepseek-ai/schemastery`/`@deepseek-ai/dsh-client-ui-settings-plugins`)
|
|
37
|
+
- README DSH 章节同步(兼容性自查表新增官方 API 对照行、架构边界补充模型工具与设置卡片说明、配置化章节说明双向同步)
|
|
38
|
+
- **讲话稿(speech)规则按筹委会最终版定稿更新**:页边距改国标默认(上3.7/下3.5/左2.8/右2.6cm);正文改为仿宋_GB2312 18pt 不加粗、行距 30pt;一级标题黑体 18pt、二级标题楷体_GB2312 18pt;署名/日期改楷体_GB2312 18pt 居中、行距 35pt
|
|
39
|
+
- **主持词(host_speech)新增独立样式**:页边距沿用普通公文(2.8/2.8/2.7/2.7cm);标题 24pt/35pt;主持人信息/日期楷体_GB2312 18pt 居中、行距 30pt;正文 18pt 不加粗、行距 30pt,议程引导句可局部加粗
|
|
40
|
+
- **README/SKILL 同步**:类型数 24→25、讲话稿/主持词分别列出样式说明与差异
|
|
41
|
+
|
|
42
|
+
### Fixed
|
|
43
|
+
- **GitHub Packages E404**:非 scoped 包名无法发布到 GitHub Packages(v2.1.0~v2.10.0 均受影响);现发布前 `npm pkg set name="@linhut/gongwen-skill"` 再 publish,并关联回本仓库
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
7
47
|
## v2.10.0 (2026-09-04)
|
|
8
48
|
|
|
9
49
|
### Added
|
|
@@ -50,7 +90,6 @@
|
|
|
50
90
|
|
|
51
91
|
### Notes
|
|
52
92
|
- 工具链仅支持 OOXML .docx;旧版 .doc(OLE2/WPS)需经 WPS COM `SaveAs(dst, 12)` 转换后使用(README/SKILL 已注明)
|
|
53
|
-
- 正式发布流程:见 RELEASE.md(一键 bump + 三 remote 推送触发 CI 自动发布)
|
|
54
93
|
|
|
55
94
|
## v2.8.0 (2026-09-03)
|
|
56
95
|
|
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@ Licensed under the MIT License. See the LICENSE file for details.
|
|
|
28
28
|
|
|
29
29
|
| 能力 | 命令 | 说明 |
|
|
30
30
|
|------|------|------|
|
|
31
|
-
| 📋 列类型 | `list-types` | 列出
|
|
31
|
+
| 📋 列类型 | `list-types` | 列出 25 种支持的公文类型(新增主持词 host_speech;含新闻稿/讲话稿) |
|
|
32
32
|
| 🏗️ 模板生成 | `template` | 按类型生成 GB/T 9704 标准空白模板 |
|
|
33
33
|
| 🔍 解析 | `parse` | `.docx` → 结构化 DocumentModel |
|
|
34
34
|
| ✅ 格式检查 | `check` | 按国标检查,分级 P0/P1/P2(只读) |
|
|
@@ -102,13 +102,13 @@ Licensed under the MIT License. See the LICENSE file for details.
|
|
|
102
102
|
|
|
103
103
|
项目内置以下文字性资源,纯对话 AI 可以直接读取,用作**公文写作指导的知识库**:
|
|
104
104
|
|
|
105
|
-
| 资源 | 位置 | 内容 |
|
|
106
|
-
|
|
107
|
-
| **公文语言风格提示词库** | `prompts/style-prompts.md` | 6 套风格(庄重严谨/平实简洁/宏观概括/请示商洽/法规条文/讲话稿),每套含用词规范、句式和语气指导 |
|
|
108
|
-
| **使用指引与决策速查** | `prompts/usage-prompts.md` | 最小可用指引、决策速查、每种公文类型的用法模板、常见问题解答 |
|
|
109
|
-
| **公文类型规则库** | `rules/official/*.yaml`(25 个文件) | 每种公文类型的格式规范 + 内容层定义(如"请示应以'妥否,请批示'结尾""通知应以'特此通知'结尾") |
|
|
110
|
-
| **通用格式标准** | `rules/official/_common.yaml` | GB/T 9704 国标全文参数:字体/字号/行距/页边距等 |
|
|
111
|
-
| **技能完整指令** | `SKILL.md` | 路径路由、执行标准、质量评审、禁令清单、审稿机制 |
|
|
105
|
+
| 资源 | 位置 | 内容 |
|
|
106
|
+
|:-----|:-----|:------|
|
|
107
|
+
| **公文语言风格提示词库** | `prompts/style-prompts.md` | 6 套风格(庄重严谨/平实简洁/宏观概括/请示商洽/法规条文/讲话稿),每套含用词规范、句式和语气指导 |
|
|
108
|
+
| **使用指引与决策速查** | `prompts/usage-prompts.md` | 最小可用指引、决策速查、每种公文类型的用法模板、常见问题解答 |
|
|
109
|
+
| **公文类型规则库** | `rules/official/*.yaml`(25 个文件) | 每种公文类型的格式规范 + 内容层定义(如"请示应以'妥否,请批示'结尾""通知应以'特此通知'结尾") |
|
|
110
|
+
| **通用格式标准** | `rules/official/_common.yaml` | GB/T 9704 国标全文参数:字体/字号/行距/页边距等 |
|
|
111
|
+
| **技能完整指令** | `SKILL.md` | 路径路由、执行标准、质量评审、禁令清单、审稿机制 |
|
|
112
112
|
|
|
113
113
|
**使用方式**:纯对话 AI 在回答用户关于公文写作的问题时,可直接引用上述资源中的内容,例如:
|
|
114
114
|
- 用户问"通知怎么写" → 引用 `rules/official/notice.yaml` 的结语规范和 `style-prompts.md` 的庄重严谨风格
|
|
@@ -192,8 +192,8 @@ python -m gongwen style-list # 列出已学习的模板
|
|
|
192
192
|
| 字体 | 用途 | TTF 大小 |
|
|
193
193
|
|:-----|:-----|:---------|
|
|
194
194
|
| 方正小标宋简体 | 公文大标题 | 3.7 MB |
|
|
195
|
-
| 仿宋_GB2312 | 正文 | 3.
|
|
196
|
-
| 楷体_GB2312 | 二级标题 |
|
|
195
|
+
| 仿宋_GB2312 | 正文 | 3.8 MB |
|
|
196
|
+
| 楷体_GB2312 | 二级标题 | 3.9 MB |
|
|
197
197
|
|
|
198
198
|
**安装方式**:
|
|
199
199
|
- **git clone 用户**:字体文件在 `assets/fonts/` 中,直接安装
|
|
@@ -232,7 +232,7 @@ python -m gongwen font check # 检查安装状态
|
|
|
232
232
|
### 事实核验
|
|
233
233
|
|
|
234
234
|
- **默认执行**(不依赖 `--background`):实体提取(人名/职务/机构全称)→ 互联网交叉核验 → 生成"存疑/已确认/未经核验"批注
|
|
235
|
-
- **实体属性核验**:识别人名+职务配对(如"
|
|
235
|
+
- **实体属性核验**:识别人名+职务配对(如"××单位党组成员、副主任XXX"),能发现职务写反等严重事实错误
|
|
236
236
|
- **LLM+规则混合提取**:配置 `GONGWEN_LLM_API` 后 LLM 内容理解提取(主通道)+ 规则提取(兜底)
|
|
237
237
|
- **背景资料增强**:`--background` 传入 docx/pdf/md/txt/URL 构建基准,已确认实体自动过滤
|
|
238
238
|
|
|
@@ -297,7 +297,7 @@ python -m gongwen wizard --answers 答案.json --dry-run # 只打印将执行
|
|
|
297
297
|
{"path": "A", "input": "原文.docx", "doc_type": "notice", "output": "成品.docx", "apply": true}
|
|
298
298
|
```
|
|
299
299
|
|
|
300
|
-
路径:A 格式优化(`optimize`)|B 内容优化(`optimize-content`)|C 生成模板(`template`)|D 一键格式修复(`fix-common`)。A/B/D 默认先预览再 y/n 确认;不写 `apply` 时非交互模式仅预览不执行(安全默认)。
|
|
300
|
+
路径:A 格式优化(`optimize`)|B 内容优化(`optimize-content`)|C 生成模板(`template`)|D 一键格式修复(`fix-common`)|E 样式学习(`style-learn`)。A/B/D 默认先预览再 y/n 确认;不写 `apply` 时非交互模式仅预览不执行(安全默认)。
|
|
301
301
|
|
|
302
302
|
## 📐 GB/T 9704 标准格式
|
|
303
303
|
|
|
@@ -310,15 +310,19 @@ python -m gongwen wizard --answers 答案.json --dry-run # 只打印将执行
|
|
|
310
310
|
| **正文** | 仿宋_GB2312 | 三号(16pt) | 首行缩进2字符 |
|
|
311
311
|
| **西文/数字** | Times New Roman | 与中文字号一致 | — |
|
|
312
312
|
| **页码** | 宋体(4号半角) | 四号(14pt) | 单页右/双页左(双面打印) |
|
|
313
|
-
| **页边距** | — | — | 上
|
|
313
|
+
| **页边距** | — | — | 上2.8/下2.8/左2.7/右2.7 cm(工具实际采用值,见 `_common.yaml`) |
|
|
314
314
|
|
|
315
|
-
###
|
|
315
|
+
### 讲话稿(speech 朗读件)
|
|
316
316
|
|
|
317
|
-
|
|
317
|
+
页边距为国标默认(上3.7/下3.5/左2.8/右2.6 cm);标题方正小标宋简体 24pt 居中、行距 35pt;一级标题黑体 18pt、二级标题楷体_GB2312 18pt;署名/日期楷体_GB2312 18pt 居中、行距 35pt;正文仿宋_GB2312 18pt 不加粗、行距 30pt exact、首行缩进 2 字符;跳过版头/版记/发文字号/密级检查。(样式以最终版定稿为准)
|
|
318
318
|
|
|
319
|
-
|
|
319
|
+
### 主持词(host_speech 朗读件)
|
|
320
320
|
|
|
321
|
-
|
|
321
|
+
页边距与普通公文一致(上2.8/下2.8/左2.7/右2.7 cm);标题方正小标宋简体 24pt 居中、行距 35pt;主持人信息/日期楷体_GB2312 18pt 居中、行距 30pt;正文仿宋_GB2312 18pt 不加粗、行距 30pt exact、首行缩进 2 字符,议程引导句("下面,进行第X项议程…")可局部加粗;跳过版头/版记/发文字号/密级检查。(样式以最终版定稿为准)
|
|
322
|
+
|
|
323
|
+
## 📚 支持的 25 种公文类型
|
|
324
|
+
|
|
325
|
+
通知 · 请示 · 报告 · 函 · 会议纪要 · 纪要 · 决定 · 通告 · 公告 · 命令 · 通报 · 议案 · 批复 · 指示 · 制度 · 公报 · 意见 · 总结 · 方案/计划 · 桌签 · 技术方案 · 决议 · **新闻稿/简报** · **讲话稿** · **主持词**
|
|
322
326
|
|
|
323
327
|
> 每种类型对应 `rules/official/*.yaml`,含格式规则 + 内容层定义(structure/focus_checks/title 等),驱动 check/optimize/optimize-content 全链路。
|
|
324
328
|
|
|
@@ -332,7 +336,7 @@ python -m gongwen wizard --answers 答案.json --dry-run # 只打印将执行
|
|
|
332
336
|
```bash
|
|
333
337
|
python -m gongwen rule-export notice -o notice_rules.yaml
|
|
334
338
|
python -m gongwen rule-import my_company -f 公司规范.yaml
|
|
335
|
-
python -m gongwen rule-list
|
|
339
|
+
python -m gongwen rule-list --source all
|
|
336
340
|
```
|
|
337
341
|
|
|
338
342
|
## ⚠️ 使用红线
|
|
@@ -377,7 +381,7 @@ DSH 采用 **Cordis 模块化微内核架构**:技能体系基于本地文件
|
|
|
377
381
|
git clone https://github.com/linhut/gongwen-skill.git
|
|
378
382
|
cd gongwen-skill
|
|
379
383
|
pip install -r requirements.txt # 或 pip install gongwen-skill(已上 PyPI)
|
|
380
|
-
python -m gongwen --version # 检验:gongwen-skill v2.
|
|
384
|
+
python -m gongwen --version # 检验:gongwen-skill v2.12.0
|
|
381
385
|
```
|
|
382
386
|
|
|
383
387
|
### 方式一:作为 DSH Skill 注册(基于本地文件系统)
|
|
@@ -433,7 +437,7 @@ pnpm add -w gongwen-skill
|
|
|
433
437
|
"dependencies": {
|
|
434
438
|
"@deepseek-ai/dsh-base": "...",
|
|
435
439
|
"@deepseek-ai/dsh-web-app": "...",
|
|
436
|
-
"gongwen-skill": "^2.
|
|
440
|
+
"gongwen-skill": "^2.12.0"
|
|
437
441
|
},
|
|
438
442
|
"dsh": {
|
|
439
443
|
"profile": {
|
|
@@ -449,6 +453,8 @@ pnpm add -w gongwen-skill
|
|
|
449
453
|
|
|
450
454
|
> **注意**:若 `add` 启动报错提示子包重复声明,请检查 `dsh.profile.bundles` 数组中**仅包含根包 `gongwen-skill`**,避免同时列入 `engine` 或 `gongwen` 等子目录。
|
|
451
455
|
|
|
456
|
+
> **DSH 版本要求**:**支持 DSH ≥ 0.1.2-rc.1**。插件按 DeepSeek Harness 0.1.2-rc.1 官方开发文档(Bluebook · Developer Guide)实现——`ctx.tools.register(defineTool(...))`(模型工具)、`ctx.settings.register` + `settings.section` 平级菜单(配置,设置侧边栏「文档样式配置」)、`ctx.systemPrompt.section`、`ctx.skills.register`。需要承载这些 API 的 DSH 组合(`@deepseek-ai/dsh-base` 等),peerDependencies 已声明 `@deepseek-ai/cordis`、`@deepseek-ai/dsh-tools`、`@deepseek-ai/schemastery` 与 `@deepseek-ai/dsh-client-ui-settings-plugins`。**旧版宿主(installSettingsSection 时代)不兼容**:DSH 0.1.2-rc.1 之前(无上述官方 API / 尚用 installSettingsSection 注入设置卡片的版本)上安装会得到 pnpm peer 缺失警告,插件可能无法加载,请升级 DSH 到 ≥ 0.1.2-rc.1 或改用方式一(Skill 文件系统)。
|
|
457
|
+
|
|
452
458
|
### 方式三:本地源码链接(用于插件开发)
|
|
453
459
|
|
|
454
460
|
如果你在本地开发 gongwen-skill 插件,可以用 link 方式让 DSH 直接加载仓库源码:
|
|
@@ -469,6 +475,8 @@ dsh plugin --profile web add -w "link:/path/to/gongwen-skill"
|
|
|
469
475
|
- 插件通过 `spawn("python", ["-m", "gongwen", ...])` 子进程转发命令,**不直接 import 引擎、不操作 docx**,避免双入口行为分裂
|
|
470
476
|
- `dsh/index.js` 的 `POSITIONAL_ARGS` 声明各命令的位置参数(如 `draft: ["input"]`);新增/调整 CLI 命令位置参数时**必须同步更新该表**,否则插件转发会构造出 `--input` 而 CLI 只接受位置参数
|
|
471
477
|
- 插件保持薄层:业务逻辑全在 CLI / engine,改动引擎不影响插件;改动 CLI 参数形态时需同步检查 `dsh/index.js` 转发(doctor 自检覆盖 DSH 文件存在性)
|
|
478
|
+
- **模型工具注册**:插件通过官方 `ctx.tools.register(defineTool({...}))` 注册名为 `gongwen` 的模型工具,工具 schema 自动流入 DSH 系统提示词组装;`defineTool` 校验模型生成的参数后调用 `runCli()` 透传 Python CLI(详见上方「DSH 插件配置化」)
|
|
479
|
+
- **客户端配置菜单**:`dsh/client.js` 注册进官方 `settings.section` list slot(id=`gongwen-styles`,order=20,label=`文档样式配置`),在「系统设置」侧边栏与通用设置/模型/插件平级;页面经 `ctx.settingsScope` 读写官方 settings 文档,UI 样式使用 `--dsw-alias-*` 语义 token(官方 Client UI & Slots 规范)
|
|
472
480
|
|
|
473
481
|
### 🚀 启动 DSH Web 服务
|
|
474
482
|
|
|
@@ -484,24 +492,48 @@ dsh --profile web
|
|
|
484
492
|
|
|
485
493
|
浏览器访问 [http://127.0.0.1:3080/](http://127.0.0.1:3080/),在新建会话时即可让 DSH Agent 自动加载 gongwen-skill 调用 Web UI 工具流。
|
|
486
494
|
|
|
495
|
+
### 🤖 Agent 预设「公文全流程处理专家」
|
|
496
|
+
|
|
497
|
+
插件装载后会自动把 `presets/`(`preset.yml` + `agent.cordis.yml`)安装到 `~/.dsh/.agent-presets/gongwen-skill/`,DSH Web **新建会话 → 预设选择**中会出现 **「公文全流程处理专家」**,选中即可开箱即用:
|
|
498
|
+
|
|
499
|
+
- **内置 Persona**:公文专家人设(25 类公文能力、A/B/C/D/E 路径判定:格式优化 / 内容优化 / 生成 / 一键修复 / 样式学习、硬性规则——`bold-first` 先于 `optimize`、交付前 `check` 复核 P0=0 等)
|
|
500
|
+
- **完整工具链**:文件系统(fs/fs-search)、shell(Windows 用 pwsh / 其他用 bash,跑 `python -m gongwen`)、后台任务(jobs)、技能(skills + tool-skill)、目标(goal)、计划模式(plan-mode)、压缩(compaction)、委派(subagent/workflow/ralph)、问答(ask-user)、任务清单(todo)、联网(web)
|
|
501
|
+
- 业务能力由插件 host 平面注册的 `gongwen` 模型工具 + 运行时技能 `gongwen-skill` 提供,无需额外配置
|
|
502
|
+
|
|
503
|
+
> **自定义预设**:如需修改该预设,可在 DSH 预设列表把它复制为新预设后再编辑(插件升级会覆盖原预设文件)。预设 id 为 `gongwen-skill`,源码在仓库 `presets/`。
|
|
504
|
+
|
|
487
505
|
### DSH 兼容性自查
|
|
488
506
|
|
|
489
507
|
| 检查项 | 状态 |
|
|
490
508
|
|:-------|:----:|
|
|
509
|
+
| **DSH 宿主版本要求(≥ 0.1.2-rc.1;旧版宿主「installSettingsSection 时代」不兼容)** | ✅ 需 DSH ≥ 0.1.2-rc.1 |
|
|
491
510
|
| Skill 体系:`SKILL.md` YAML frontmatter (`name + description + whenToUse`) | ✅ |
|
|
492
511
|
| 技能名称规范 (`gongwen-skill`,长度 ≤ 30 字符) | ✅ |
|
|
493
512
|
| 目录技能格式 (`.dsh/skills/gongwen-skill/SKILL.md`) | ✅ |
|
|
494
513
|
| 单文件技能格式 (`.dsh/skills/gongwen-skill.md`) | ✅ 双格式兼容 |
|
|
495
514
|
| Cordis 插件包:`package.json` + `dsh/` + `cordis.patch.yml` | ✅ |
|
|
515
|
+
| 插件 bundle 声明:`dsh.bundle.patch`(官方「第三方插件」规范) | ✅ |
|
|
516
|
+
| 客户端半侧声明:`dsh.client` + `exports["./client"]`(官方 Client 模块系统) | ✅ |
|
|
517
|
+
| 模型工具注册:`ctx.tools.register(defineTool(...))`(官方 Registering Tools 规范) | ✅ `gongwen` 工具 |
|
|
518
|
+
| 配置菜单:官方 `settings.section` 平级菜单(「文档样式配置」)+ `ctx.settingsScope`(官方 Client UI & Slots) | ✅ |
|
|
519
|
+
| 系统提示注入:`ctx.systemPrompt.section`(官方 Host Services & Events) | ✅ |
|
|
520
|
+
| 运行时技能:`ctx.skills.register`(官方 Skills 注册表) | ✅ |
|
|
496
521
|
| CLI 独立可执行(`python -m gongwen <命令>`) | ✅ |
|
|
497
522
|
| PyPI 上架(`pip install gongwen-skill`) | ✅ |
|
|
498
523
|
| 零外部运行时依赖(仅 python-docx/pydantic/pyyaml) | ✅ |
|
|
499
|
-
| DSH
|
|
524
|
+
| DSH 配置化排版参数(页边距/行距/字体/默认公文类型,39 字段) | ✅ v2.6.0+ |
|
|
500
525
|
|
|
501
526
|
### DSH 插件配置化(v2.6.0+)
|
|
502
527
|
|
|
503
528
|
DSH 插件支持通过配置文件管理排版参数,Agent 调用时自动注入,纯 CLI 用户不受影响。
|
|
504
529
|
|
|
530
|
+
**两种配置入口(同一数据,双向同步)**:
|
|
531
|
+
|
|
532
|
+
1. **DSH Web 设置面板(推荐)**:系统设置 → **文档样式配置**(设置侧边栏平级菜单,与通用设置/模型/插件并列),页面含默认公文类型下拉(25 种)与完整排版参数(页边距/字体/行距等 39 字段);保存后写入 DSH 官方 settings 文档,并由插件 Host 的 `scope.watch` 自动同步到 `~/.gongwen-skill/dsh-config.json`。样式模板的**学习与管理走 CLI**(`style-learn` / `style-list` / `template`,见「样式学习」章节),不占用设置面板,保持插件薄层
|
|
533
|
+
2. **CLI / 配置文件**:直接编辑 `~/.gongwen-skill/dsh-config.json`,或通过插件 `config` 命令管理
|
|
534
|
+
|
|
535
|
+
> **兼容性**:插件首次在带 settings provider 的 DSH 部署中加载时,会把已存在的 `~/.gongwen-skill/dsh-config.json` 一次性迁移进官方 settings 命名空间(仅当设置面板尚无用户覆盖时),之后以设置面板 / settings 文档为权威源,双向同步。
|
|
536
|
+
|
|
505
537
|
**配置文件**:`~/.gongwen-skill/dsh-config.json`
|
|
506
538
|
|
|
507
539
|
**初始化配置**(从默认模板创建):
|
|
@@ -514,7 +546,7 @@ node -e "import('./dsh/index.js').then(async m => { console.log(await m.call({},
|
|
|
514
546
|
cp etc/dsh-config-defaults.json ~/.gongwen-skill/dsh-config.json
|
|
515
547
|
```
|
|
516
548
|
|
|
517
|
-
|
|
549
|
+
**配置项说明**(完整 39 字段,与设置面板一一对应):
|
|
518
550
|
|
|
519
551
|
| 配置路径 | 说明 | 默认值 |
|
|
520
552
|
|:---------|:-----|:-------|
|
|
@@ -523,14 +555,22 @@ cp etc/dsh-config-defaults.json ~/.gongwen-skill/dsh-config.json
|
|
|
523
555
|
| `page_setup.margins.left/right` | 左右页边距 | `2.7cm` |
|
|
524
556
|
| `page_setup.header_distance` | 页眉距边界 | `1.5cm` |
|
|
525
557
|
| `page_setup.footer_distance` | 页脚距边界 | `2.3cm` |
|
|
526
|
-
| `body.font` | 正文字体 | `仿宋_GB2312` |
|
|
558
|
+
| `body.font` / `body.font_fallback` | 正文字体 / 回退字体 | `仿宋_GB2312` / `FangSong` |
|
|
527
559
|
| `body.size` | 正文字号 | `16pt` |
|
|
528
560
|
| `body.line_spacing` | 正文行距 | `33pt` |
|
|
529
561
|
| `body.first_line_indent` | 首行缩进 | `2em` |
|
|
530
|
-
| `
|
|
531
|
-
| `doc_title.
|
|
532
|
-
| `
|
|
533
|
-
| `
|
|
562
|
+
| `body.align` | 正文对齐 | `justify` |
|
|
563
|
+
| `doc_title.font` / `doc_title.font_fallback` | 大标题字体 / 回退字体 | `方正小标宋简体` / `SimSun` |
|
|
564
|
+
| `doc_title.size` / `doc_title.align` / `doc_title.bold` | 大标题字号 / 对齐 / 加粗 | `22pt` / `center` / `false` |
|
|
565
|
+
| `doc_title.line_spacing` | 大标题行距 | `33pt` |
|
|
566
|
+
| `heading_1.font` / `heading_1.font_fallback` | 一级标题字体 / 回退字体 | `黑体` / `SimHei` |
|
|
567
|
+
| `heading_1.size` / `heading_1.line_spacing` / `heading_1.first_line_indent` | 一级标题字号 / 行距 / 首行缩进 | `16pt` / `33pt` / `2em` |
|
|
568
|
+
| `heading_2.font` / `heading_2.font_fallback` | 二级标题字体 / 回退字体 | `楷体_GB2312` / `KaiTi` |
|
|
569
|
+
| `heading_2.size` / `heading_2.line_spacing` / `heading_2.first_line_indent` | 二级标题字号 / 行距 / 首行缩进 | `16pt` / `33pt` / `2em` |
|
|
570
|
+
| `heading_3.font` / `heading_3.font_fallback` | 三级标题字体 / 回退字体 | `仿宋_GB2312` / `FangSong` |
|
|
571
|
+
| `heading_3.size` / `heading_3.bold` / `heading_3.line_spacing` / `heading_3.first_line_indent` | 三级标题字号 / 加粗 / 行距 / 首行缩进 | `16pt` / `true` / `33pt` / `2em` |
|
|
572
|
+
| `signature.font` / `signature.font_fallback` | 署名字体 / 回退字体 | `仿宋_GB2312` / `FangSong` |
|
|
573
|
+
| `signature.size` / `signature.align` | 署名字号 / 对齐 | `18pt` / `center` |
|
|
534
574
|
|
|
535
575
|
**修改配置**(DSH 插件调用):
|
|
536
576
|
|
|
@@ -622,7 +662,7 @@ pip install -r requirements.txt
|
|
|
622
662
|
用户:帮我优化这份会议通知的第二章节措辞
|
|
623
663
|
|
|
624
664
|
Agent:📋 合规自检报告
|
|
625
|
-
Skill 版本: v2.
|
|
665
|
+
Skill 版本: v2.12.0(版本自检已确认最新)
|
|
626
666
|
路径判定: B(内容优化)
|
|
627
667
|
依据: 用户指定了已有文档,且要求"优化措辞"
|
|
628
668
|
命令调用: 1. python -m gongwen optimize-content 会议通知.docx --changes changes.json --apply --paragraphs "5-8"
|
package/SKILL.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: gongwen-skill
|
|
3
|
-
description: 公文全流程处理工具。支持 .docx 公文按 GB/T 9704 国家标准做格式检查(check)、自动修复(optimize)、行内内容修订(optimize-content,红色标注+删除线+修改说明)、模板生成(template)、样式学习(style-learn,从标准文档学习排版样式生成自定义模板)、Markdown 转公文(md2docx),以及版头/版记/页码注入。覆盖通知/请示/报告/函/会议纪要等
|
|
4
|
-
whenToUse: 当用户需要处理中文公文(.docx格式)时,包括格式检查、自动修复、内容润色、模板生成、样式学习(从标准文档学习排版样式生成自定义模板)、Markdown转公文、版头版记注入等场景。适用于通知/请示/报告/函/会议纪要/新闻稿/讲话稿等
|
|
3
|
+
description: 公文全流程处理工具。支持 .docx 公文按 GB/T 9704 国家标准做格式检查(check)、自动修复(optimize)、行内内容修订(optimize-content,红色标注+删除线+修改说明)、模板生成(template)、样式学习(style-learn,从标准文档学习排版样式生成自定义模板)、Markdown 转公文(md2docx),以及版头/版记/页码注入。覆盖通知/请示/报告/函/会议纪要等 25 类公文。完全自包含,克隆即用,无需数据库或后端服务。
|
|
4
|
+
whenToUse: 当用户需要处理中文公文(.docx格式)时,包括格式检查、自动修复、内容润色、模板生成、样式学习(从标准文档学习排版样式生成自定义模板)、Markdown转公文、版头版记注入等场景。适用于通知/请示/报告/函/会议纪要/新闻稿/讲话稿等25种公文类型。
|
|
5
5
|
user-invocable: true
|
|
6
6
|
metadata:
|
|
7
7
|
author: Jose AI
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
license: MIT
|
|
10
10
|
python: ">=3.10"
|
|
11
11
|
dsh_version: compatible
|
|
12
|
-
doc_types:
|
|
12
|
+
doc_types: 25
|
|
13
13
|
standard: GB/T 9704-2012
|
|
14
14
|
---
|
|
15
15
|
|
|
@@ -146,7 +146,7 @@ python -c "
|
|
|
146
146
|
import sys; sys.path.insert(0, '<skill目录>/engine')
|
|
147
147
|
from handoff import write_handoff
|
|
148
148
|
write_handoff(
|
|
149
|
-
session_id='简短任务描述', # 如 '
|
|
149
|
+
session_id='简短任务描述', # 如 '会议材料优化'
|
|
150
150
|
handoff_type='long_task', # long_task / batch / interrupted
|
|
151
151
|
context={'what_we_are_doing': '我们在做什么', 'doc_type': '公文类型',
|
|
152
152
|
'input_file': '输入文件', 'working_directory': '工作目录'},
|
|
@@ -747,7 +747,7 @@ Agent 在交付任何路径产物前,必须扫描全文并自检:
|
|
|
747
747
|
撰稿人撰写课题汇报初稿
|
|
748
748
|
→ 信息技术部负责人(业务审核:核对项目、职责内容)
|
|
749
749
|
→ 综合岗文字校对(gongwen-skill 预检 + 人工润色、格式规范)
|
|
750
|
-
→
|
|
750
|
+
→ 综合专班核稿
|
|
751
751
|
→ 分管领导终审签发
|
|
752
752
|
```
|
|
753
753
|
|
|
@@ -888,7 +888,7 @@ python -m gongwen fix-common 文件.docx -o 成品.docx
|
|
|
888
888
|
|
|
889
889
|
| 命令 | 用途 | 最小用法 |
|
|
890
890
|
|------|------|---------|
|
|
891
|
-
| `list-types` | 列出
|
|
891
|
+
| `list-types` | 列出 25 种支持的公文类型 | `python -m gongwen list-types` |
|
|
892
892
|
| `template` | 按类型生成 GB/T 9704 空白模板 | `python -m gongwen template notice -o 通知.docx` |
|
|
893
893
|
| `generate` | 从 DocumentModel JSON 生成 .docx | `python -m gongwen generate 模型.json -o 公文.docx` |
|
|
894
894
|
| `md2docx` | Markdown 草稿 → 格式化公文(初稿) | `python -m gongwen md2docx 草稿.md -o 公文.docx -t notice` |
|
|
@@ -1170,9 +1170,9 @@ python -m gongwen full-review 原文.docx --changes changes.json -o 审校版.do
|
|
|
1170
1170
|
上传标准文档,学习其排版样式(含字间距等细微属性),生成自定义命名模板:
|
|
1171
1171
|
|
|
1172
1172
|
```bash
|
|
1173
|
-
python -m gongwen style-learn 单位定稿红头.docx -n
|
|
1173
|
+
python -m gongwen style-learn 单位定稿红头.docx -n 单位红头规范 # 学习并注册模板
|
|
1174
1174
|
python -m gongwen style-list # 列出已学习模板
|
|
1175
|
-
python -m gongwen optimize 文档.docx -t
|
|
1175
|
+
python -m gongwen optimize 文档.docx -t 单位红头规范 --apply # 套用模板
|
|
1176
1176
|
```
|
|
1177
1177
|
|
|
1178
1178
|
模板存储于 `~/.gongwen-skill/user_rules/`(仓库之外),**git pull 更新 skill 不会丢失**。
|
|
@@ -1298,7 +1298,7 @@ python -m gongwen optimize-content 原文.docx --changes changes.json --mode tra
|
|
|
1298
1298
|
|
|
1299
1299
|
1. **关键信息绝对不可删除**:严禁删除包含以下类型信息的整段或整句——
|
|
1300
1300
|
- 关键里程碑(日期 + 事件,如"2025年3月与省科技厅汇报")
|
|
1301
|
-
- 领导协调 / 汇报记录(如"
|
|
1301
|
+
- 领导协调 / 汇报记录(如"向××部门文宣司汇报")
|
|
1302
1302
|
- 资金 / 经费 / 项目预算数据(含具体金额或来源)
|
|
1303
1303
|
- 政策依据引用(含文号、政策名称)
|
|
1304
1304
|
- 省情 / 背景分析段落(提供论证基础的信息段)
|
|
@@ -1894,7 +1894,7 @@ LLM 根据用户背景和要求,参考下方段落结构模板和惯用语库
|
|
|
1894
1894
|
- 若用户既无名单也不知参会人员 → 跳过桌签生成,不追问
|
|
1895
1895
|
- **仅询问一次**,用户明确说"不需要"后不再重复追问
|
|
1896
1896
|
|
|
1897
|
-
>
|
|
1897
|
+
> 桌签模板由工具内置模板(`engine/templates/table_sign.dotx`)自动生成,无需外部模板文件。
|
|
1898
1898
|
> 生成时以名单输入文件或标准输入传递人员姓名(每行一人),支持 `--combined` 合并为一个多页文档。
|
|
1899
1899
|
|
|
1900
1900
|
**第二步:md2docx 转换(管线内步骤)**
|
|
@@ -2659,9 +2659,15 @@ python -m gongwen check 成品.docx -t <类型> --json
|
|
|
2659
2659
|
| 时间 | 楷体_GB2312 | 18pt | 居中 | "2026年7月X日" 单独一行 |
|
|
2660
2660
|
| 称谓(同志们) | 仿宋_GB2312 | 18pt | 两端对齐 | 顶格书写 |
|
|
2661
2661
|
| 正文 | 仿宋_GB2312 | 18pt | 两端对齐,首行缩进2字符 | |
|
|
2662
|
-
| 讲话要点标题 | 黑体 | 18pt |
|
|
2662
|
+
| 讲话要点标题 | 黑体 | 18pt | 首行缩进2字 | 一、二、三 等层次标题 |
|
|
2663
2663
|
| 议程导引 | 仿宋_GB2312 | 18pt | 两端对齐 | "首先""下面""现在"等过渡语 |
|
|
2664
2664
|
|
|
2665
|
+
> **讲话稿(speech)与主持词(host_speech)格式差异**(以最终版定稿为准):
|
|
2666
|
+
> - 页边距:讲话稿用国标默认(上3.7/下3.5/左2.8/右2.6cm);主持词与普通公文一致(上2.8/下2.8/左2.7/右2.7cm)。
|
|
2667
|
+
> - 署名/日期行距:讲话稿 35pt;主持词 30pt(均楷体_GB2312 18pt 居中)。
|
|
2668
|
+
> - 正文:均为仿宋_GB2312 18pt 不加粗、行距 30pt exact、首行缩进 2 字;主持词议程引导句可局部加粗。
|
|
2669
|
+
> - 一级标题(一、…)黑体 18pt;二级标题(第一…/一是…)楷体_GB2312 18pt,均为行距 30pt、首行缩进 2 字。
|
|
2670
|
+
|
|
2665
2671
|
---
|
|
2666
2672
|
|
|
2667
2673
|
#### C8. 调研函 / 征求意见函(高频文种)
|
|
@@ -2868,7 +2874,7 @@ XX处 ← 华文楷体 16pt 居
|
|
|
2868
2874
|
|
|
2869
2875
|
---
|
|
2870
2876
|
|
|
2871
|
-
## 附录一:
|
|
2877
|
+
## 附录一:25 种公文类型(`-t` 参数)
|
|
2872
2878
|
|--------|--------|--------|--------|
|
|
2873
2879
|
| `notice` | 通知 | `request` | 请示 |
|
|
2874
2880
|
| `report` | 报告 | `letter` | 函 |
|
|
@@ -2881,7 +2887,8 @@ XX处 ← 华文楷体 16pt 居
|
|
|
2881
2887
|
| `opinion` | 意见 | `summary` | 总结 |
|
|
2882
2888
|
| `work_plan` | 方案/计划 | `table_sign` | 桌签 |
|
|
2883
2889
|
| `technical_proposal` | 技术方案 | `resolution` | 决议 |
|
|
2884
|
-
| `speech` |
|
|
2890
|
+
| `speech` | **讲话稿** | `news` | **新闻稿/简报** |
|
|
2891
|
+
| `host_speech` | **主持词** | | |
|
|
2885
2892
|
|
|
2886
2893
|
> **news(新闻稿/简报)特殊规则**(提质方案 v2.1 问题一):标题为**事件陈述式**(≤35 字,含时间/地点/事件三要素,不做精简),非法定公文"事由+文种式"(≤20 字)。标题支持两种模式:专题会议式(`{部门/工作}+{会议类型}+在{地点}+召开`)与常规会议式(`{机构}+{部门}+第{序次}次+{会议类型}+召开`)。不检查主送机关/落款/附件说明等法定要素;必检:人名/职务/机构名准确性、时间一致性、逻辑闭环(听取→指出→强调→要求)、稿源/编辑信息。
|
|
2887
2894
|
|