gongwen-skill 2.11.0 → 2.13.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.
@@ -0,0 +1,27 @@
1
+ {
2
+ "name": "gongwen-skill-marketplace",
3
+ "description": "公文全流程处理专家(gongwen-skill)Claude Code 插件市场",
4
+ "owner": {
5
+ "name": "Jose AI"
6
+ },
7
+ "plugins": [
8
+ {
9
+ "name": "gongwen-skill",
10
+ "displayName": "公文全流程处理专家",
11
+ "source": "./",
12
+ "version": "2.12.0",
13
+ "description": "公文全流程处理专家 —— 面向中文公文(.docx)的 GB/T 9704 全流程工具链:格式检查、自动修复、内容优化(Word 原生修订+批注 / 行内差异对比)、模板生成、样式学习、Markdown 转公文、版头版记页码注入,覆盖 25 类法定公文。",
14
+ "category": "productivity",
15
+ "tags": [
16
+ "chinese",
17
+ "document",
18
+ "government",
19
+ "official-document",
20
+ "GB/T 9704",
21
+ "docx",
22
+ "skill",
23
+ "公文"
24
+ ]
25
+ }
26
+ ]
27
+ }
@@ -0,0 +1,25 @@
1
+ {
2
+ "name": "gongwen-skill",
3
+ "displayName": "公文全流程处理专家",
4
+ "version": "2.12.0",
5
+ "description": "公文全流程处理专家 —— 面向中文公文(.docx)的 GB/T 9704 全流程工具链:格式检查、自动修复、内容优化(Word 原生修订+批注 / 行内差异对比)、模板生成、样式学习、Markdown 转公文、版头版记页码注入,覆盖 25 类法定公文。",
6
+ "author": {
7
+ "name": "Jose AI",
8
+ "url": "https://www.linhut.cn"
9
+ },
10
+ "homepage": "https://github.com/linhut/gongwen-skill",
11
+ "repository": "https://github.com/linhut/gongwen-skill",
12
+ "license": "MIT",
13
+ "category": "productivity",
14
+ "keywords": [
15
+ "chinese",
16
+ "document",
17
+ "government",
18
+ "official-document",
19
+ "GB/T 9704",
20
+ "docx",
21
+ "skill",
22
+ "公文",
23
+ "格式检查"
24
+ ]
25
+ }
package/AGENTS.md ADDED
@@ -0,0 +1,122 @@
1
+ ---
2
+ AIGC:
3
+ Label: "1"
4
+ ContentProducer: 001191440300708461136T1XGW3
5
+ ProduceID: 594788b2f473f3679080da07b1915493_3948b672adda11f18039525400461939
6
+ ReservedCode1: QQXN7DfjJFomCh/Kvmo5ok38vndecdGMG4kKZFsPf0YzBRkXkoJoUGOxHtU8m2/aike/LgYiydcg6cHyT1NuWO3+Bq2M8XblOH3SdsrfC75KXxL6fOZiMjsMLk7jccu0KbisbuD4uLLjFUcFV/o2lh90oFvPqDf1lK+11KDbXcYRNupGF1SyCJDwukM=
7
+ ContentPropagator: 001191440300708461136T1XGW3
8
+ PropagateID: 594788b2f473f3679080da07b1915493_3948b672adda11f18039525400461939
9
+ ReservedCode2: QQXN7DfjJFomCh/Kvmo5ok38vndecdGMG4kKZFsPf0YzBRkXkoJoUGOxHtU8m2/aike/LgYiydcg6cHyT1NuWO3+Bq2M8XblOH3SdsrfC75KXxL6fOZiMjsMLk7jccu0KbisbuD4uLLjFUcFV/o2lh90oFvPqDf1lK+11KDbXcYRNupGF1SyCJDwukM=
10
+ ---
11
+
12
+
13
+
14
+ <!--
15
+ (c) 2026 Jose AI (https://www.linhut.cn)
16
+ https://github.com/linhut/gongwen-skill
17
+ Licensed under the MIT License. See the LICENSE file for details.
18
+ -->
19
+
20
+ # 公文全流程处理专家(gongwen-skill)
21
+
22
+ > 面向中文公文(`.docx`)的 **GB/T 9704《党政机关公文格式》** 全流程处理工具链,打包为可被 AI Agent 直接调用的 Skill。
23
+ >
24
+ > - **展示名(对外名称)**:公文全流程处理专家
25
+ > - **标识名(机器标识,请勿改动)**:包名 `gongwen-skill`、命令名 `gongwen`、Skill 目录名 `gongwen-skill`
26
+ > - **仓库**:https://github.com/linhut/gongwen-skill | 许可:MIT
27
+
28
+ ---
29
+
30
+ ## 1. 快速开始
31
+
32
+ ```bash
33
+ git clone https://github.com/linhut/gongwen-skill.git
34
+ cd gongwen-skill
35
+ pip install -r requirements.txt # 需要 Python 3.10+
36
+ python -m gongwen list-types # 验证安装(应列出 25 种公文类型)
37
+ ```
38
+
39
+ 也可直接安装 PyPI 包:`pip install gongwen-skill`。
40
+
41
+ ---
42
+
43
+ ## 2. Agent 调用约定
44
+
45
+ 1. **入口唯一**:所有业务能力统一通过 CLI `python -m gongwen <命令>` 调用,不要自行拼装底层脚本。
46
+ 2. **执行前声明**(硬门控,不可跳过):先声明「当前调用环境 / 用户需求判定路径(A 格式修复、B 内容优化、C 生成公文、D 一键修复、E 其他)/ 判定依据」。
47
+ 3. **写操作显式授权**:修复与生成类命令默认只预览,需 `--apply` 才落盘;覆盖已有文件前须获得用户确认。
48
+ 4. **只读优先**:诊断类命令(`check` / `parse` / `audit` / `rule-list` / `doctor`)不修改用户文档,可放心执行。
49
+ 5. **规则与提示词**:格式规则位于 `rules/`(官方 / 单位 / 用户三层 YAML),提示词位于 `prompts/`,可按需读取后再判断。
50
+
51
+ ---
52
+
53
+ ## 3. 命令速查(29 项)
54
+
55
+ > 本表仅为速查摘要,**完整操作指南以 `SKILL.md` 为准**(命令参数、示例、规则详见 skills 主文件);新增或调整命令时同步更新两处。
56
+
57
+ | 命令 | 说明 |
58
+ |:-----|:-----|
59
+ | `list-types` | 列出 25 种支持的公文类型 |
60
+ | `template` | 按类型生成 GB/T 9704 标准空白模板 |
61
+ | `parse` | `.docx` → 结构化 DocumentModel(JSON) |
62
+ | `check` | 按国标检查格式,分级 P0/P1/P2(只读) |
63
+ | `optimize` | 检查 + 修复 + 生成(默认预览,`--apply` 执行) |
64
+ | `generate` | 从 DocumentModel JSON 生成 `.docx` |
65
+ | `header` | 注入版头:发文机关标志 + 发文字号 + 签发人 + 红色反线 |
66
+ | `footer` | 注入版记:抄送 + 印发机关 + 印发日期 + 分隔线 |
67
+ | `pagenum` | 注入 Word PAGE 域动态页码 |
68
+ | `md2docx` | Markdown 文本转格式化公文 `.docx` |
69
+ | `draft` | Markdown 草稿 → 国标成品 + 验证(四步合一) |
70
+ | `optimize-content` | 内容优化:Word 原生修订+批注,或行内差异对比版 |
71
+ | `bold-first` | 正文段落首句加粗(符合公文规范) |
72
+ | `fix-common` | 一键修复常见格式问题(段落类型 / 编号拆分 / 首句加粗 / 加粗范围) |
73
+ | `handoff` | 查看或写入会话交接文档(跨会话上下文传递) |
74
+ | `rule-export` / `rule-list` / `rule-import` | 三层规则导出 / 列出 / 导入 |
75
+ | `table-signs` | 从名单批量生成会议桌签 |
76
+ | `full-review` | 完整审校:格式修复 → 内容优化 → 批注输出 |
77
+ | `style-learn` / `style-list` | 从标准文档学习排版样式并注册为命名模板 |
78
+ | `check-update` | 版本自检(PyPI 权威判定 + GitHub 备用 + 国内镜像提示) |
79
+ | `audit` | 审计文档处理链:删除线 / 加粗 / AI 声明等合规性 |
80
+ | `review` | 生成公文审稿流转单(五角色 / 三角色模板) |
81
+ | `wizard` | 向导式交互:A/B/C/D/E 路径引导 + 一键执行 |
82
+ | `font` | 公文标准字体管理:安装 / 检查 / 列出内置字体 |
83
+ | `doctor` / `repair` | 全面自我诊断与常见问题修复 |
84
+
85
+ ---
86
+
87
+ ## 4. 目录结构
88
+
89
+ ```
90
+ gongwen-skill/
91
+ ├── SKILL.md # Skill 主文件(frontmatter + 全量操作指南)
92
+ ├── AGENTS.md # 本文件(面向 Codex 等指令型 Agent)
93
+ ├── .claude-plugin/ # Claude Code 插件清单(plugin.json / marketplace.json)
94
+ ├── dsh/ # DeepSeek Harness 插件(index.js / client.js)
95
+ ├── cordis.patch.yml # DSH 插件注册补丁
96
+ ├── presets/ # DSH Agent 预设「公文全流程处理专家」
97
+ ├── engine/ # 格式引擎(解析 / 检查 / 修复 / 生成)
98
+ ├── gongwen/ # CLI(`python -m gongwen`)
99
+ ├── rules/ # 三层格式规则(官方 / 单位 / 用户)
100
+ └── prompts/ # 各路径提示词
101
+ ```
102
+
103
+ ---
104
+
105
+ ## 5. 平台适配
106
+
107
+ | 平台 | 接入方式 | 对外名称来源 |
108
+ |:-----|:---------|:-------------|
109
+ | Claude Code | `.claude-plugin/plugin.json`(`displayName`)+ `.claude-plugin/marketplace.json` | `displayName` |
110
+ | Codex 等指令型 Agent | 本文件 `AGENTS.md` | 标题名称 |
111
+ | DeepSeek Harness (DSH) | `dsh/` 插件 + `cordis.patch.yml` + `presets/` 预设 | 预设 `name` |
112
+ | WorkBuddy / 通用 Agent | 读取 `SKILL.md` | frontmatter `description` |
113
+
114
+ > 说明:SKILL.md 的 frontmatter `name` 必须保持 kebab-case(`gongwen-skill`)以符合 Agent Skill 规范,对外展示统一使用中文展示名「公文全流程处理专家」。
115
+
116
+ ---
117
+
118
+ ## 6. 许可
119
+
120
+ MIT License,详见 [LICENSE](./LICENSE)。
121
+ *(内容由AI生成,仅供参考)*
122
+ *(内容由AI生成,仅供参考)*
package/CHANGELOG.md CHANGED
@@ -4,6 +4,49 @@
4
4
  Licensed under the MIT License. See the LICENSE file for details.
5
5
  -->
6
6
 
7
+ ## v2.13.0 (2026-09-11)
8
+
9
+ ### Added
10
+ - **政策联网检索 `policy-search`**:按主题检索国务院政策文件库(gov.cn,t=zhengcelibrary)→ web 引擎兜底;`--json` 结构化输出供 agent 消费(含 `gov_empty` 诊断字段);抓取复用 `fact_check._safe_fetch_url`(SSRF 防护)+ `netcheck` DoH 兜底;wizard 新增 F 路径「政策检索」(只读直接执行,dry-run 支持)
11
+ - **渲染验收 `render`**:docx 转逐页图片供版面可视化检查(分页/表格劈裂/签章区),复用 `engine/docx_to_image` 完整链路(LibreOffice/docx2pdf → pdftoppm/PyMuPDF);`--pages/--dpi/--format/--json`,只读命令
12
+ - **对外展示名承载层**:`.claude-plugin/plugin.json` + `marketplace.json`(`displayName: 公文全流程处理专家`)+ `AGENTS.md`(Codex 等指令型 Agent 说明),并纳入 `package.json` files 与 `MANIFEST.in` 打包声明
13
+ - **`npx skills add linhut/gongwen-skill` 安装渠道**:README 新增方式零一行安装(Claude Code/Codex/Cursor 等通用 harness)
14
+
15
+ ### Changed
16
+ - **对外展示名统一为「公文全流程处理专家」**:原称谓「公文全流程处理工具」在全部面向人与模型可见的文案层被替换,覆盖 `SKILL.md`(三副本 frontmatter `description`)、`dsh/index.js`(`GONGWEN_GUIDANCE` 入口描述 / 工具描述 / `export const description` / 文件头注释)、CLI `--version` 与命令帮助描述(`gongwen/cli/app.py`)、`README.md`、`package.json` 与 `pyproject.toml` 的 `description`、`doctor` 诊断标题(`gongwen/cli/doctor_cmds.py`)、`gongwen/_legacy.py` / `gongwen/__init__.py` / `cordis.patch.yml` / `dsh/client.js` / `etc/dsh-config-defaults.json` 中的称谓注释
17
+ - **机器标识与用户文档内容一律不变**:包名 `gongwen-skill`、命令名 `gongwen`、`SKILL.md` frontmatter `name`、DSH 插件 id/name/ns(`cordis.patch.yml`、`dsh/index.js`)、以及所有写入用户 `.docx` 的署名字符串保持原样;`CHANGELOG` 历史条目与 `docs/design/` 历史记录不改
18
+ - **展示名单一事实来源**:`gongwen/__init__.py` 新增 `DISPLAY_NAME` 常量,CLI `description` / `--version` / `doctor` / `repair` 标题统一引用,消除多处硬编码中文名
19
+ - **doctor 新增「展示名一致性」检查**:校验 SKILL.md frontmatter description、`.claude-plugin/` 两个 JSON 的 `displayName`、`package.json` / `pyproject.toml` description、`dsh/index.js` 插件描述共 6 处承载点与 `DISPLAY_NAME` 一致(文件缺失跳过,不误报)
20
+ - **doctor 新增「DSH 宿主版本」「DSH peer 依赖」检查**:探测本机 `@deepseek-ai/dsh` ≥ 0.1.2-rc.1,peer 下限以 `package.json` peerDependencies 为单一来源;无 DSH 宿主时一致跳过避免误报(asar 布局兼容)
21
+ - **CLI 启动提速约 -72%**:`app.py` 顶层重导入惰性化(`review_cmds` 4 命令经 `_lazy_command` 首次调用时导入、`pagenum` 默认值内联),`--version` 926ms→244ms、`--help` 830ms→234ms
22
+ - **架构导入统一**:28 处旧式顶层导入(`from optimizer/config/fact_check` 等)统一为 `from engine.xxx`,消除对 `_bootstrap` sys.path hack 的运行时依赖
23
+ - **DSH 设置面板精简 39→5 字段(P2-31)**:`dsh/client.js` FIELDS 只保留默认类型+页边距,`dsh/index.js` schema 同步;低频排版参数回归 CLI(`config --set` / `--config-overrides`)
24
+ - **DSH 插件移除运行时技能注册(P2-31)**:`dsh/index.js` 取消 `ctx.skills.register`(与文件系统技能 `~/.dsh/skills/gongwen-skill/` 完全重复),技能发现统一走方式一
25
+ - `AGENTS.md` 命令速查表标注「完整操作指南以 SKILL.md 为准」,避免双表维护漂移
26
+ - **`.gitattributes` 统一文本换行**:`*.js/*.py/*.md/*.json/*.yml/*.yaml` 等强制 LF,消除 Windows 检出时的 CRLF 噪音 diff
27
+
28
+ ### Fixed
29
+ - `tests/test_wizard.py`:PATH_DEFS 断言更新为 A–F 并校验 F 路径映射(policy-search)
30
+
31
+ ## v2.12.0 (2026-09-08)
32
+
33
+ ### Added
34
+ - **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 挂载通过
35
+ - **DSH 设置平级菜单「文档样式配置」**(取代原「插件配置 → gongwen-skill」卡片):
36
+ - `dsh/client.js`:新增 `settings.section` 注册(id=`gongwen-styles`,order=20,label=`文档样式配置`),在「系统设置」侧边栏与通用设置/模型/插件平级;页面含默认公文类型下拉(25 种)与完整排版参数(39 字段);移除原 `settings.plugin.item` 卡片注册
37
+ - `dsh/index.js`:`GONGWEN_GUIDANCE` 入口描述同步为「系统设置 → 文档样式配置」
38
+ - README DSH 章节同步(配置入口、兼容性自查表、架构边界说明)
39
+
40
+ ### Changed
41
+ - **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 基础设施
42
+
43
+ ### Compatibility
44
+ - **DSH 宿主版本要求:支持 DSH ≥ 0.1.2-rc.1**。本版 DSH 插件改用官方 `settings.section` 平级菜单 + `ctx.tools.register(defineTool(...))` API,需要宿主提供对应服务;**旧版宿主(installSettingsSection 时代)不兼容**——升级 DSH 到 ≥ 0.1.2-rc.1,或改用纯 Skill 文件系统方式(方式一,无需 DSH 插件)。
45
+ - **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)均满足
46
+ - 设置命名空间内嵌排版参数与 `~/.gongwen-skill/dsh-config.json` 双向同步:首次加载自动迁移旧配置(仅当设置面板尚无用户覆盖时)。
47
+
48
+ ---
49
+
7
50
  ## v2.11.0 (2026-09-06)
8
51
 
9
52
  ### Added
package/README.md CHANGED
@@ -4,13 +4,13 @@ https://github.com/linhut/gongwen-skill
4
4
  Licensed under the MIT License. See the LICENSE file for details.
5
5
  -->
6
6
 
7
- # 公文全流程处理工具
7
+ # 公文全流程处理专家
8
8
 
9
9
  <p align="center">
10
- <img src="./logo/2026-08-19_11-17-43.png" alt="公文全流程处理工具" width="760">
10
+ <img src="./logo/2026-08-19_11-17-43.png" alt="公文全流程处理专家" width="760">
11
11
  </p>
12
12
 
13
- > 中文公文全流程处理工具——基于 **GB/T 9704《党政机关公文格式》** 国家标准,支持 **格式检查与修复、内容优化(Word 原生修订+批注/差异对比版)、模板生成、Markdown 转公文、版头版记页码注入、事实核验、风格增强** 等完整能力。原生支持 **DeepSeek Harness (DSH)** 技能系统,打包为可被 AI Agent 直接调用的 Skill,完全自包含,克隆即用。
13
+ > 中文公文全流程处理专家——基于 **GB/T 9704《党政机关公文格式》** 国家标准,支持 **格式检查与修复、内容优化(Word 原生修订+批注/差异对比版)、模板生成、Markdown 转公文、版头版记页码注入、事实核验、风格增强** 等完整能力。原生支持 **DeepSeek Harness (DSH)** 技能系统,打包为可被 AI Agent 直接调用的 Skill,完全自包含,克隆即用。
14
14
 
15
15
  [![CI](https://img.shields.io/badge/CI-Passing-brightgreen)](https://github.com/linhut/gongwen-skill/actions)
16
16
  [![PyPI](https://img.shields.io/pypi/v/gongwen-skill)](https://pypi.org/project/gongwen-skill/)
@@ -232,7 +232,7 @@ python -m gongwen font check # 检查安装状态
232
232
  ### 事实核验
233
233
 
234
234
  - **默认执行**(不依赖 `--background`):实体提取(人名/职务/机构全称)→ 互联网交叉核验 → 生成"存疑/已确认/未经核验"批注
235
- - **实体属性核验**:识别人名+职务配对(如"省民宗委党组成员、副主任XXX"),能发现职务写反等严重事实错误
235
+ - **实体属性核验**:识别人名+职务配对(如"××单位党组成员、副主任XXX"),能发现职务写反等严重事实错误
236
236
  - **LLM+规则混合提取**:配置 `GONGWEN_LLM_API` 后 LLM 内容理解提取(主通道)+ 规则提取(兜底)
237
237
  - **背景资料增强**:`--background` 传入 docx/pdf/md/txt/URL 构建基准,已确认实体自动过滤
238
238
 
@@ -314,11 +314,11 @@ python -m gongwen wizard --answers 答案.json --dry-run # 只打印将执行
314
314
 
315
315
  ### 讲话稿(speech 朗读件)
316
316
 
317
- 页边距为国标默认(上3.7/下3.5/左2.8/右2.6 cm);标题方正小标宋简体 24pt 居中、行距 35pt;一级标题黑体 18pt、二级标题楷体_GB2312 18pt;署名/日期楷体_GB2312 18pt 居中、行距 35pt;正文仿宋_GB2312 18pt 不加粗、行距 30pt exact、首行缩进 2 字符;跳过版头/版记/发文字号/密级检查。(样式以筹委会最终版定稿为准)
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
- 页边距与普通公文一致(上2.8/下2.8/左2.7/右2.7 cm);标题方正小标宋简体 24pt 居中、行距 35pt;主持人信息/日期楷体_GB2312 18pt 居中、行距 30pt;正文仿宋_GB2312 18pt 不加粗、行距 30pt exact、首行缩进 2 字符,议程引导句("下面,进行第X项议程…")可局部加粗;跳过版头/版记/发文字号/密级检查。(样式以筹委会最终版定稿为准)
321
+ 页边距与普通公文一致(上2.8/下2.8/左2.7/右2.7 cm);标题方正小标宋简体 24pt 居中、行距 35pt;主持人信息/日期楷体_GB2312 18pt 居中、行距 30pt;正文仿宋_GB2312 18pt 不加粗、行距 30pt exact、首行缩进 2 字符,议程引导句("下面,进行第X项议程…")可局部加粗;跳过版头/版记/发文字号/密级检查。(样式以最终版定稿为准)
322
322
 
323
323
  ## 📚 支持的 25 种公文类型
324
324
 
@@ -381,7 +381,7 @@ DSH 采用 **Cordis 模块化微内核架构**:技能体系基于本地文件
381
381
  git clone https://github.com/linhut/gongwen-skill.git
382
382
  cd gongwen-skill
383
383
  pip install -r requirements.txt # 或 pip install gongwen-skill(已上 PyPI)
384
- python -m gongwen --version # 检验:gongwen-skill v2.11.0
384
+ python -m gongwen --version # 检验:gongwen-skill v2.12.0
385
385
  ```
386
386
 
387
387
  ### 方式一:作为 DSH Skill 注册(基于本地文件系统)
@@ -437,7 +437,7 @@ pnpm add -w gongwen-skill
437
437
  "dependencies": {
438
438
  "@deepseek-ai/dsh-base": "...",
439
439
  "@deepseek-ai/dsh-web-app": "...",
440
- "gongwen-skill": "^2.11.0"
440
+ "gongwen-skill": "^2.12.0"
441
441
  },
442
442
  "dsh": {
443
443
  "profile": {
@@ -453,7 +453,7 @@ pnpm add -w gongwen-skill
453
453
 
454
454
  > **注意**:若 `add` 启动报错提示子包重复声明,请检查 `dsh.profile.bundles` 数组中**仅包含根包 `gongwen-skill`**,避免同时列入 `engine` 或 `gongwen` 等子目录。
455
455
 
456
- > **DSH 版本要求**:插件按 DeepSeek Harness 官方最新开发文档(Bluebook · Developer Guide)实现——`ctx.tools.register(defineTool(...))`(模型工具)、`ctx.settings.register` + `settings.plugin.item` 卡片(配置)、`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`。在旧版 DSH(无上述包)上安装会得到 pnpm peer 缺失警告,插件可能无法加载,请升级 DSH 或改用方式一(Skill 文件系统)。
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
457
 
458
458
  ### 方式三:本地源码链接(用于插件开发)
459
459
 
@@ -476,7 +476,7 @@ dsh plugin --profile web add -w "link:/path/to/gongwen-skill"
476
476
  - `dsh/index.js` 的 `POSITIONAL_ARGS` 声明各命令的位置参数(如 `draft: ["input"]`);新增/调整 CLI 命令位置参数时**必须同步更新该表**,否则插件转发会构造出 `--input` 而 CLI 只接受位置参数
477
477
  - 插件保持薄层:业务逻辑全在 CLI / engine,改动引擎不影响插件;改动 CLI 参数形态时需同步检查 `dsh/index.js` 转发(doctor 自检覆盖 DSH 文件存在性)
478
478
  - **模型工具注册**:插件通过官方 `ctx.tools.register(defineTool({...}))` 注册名为 `gongwen` 的模型工具,工具 schema 自动流入 DSH 系统提示词组装;`defineTool` 校验模型生成的参数后调用 `runCli()` 透传 Python CLI(详见上方「DSH 插件配置化」)
479
- - **客户端配置卡片**:`dsh/client.js` 注册进官方 `settings.plugin.item` keyed slot(以命名空间 `gongwen-skill` 为键),经 `ctx.settingsScope` 读写官方 settings 文档,UI 样式使用 `--dsw-alias-*` 语义 token(官方 Client UI & Slots 规范)
479
+ - **客户端配置菜单**:`dsh/client.js` 注册进官方 `settings.section` list slot(id=`gongwen-styles`,order=20,label=`文档样式配置`),在「系统设置」侧边栏与通用设置/模型/插件平级;页面经 `ctx.settingsScope` 读写官方 settings 文档,UI 样式使用 `--dsw-alias-*` 语义 token(官方 Client UI & Slots 规范)
480
480
 
481
481
  ### 🚀 启动 DSH Web 服务
482
482
 
@@ -492,10 +492,21 @@ dsh --profile web
492
492
 
493
493
  浏览器访问 [http://127.0.0.1:3080/](http://127.0.0.1:3080/),在新建会话时即可让 DSH Agent 自动加载 gongwen-skill 调用 Web UI 工具流。
494
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
+
495
505
  ### DSH 兼容性自查
496
506
 
497
507
  | 检查项 | 状态 |
498
508
  |:-------|:----:|
509
+ | **DSH 宿主版本要求(≥ 0.1.2-rc.1;旧版宿主「installSettingsSection 时代」不兼容)** | ✅ 需 DSH ≥ 0.1.2-rc.1 |
499
510
  | Skill 体系:`SKILL.md` YAML frontmatter (`name + description + whenToUse`) | ✅ |
500
511
  | 技能名称规范 (`gongwen-skill`,长度 ≤ 30 字符) | ✅ |
501
512
  | 目录技能格式 (`.dsh/skills/gongwen-skill/SKILL.md`) | ✅ |
@@ -504,13 +515,13 @@ dsh --profile web
504
515
  | 插件 bundle 声明:`dsh.bundle.patch`(官方「第三方插件」规范) | ✅ |
505
516
  | 客户端半侧声明:`dsh.client` + `exports["./client"]`(官方 Client 模块系统) | ✅ |
506
517
  | 模型工具注册:`ctx.tools.register(defineTool(...))`(官方 Registering Tools 规范) | ✅ `gongwen` 工具 |
507
- | 配置面板:官方 `settings.plugin.item` 卡片 + `ctx.settingsScope`(官方 Client UI & Slots) | ✅ |
518
+ | 配置菜单:官方 `settings.section` 平级菜单(「文档样式配置」)+ `ctx.settingsScope`(官方 Client UI & Slots) | ✅ |
508
519
  | 系统提示注入:`ctx.systemPrompt.section`(官方 Host Services & Events) | ✅ |
509
520
  | 运行时技能:`ctx.skills.register`(官方 Skills 注册表) | ✅ |
510
521
  | CLI 独立可执行(`python -m gongwen <命令>`) | ✅ |
511
522
  | PyPI 上架(`pip install gongwen-skill`) | ✅ |
512
523
  | 零外部运行时依赖(仅 python-docx/pydantic/pyyaml) | ✅ |
513
- | DSH 配置化排版参数(页边距/行距/字体/默认模板版本) | ✅ v2.6.0+ |
524
+ | DSH 配置化排版参数(页边距/行距/字体/默认公文类型,39 字段) | ✅ v2.6.0+ |
514
525
 
515
526
  ### DSH 插件配置化(v2.6.0+)
516
527
 
@@ -518,7 +529,7 @@ DSH 插件支持通过配置文件管理排版参数,Agent 调用时自动注
518
529
 
519
530
  **两种配置入口(同一数据,双向同步)**:
520
531
 
521
- 1. **DSH Web 设置面板(推荐)**:系统设置 → 插件配置 → **gongwen-skill** 卡片,按官方 `settings.plugin.item` 卡片规范渲染;保存后写入 DSH 官方 settings 文档,并由插件 Host 的 `scope.watch` 自动同步到 `~/.gongwen-skill/dsh-config.json`
532
+ 1. **DSH Web 设置面板(推荐)**:系统设置 → **文档样式配置**(设置侧边栏平级菜单,与通用设置/模型/插件并列),页面含默认公文类型下拉(25 种)与完整排版参数(页边距/字体/行距等 39 字段);保存后写入 DSH 官方 settings 文档,并由插件 Host 的 `scope.watch` 自动同步到 `~/.gongwen-skill/dsh-config.json`。样式模板的**学习与管理走 CLI**(`style-learn` / `style-list` / `template`,见「样式学习」章节),不占用设置面板,保持插件薄层
522
533
  2. **CLI / 配置文件**:直接编辑 `~/.gongwen-skill/dsh-config.json`,或通过插件 `config` 命令管理
523
534
 
524
535
  > **兼容性**:插件首次在带 settings provider 的 DSH 部署中加载时,会把已存在的 `~/.gongwen-skill/dsh-config.json` 一次性迁移进官方 settings 命名空间(仅当设置面板尚无用户覆盖时),之后以设置面板 / settings 文档为权威源,双向同步。
@@ -535,7 +546,7 @@ node -e "import('./dsh/index.js').then(async m => { console.log(await m.call({},
535
546
  cp etc/dsh-config-defaults.json ~/.gongwen-skill/dsh-config.json
536
547
  ```
537
548
 
538
- **配置项说明**:
549
+ **配置项说明**(完整 39 字段,与设置面板一一对应):
539
550
 
540
551
  | 配置路径 | 说明 | 默认值 |
541
552
  |:---------|:-----|:-------|
@@ -544,14 +555,22 @@ cp etc/dsh-config-defaults.json ~/.gongwen-skill/dsh-config.json
544
555
  | `page_setup.margins.left/right` | 左右页边距 | `2.7cm` |
545
556
  | `page_setup.header_distance` | 页眉距边界 | `1.5cm` |
546
557
  | `page_setup.footer_distance` | 页脚距边界 | `2.3cm` |
547
- | `body.font` | 正文字体 | `仿宋_GB2312` |
558
+ | `body.font` / `body.font_fallback` | 正文字体 / 回退字体 | `仿宋_GB2312` / `FangSong` |
548
559
  | `body.size` | 正文字号 | `16pt` |
549
560
  | `body.line_spacing` | 正文行距 | `33pt` |
550
561
  | `body.first_line_indent` | 首行缩进 | `2em` |
551
- | `doc_title.font` | 大标题字体 | `方正小标宋简体` |
552
- | `doc_title.size` | 大标题字号 | `22pt` |
553
- | `heading_1.font` | 一级标题字体 | `黑体` |
554
- | `heading_2.font` | 二级标题字体 | `楷体_GB2312` |
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` |
555
574
 
556
575
  **修改配置**(DSH 插件调用):
557
576
 
@@ -596,6 +615,7 @@ python -m gongwen optimize input.docx -o output.docx --apply \
596
615
  | 想让 DSH Agent 调用本技能,无需 Web UI | 方式一(Skill 文件系统) |
597
616
  | 想让 DSH Web UI 工具面板直接调用 | 方式二(npm 插件 bundle) |
598
617
  | 二开插件本身,本地反复编辑 | 方式三(link 模式) |
618
+ | 通用 Agent 一行安装(Claude Code/Codex/Cursor 等) | `npx skills add linhut/gongwen-skill` |
599
619
 
600
620
  ## 🤖 通过 Agent 调用
601
621
 
@@ -603,6 +623,13 @@ python -m gongwen optimize input.docx -o output.docx --apply \
603
623
 
604
624
  ### 安装方式
605
625
 
626
+ **方式零:npx skills add 一行安装(最简)**
627
+ ```bash
628
+ # 任意支持 Agent Skills 的 harness(Claude Code / Codex / Cursor 等)均可:
629
+ # skills CLI 会自动把本技能路由到对应 harness 的 skills 目录
630
+ npx skills add linhut/gongwen-skill
631
+ ```
632
+
606
633
  **方式一:克隆到 Skills 目录(推荐)**
607
634
  ```bash
608
635
  # WorkBuddy / CloudCode
@@ -643,7 +670,7 @@ pip install -r requirements.txt
643
670
  用户:帮我优化这份会议通知的第二章节措辞
644
671
 
645
672
  Agent:📋 合规自检报告
646
- Skill 版本: v2.11.0(版本自检已确认最新)
673
+ Skill 版本: v2.12.0(版本自检已确认最新)
647
674
  路径判定: B(内容优化)
648
675
  依据: 用户指定了已有文档,且要求"优化措辞"
649
676
  命令调用: 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),以及版头/版记/页码注入。覆盖通知/请示/报告/函/会议纪要等 24 类公文。完全自包含,克隆即用,无需数据库或后端服务。
4
- whenToUse: 当用户需要处理中文公文(.docx格式)时,包括格式检查、自动修复、内容润色、模板生成、样式学习(从标准文档学习排版样式生成自定义模板)、Markdown转公文、版头版记注入等场景。适用于通知/请示/报告/函/会议纪要/新闻稿/讲话稿等24种公文类型。
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: 24
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
 
@@ -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 民委红头规范 --apply # 套用模板
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
- > 桌签模板参考:`F:\省民宗委\收集\定稿学习\不确定是否可用的模板\桌签.dotx`
1897
+ > 桌签模板由工具内置模板(`engine/templates/table_sign.dotx`)自动生成,无需外部模板文件。
1898
1898
  > 生成时以名单输入文件或标准输入传递人员姓名(每行一人),支持 `--combined` 合并为一个多页文档。
1899
1899
 
1900
1900
  **第二步:md2docx 转换(管线内步骤)**
@@ -2662,7 +2662,7 @@ python -m gongwen check 成品.docx -t <类型> --json
2662
2662
  | 讲话要点标题 | 黑体 | 18pt | 首行缩进2字 | 一、二、三 等层次标题 |
2663
2663
  | 议程导引 | 仿宋_GB2312 | 18pt | 两端对齐 | "首先""下面""现在"等过渡语 |
2664
2664
 
2665
- > **讲话稿(speech)与主持词(host_speech)格式差异**(以筹委会最终版定稿为准):
2665
+ > **讲话稿(speech)与主持词(host_speech)格式差异**(以最终版定稿为准):
2666
2666
  > - 页边距:讲话稿用国标默认(上3.7/下3.5/左2.8/右2.6cm);主持词与普通公文一致(上2.8/下2.8/左2.7/右2.7cm)。
2667
2667
  > - 署名/日期行距:讲话稿 35pt;主持词 30pt(均楷体_GB2312 18pt 居中)。
2668
2668
  > - 正文:均为仿宋_GB2312 18pt 不加粗、行距 30pt exact、首行缩进 2 字;主持词议程引导句可局部加粗。
package/cordis.patch.yml CHANGED
@@ -2,7 +2,7 @@
2
2
  # https://github.com/linhut/gongwen-skill
3
3
  # Licensed under the MIT License. See the LICENSE file for details.
4
4
 
5
- # dsh bundle layer: 公文全流程处理工具 (gongwen-skill, host + client)
5
+ # dsh bundle layer: 公文全流程处理专家 (gongwen-skill, host + client)
6
6
  - insert:
7
7
  - id: gongwen-skill
8
8
  name: gongwen-skill