lunheng-article-pipeline 18.2.4 → 18.2.5
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/README.es.md +2 -2
- package/README.hi.md +2 -2
- package/README.md +2 -2
- package/README.pt.md +2 -2
- package/README.zh.md +3 -3
- package/SECURITY.md +1 -1
- package/cordis.patch.yml +1 -1
- package/docs/introduction.md +2 -2
- package/examples/preset/README.md +1 -1
- package/package.json +1 -1
- package/skills/lunheng-article-pipeline/AGENTS.md +3 -0
- package/skills/lunheng-article-pipeline/QUICKSTART.md +2 -2
- package/skills/lunheng-article-pipeline/README.md +1 -1
- package/skills/lunheng-article-pipeline/SKILL.md +5 -4
- package/skills/lunheng-article-pipeline/references/_shared/DSH-/351/233/206/346/210/220/346/226/271/346/241/210.md +3 -3
- package/skills/lunheng-article-pipeline/references/_shared/M-Gate-Algorithm.md +1 -1
- package/skills/lunheng-article-pipeline/references/_shared/audit-checklist-quickref.md +1 -1
- package/skills/lunheng-article-pipeline/references/_shared/degraded-scenarios.md +1 -1
- package/skills/lunheng-article-pipeline/references/_shared/failure-modes.md +1 -1
- package/skills/lunheng-article-pipeline/references/_shared/format-export.md +1 -1
- package/skills/lunheng-article-pipeline/references/_shared//344/270/255/346/226/207/346/225/260/346/215/256/346/272/220/351/233/206/346/210/220.md +1 -1
- package/skills/lunheng-article-pipeline/references/_shared//345/255/227/346/225/260/345/210/244/345/256/232/350/241/250.md +1 -1
- package/skills/lunheng-article-pipeline/references/_shared//346/234/237/345/210/212/345/214/271/351/205/215/347/256/227/346/263/225.md +1 -1
- package/skills/lunheng-article-pipeline/references/_shared//346/234/237/345/210/212/346/225/260/346/215/256/345/272/223.md +1 -1
- package/skills/lunheng-article-pipeline/references/_shared//346/234/272/346/243/200/347/241/254/346/240/274/345/274/217.md +3 -0
- package/skills/lunheng-article-pipeline/references/_shared//346/250/241/345/236/213/350/267/257/347/224/261.md +1 -1
- package/skills/lunheng-article-pipeline/references/_shared//350/247/204/350/214/203-/346/234/272/346/242/260/351/227/250/345/257/271/347/205/247/350/241/250.md +10 -3
- package/skills/lunheng-article-pipeline/references/agents/00-/344/270/273/346/216/247-coordinator.md +1 -1
- package/skills/lunheng-article-pipeline/references/agents/00-/344/270/273/346/216/247-/346/211/251/345/261/225/350/201/214/350/264/243.md +1 -1
- package/skills/lunheng-article-pipeline/references/agents/01-/346/226/207/347/214/256/346/243/200/347/264/242-literature-scout.md +1 -1
- package/skills/lunheng-article-pipeline/references/agents/02-/346/225/260/346/215/256/346/243/200/347/264/242-data-scout.md +1 -1
- package/skills/lunheng-article-pipeline/references/agents/03-/346/241/210/344/276/213/346/243/200/347/264/242-case-scout.md +1 -1
- package/skills/lunheng-article-pipeline/references/agents/04-/345/210/206/346/236/220-analyst.md +4 -1
- package/skills/lunheng-article-pipeline/references/agents/05-/345/206/231/344/275/234-writer.md +18 -6
- package/skills/lunheng-article-pipeline/references/agents/06-/346/211/271/345/210/244-critical-companion.md +1 -1
- package/skills/lunheng-article-pipeline/references/agents/07-/345/256/241/350/256/241-auditor.md +1 -1
- package/skills/lunheng-article-pipeline/references/agents/08-/347/273/210/346/243/200-finalizer.md +1 -1
- package/skills/lunheng-article-pipeline/references/agents/09-/345/256/241/347/250/277-peer-reviewer.md +1 -1
- package/skills/lunheng-article-pipeline/references/checkers//344/270/255/346/226/207AI/347/227/225/350/277/271-checker.md +20 -8
- package/skills/lunheng-article-pipeline/references/deliverables.md +1 -1
- package/skills/lunheng-article-pipeline/references/gates/14-/344/270/255/346/226/207AI/347/227/225/350/277/271-gate.md +1 -1
- package/skills/lunheng-article-pipeline/references/glossary.md +1 -1
- package/skills/lunheng-article-pipeline/references/pipeline-readme.md +6 -3
- package/skills/lunheng-article-pipeline/references/templates/AI-/344/275/277/347/224/250/345/243/260/346/230/216-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates/G14/346/243/200/346/265/213/346/212/245/345/221/212-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates/status-template-lite.md +2 -0
- package/skills/lunheng-article-pipeline/references/templates/status-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates/style-baseline-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates//344/270/273/344/272/272/346/212/225/345/226/202/346/270/205/345/215/225-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates//344/270/273/344/272/272/347/241/256/350/256/244-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates//344/272/244/344/273/230/350/257/264/346/230/216-template.md +10 -3
- package/skills/lunheng-article-pipeline/references/templates//344/273/273/345/212/241/347/256/200/346/212/245-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates//344/277/256/350/256/242/350/257/264/346/230/216-template-full.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates//345/261/200/351/231/220/346/200/247-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates//346/212/225/347/250/277/345/260/261/347/273/252/346/243/200/346/237/245/350/241/250-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates//346/250/241/345/236/213/350/267/257/347/224/261/350/241/250-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates//347/264/240/346/235/220/345/212/240/350/275/275/346/270/205/345/215/225-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates//350/277/233/345/261/225-/344/270/273/344/272/272/347/211/210-template.md +1 -1
- package/skills/lunheng-article-pipeline/references/templates//351/227/270/351/227/250/350/256/260/345/275/225-template.md +1 -1
- package/skills/lunheng-article-pipeline/scripts/apply-diff.mjs +189 -0
- package/skills/lunheng-article-pipeline/scripts/m-gate-check.mjs +106 -12
package/README.es.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Lunheng (lunheng-article-pipeline) — pipeline multiagente para textos largos
|
|
2
2
|
|
|
3
|
-
> 版本:v18.2.
|
|
3
|
+
> 版本:v18.2.5(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
|
|
4
4
|
|
|
5
5
|
> 🌐 [English](README.md) | [中文](README.zh.md) | **Español**(este archivo)| [Português](README.pt.md) | [हिन्दी](README.hi.md)
|
|
6
6
|
|
|
@@ -108,7 +108,7 @@ La capa patch hace dos cosas: **inserta una fila para este paquete** (`- id: lun
|
|
|
108
108
|
Las versiones se publican **solo por tag**; `npm publish` local está prohibido (evita las puertas de CI y la procedencia OIDC, y una versión npm nunca se puede sobrescribir).
|
|
109
109
|
|
|
110
110
|
```sh
|
|
111
|
-
git tag v18.2.
|
|
111
|
+
git tag v18.2.5 && git push origin v18.2.5 # un tag por push (GitHub: >3 tags en un push no dispara workflow)
|
|
112
112
|
# publish.yml ejecuta: puerta 1 consistencia → puerta 2 empaquetado → puerta 3 higiene → puerta 4 humo del paquete → tests
|
|
113
113
|
# → tag/versión iguales → guarda de idempotencia → OIDC publish --provenance --tag dsh → auditoría posterior
|
|
114
114
|
```
|
package/README.hi.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# लुन्हेंग (lunheng-article-pipeline) — बहु-एजेंट दीर्घ-लेख पाइपलाइन
|
|
2
2
|
|
|
3
|
-
> 版本:v18.2.
|
|
3
|
+
> 版本:v18.2.5(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
|
|
4
4
|
|
|
5
5
|
> 🌐 [English](README.md) | [中文](README.zh.md) | [Español](README.es.md) | [Português](README.pt.md) | **हिन्दी**(यह फ़ाइल)
|
|
6
6
|
|
|
@@ -108,7 +108,7 @@ patch परत दो काम करती है: **इस पैकेज
|
|
|
108
108
|
संस्करण **केवल tag से** प्रकाशित होते हैं; स्थानीय `npm publish` वर्जित है (यह CI द्वारों और OIDC provenance को दरकिनार करता है, और npm संस्करण कभी अधिलेखित नहीं हो सकता)।
|
|
109
109
|
|
|
110
110
|
```sh
|
|
111
|
-
git tag v18.2.
|
|
111
|
+
git tag v18.2.5 && git push origin v18.2.5 # एक बार में एक ही tag (GitHub: >3 tag एक push में कोई workflow नहीं चलाता)
|
|
112
112
|
# publish.yml क्रम: द्वार 1 सुसंगति → द्वार 2 पैकेजिंग → द्वार 3 स्वच्छता → द्वार 4 पैकेज स्मोक → स्क्रिप्ट परीक्षण
|
|
113
113
|
# → tag/संस्करण समानता → idempotency गार्ड → OIDC publish --provenance --tag dsh → प्रकाशन-पश्चात लेखा-परीक्षा
|
|
114
114
|
```
|
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 🌐 **English** (this file) | [中文](README.zh.md) | [Español](README.es.md) | [Português](README.pt.md) | [हिन्दी](README.hi.md)
|
|
4
4
|
|
|
5
|
-
> 版本:v18.2.
|
|
5
|
+
> 版本:v18.2.5(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
|
|
6
6
|
|
|
7
7
|
> A DeepSeek Harness (DSH) bundle that registers one on-demand agent skill. The skill turns long-form production — academic papers, industry analysis, business commentary, and long-form articles — into a **9-role pipeline with a human in the loop**.
|
|
8
8
|
|
|
@@ -108,7 +108,7 @@ The patch layer does two things: it **inserts one row for this package** (`- id:
|
|
|
108
108
|
Releases are **tag-only**; a local `npm publish` is forbidden (it would bypass the CI gates and OIDC provenance, and a published npm version can never be overwritten).
|
|
109
109
|
|
|
110
110
|
```sh
|
|
111
|
-
git tag v18.2.
|
|
111
|
+
git tag v18.2.5 && git push origin v18.2.5 # push one tag at a time (GitHub: >3 tags in one push triggers no workflow)
|
|
112
112
|
# publish.yml then runs gate 1 consistency → gate 2 packaging surface → gate 3 hygiene → gate 4 pack smoke → script tests
|
|
113
113
|
# → tag/version equality → idempotency guard → OIDC publish --provenance --tag dsh → post-publish audit
|
|
114
114
|
```
|
package/README.pt.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Lunheng (lunheng-article-pipeline) — pipeline multiagente para textos longos
|
|
2
2
|
|
|
3
|
-
> 版本:v18.2.
|
|
3
|
+
> 版本:v18.2.5(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
|
|
4
4
|
|
|
5
5
|
> 🌐 [English](README.md) | [中文](README.zh.md) | [Español](README.es.md) | **Português**(este arquivo)| [हिन्दी](README.hi.md)
|
|
6
6
|
|
|
@@ -108,7 +108,7 @@ A camada patch faz duas coisas: **insere uma linha para este pacote** (`- id: lu
|
|
|
108
108
|
As versões são publicadas **apenas por tag**; `npm publish` local é proibido (contorna os portões de CI e a proveniência OIDC, e uma versão npm nunca pode ser sobrescrita).
|
|
109
109
|
|
|
110
110
|
```sh
|
|
111
|
-
git tag v18.2.
|
|
111
|
+
git tag v18.2.5 && git push origin v18.2.5 # uma tag por push (GitHub: >3 tags em um push não dispara workflow)
|
|
112
112
|
# publish.yml executa: portão 1 consistência → portão 2 empacotamento → portão 3 higiene → portão 4 teste de fumaça do pacote → testes
|
|
113
113
|
# → tag/versão iguais → guarda de idempotência → OIDC publish --provenance --tag dsh → auditoria posterior
|
|
114
114
|
```
|
package/README.zh.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> 🌐 [English](README.md) | **中文**(本文件)| [Español](README.es.md) | [Português](README.pt.md) | [हिन्दी](README.hi.md)
|
|
4
4
|
|
|
5
|
-
> 版本:v18.2.
|
|
5
|
+
> 版本:v18.2.5(DSH bundle:package.json + cordis.patch.yml + lib/index.js)
|
|
6
6
|
|
|
7
7
|
> 一个 DeepSeek Harness(DSH)bundle 插件,注册一个按需加载的 agent 技能。它把深度长文的生产——学术论文、行业分析、商业评论、公众号深文——变成**带人在环节点的 9 角色流水线**。
|
|
8
8
|
|
|
@@ -75,7 +75,7 @@ lunheng-article-pipeline/ # 包即仓库
|
|
|
75
75
|
│ ├── QUICKSTART.md # 5 分钟快速开始
|
|
76
76
|
│ ├── README.md # 技能级说明(中文)
|
|
77
77
|
│ ├── references/ # 9 张角色卡、模板、共享闸门算法、期刊数据库
|
|
78
|
-
│ └── scripts/ #
|
|
78
|
+
│ └── scripts/ # 12 个零依赖 .mjs 机械校验脚本
|
|
79
79
|
├── scripts/ # 仓库门:打包面 + 机械卫生
|
|
80
80
|
├── tests/ # node --test 回归(脚本 + 插件入口冒烟)
|
|
81
81
|
├── docs/ # 安装 / 使用 / 架构 / FAQ / 排障
|
|
@@ -108,7 +108,7 @@ patch 层做两件事:**插入一行本包自注册行**(`- id: lunheng-arti
|
|
|
108
108
|
**只推 tag 发布,禁止本地 `npm publish`**(本地直发会绕过 CI 三道门与 OIDC 来源证明,且 npm 版本不可覆盖)。
|
|
109
109
|
|
|
110
110
|
```sh
|
|
111
|
-
git tag v18.2.
|
|
111
|
+
git tag v18.2.5 && git push origin v18.2.5 # 一次只推 1 个 tag(GitHub:单次 push >3 个 tag 不触发任何 workflow)
|
|
112
112
|
# publish.yml 依次跑:门 1 一致性 → 门 2 打包面 → 门 3 机械卫生 → 门 4 打包产物冒烟 → 脚本回归测试
|
|
113
113
|
# → tag/版本一致校验 → 幂等守卫 → OIDC 发布 --provenance --tag dsh → 发布后审计
|
|
114
114
|
```
|
package/SECURITY.md
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
| 加载期执行 | `cordis.patch.yml` 含 **3 处 `!!js` 表达式**(3 处分档 agentOptions,各自读取 `LUNHENG_*_PROVIDER/MODEL`;未设则返回 `undefined`)。它们由 DSH 宿主进程在**加载期以完整 Node 权限**求值,**发生在 agent 沙箱与审批关卡之前** —— 安装本包即等于允许这些表达式在每次启动时执行。 |
|
|
23
23
|
| 允许的表达式内容 | 仅 `process.env.*` 与全局 `Object.assign`。(v18.0.0 起技能目录不再由 patch 求值挂载,故 `baseUrl` / `URL` / `decodeURIComponent` / `process.platform` 已不再需要——表达式面比 v17.0.0 **更窄**。) |
|
|
24
24
|
| 禁止的表达式内容(CI 红线,`consistency-check.mjs` 规则 ⑭) | `getBuiltinModule` / `child_process` / `require(` / `import(` / `eval(` / `new Function` / `node:` / `fs.` |
|
|
25
|
-
| 随包脚本 |
|
|
25
|
+
| 随包脚本 | 12 个 `.mjs`:**零第三方依赖、零网络请求**;唯一子进程调用在 `final-check.mjs`(`spawnSync` 固定脚本路径 + 参数数组 + `shell:false`)。其中 `normalize-trust-level.mjs` / `md2html.mjs` / `final-check.mjs` 可写文件——技能已要求其目标路径限于项目目录,且默认 dry-run(`normalize-trust-level`)。 |
|
|
26
26
|
| 技能机制 | 技能会让 agent 读写工作区文件、派发子代理、并经外部检索服务外发检索关键词/目标 URL(Phase 0 有「4 选 1」明示同意关卡)。 |
|
|
27
27
|
| 已知边界 | 同名技能存在**按 rank 就近静默覆盖**的平台行为:项目根 `.dsh/skills/<同名>` 会顶替本包提供的技能副本(无告警)。技能已加入启动自检条款(核对版本头,不符即停机报告)。 |
|
|
28
28
|
|
package/cordis.patch.yml
CHANGED
package/docs/introduction.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> **论衡(lunheng-article-pipeline)** 是一个多 Agent 深度长文生产流水线,DeepSeek Harness(dsh)bundle 插件。它不是让一个 AI 直接写文章,而是让一支 **9 个 AI 角色组成的"论文生产小队"** 按既定协议协作:定题 → 三线并行检索 → 分析 → 写作 → 批判 → 审计 → 审稿 → 终检。每一步都有明确产出物、交接报告与质量闸门,最终交付**有证据底座、有反方论证、有独立审计、有人工核验节点**的文章。
|
|
4
4
|
|
|
5
|
-
> 适用:公众号深度长文、研究报告、学术论文、商业评论、行业分析——任何"要站得住脚"的长内容。当前版本 **v18.2.
|
|
5
|
+
> 适用:公众号深度长文、研究报告、学术论文、商业评论、行业分析——任何"要站得住脚"的长内容。当前版本 **v18.2.5**(DSH 独立版本)。
|
|
6
6
|
|
|
7
7
|
---
|
|
8
8
|
|
|
@@ -170,7 +170,7 @@ dsh plugin --profile web add lunheng-article-pipeline
|
|
|
170
170
|
## 获取方式
|
|
171
171
|
|
|
172
172
|
- **GitHub(DSH bundle)**:https://github.com/zuoyunlai/lunheng-article-pipeline-dsh
|
|
173
|
-
- **npm**:`lunheng-article-pipeline@dsh`(dist-tag `dsh` = 最新 DSH 迭代版);锁定具体版本可写 `@18.2.
|
|
173
|
+
- **npm**:`lunheng-article-pipeline@dsh`(dist-tag `dsh` = 最新 DSH 迭代版);锁定具体版本可写 `@18.2.5`
|
|
174
174
|
- **历史版本线(独立化前)**:https://github.com/zuoyunlai/lunheng-article-pipeline
|
|
175
175
|
|
|
176
176
|
---
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
```sh
|
|
13
13
|
# 1. 在 profile 里声明 bundle 依赖(DSH 读 dsh.bundle.patch 找到 cordis.patch.yml 加载)
|
|
14
14
|
dsh plugin --profile web add lunheng-article-pipeline@dsh # 推荐:跟随最新 DSH 迭代版
|
|
15
|
-
# 锁定具体版本:dsh plugin --profile web add lunheng-article-pipeline@18.2.
|
|
15
|
+
# 锁定具体版本:dsh plugin --profile web add lunheng-article-pipeline@18.2.5
|
|
16
16
|
|
|
17
17
|
# 2. (可选)设三档 subagent 工具的 provider/model 环境变量
|
|
18
18
|
# 不设任何变量 = 三档全部继承会话模型(安全默认,单模型用户无需本步)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lunheng-article-pipeline",
|
|
3
|
-
"version": "18.2.
|
|
3
|
+
"version": "18.2.5",
|
|
4
4
|
"description": "论衡(lunheng-article-pipeline)— 多 Agent 深度长文流水线技能包(DeepSeek Harness 原生插件):定题→并行检索(文献/数据/案例)→分析→大纲人在环确认→写作→批判→审计→审稿→修订→配图→终检交付,9 个独立角色 T1-T9 互不可替代(文献/数据/案例/分析/写作/批判/审计/终检/审稿),主控 = T0 调度 + T8 终检亲执行(T8 独立角色,执行者主控担任,不 spawn),T9 审稿可选默认选中学术必选,三角验证 + M 机械化硬门 + F 失败模式防御 + G14 中文 AI 痕迹闸 + 期刊匹配助手,用 dsh subagent 子代理编排。",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -78,6 +78,9 @@ Phase 5 终检 → T8 终检(独立角色,主控 T0 以 T8 身份亲完
|
|
|
78
78
|
> **文档涨了先看词预算门**(v18.1.0):`repo-hygiene-check` 规则⑨ 对技能目录内 ≥12 KB 的 .md 逐文件设**棘轮上限**(SKILL.md 30→31 KB 是本轮显式抬升)。**任何文档增长必须在同一次提交里抬升上限并写明理由**;`skills/lunheng-article-pipeline/scripts/` 外的仓库脚本改动不受此门约束。规则① 同时扩面到 `.js` 与**未跟踪文件**(`npm pack` 会打包未 `git add` 的新脚本)。
|
|
79
79
|
**仓库级打包面检查**(`cordis.patch.yml` 合法性 / 行 id 唯一 / `dsh.bundle.patch` 指向 / `package.json` 元数据(`main` + `files` 含 `lib` + `packageManager`)/ 五语 README 一致性 / 工程红线;**v18.0.0 起无豁免**,11 通过 / 3 跳过)由 CI 的 `plugin-surface` job 承担,本地复现命令见 `.github/workflows/ci.yml` 与 CHANGELOG 同名条目;**包入口的执行路径**由 `tests/entry.test.mjs` 用最小 ctx 真跑 `apply` 覆盖、**「patch 必须插入本包自注册行」由 `tests/bundle-contract.test.mjs` 覆盖**(静态门不执行入口、也不验 patch 是否引用本包,故这两条不可省——教训 #152 / #154)
|
|
80
80
|
|
|
81
|
+
7. **读中文文件一律显式 `-Encoding UTF8`(v18.2.5 新增)**:`Get-Content` 等文本读取必带该参数。
|
|
82
|
+
> **判据:看到中文乱码,先怀疑读取端编码,不要先怀疑文件**(实测:合法 UTF-8 文案在 pwsh 默认解码下显示乱码,曾被误判为「子代理产物编码坏了」,险些错误重派)。
|
|
83
|
+
|
|
81
84
|
## 开发参考资料(v18.0.0 新增,主人指示:官方资料为以后开发的重要参考)
|
|
82
85
|
|
|
83
86
|
> **判据(主人 2026-09-11 指示)**:凡涉及**包形态、插件契约、服务/事件、工具注册、打包发布、官方文档规范**的改动,**先查官方资料再动手**——不得凭记忆、也不得凭本包既有写法推断(既有写法本身可能与官方漂移)。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
> 版本:v18.2.
|
|
1
|
+
> 版本:v18.2.5(DSH bundle 插件)
|
|
2
2
|
|
|
3
|
-
# 论衡快速开始指南(v18.2.
|
|
3
|
+
# 论衡快速开始指南(v18.2.5)
|
|
4
4
|
|
|
5
5
|
> **v2.3.0 升级(2026-08-21)**:角色编号重构(教训 #116)—— T6 案例检索 → T3 案例检索(三方并行检索员连贯 T1∥T2∥T3),T3-T8 顺延 + T7/T8 交换位置(终检 → T8 主控亲完成、批判 → T6 独立早期攻击、审计 → T7 形式审查)。新增 Phase 3.6 批判(T6 攻击 v2 含主人洞察)。
|
|
6
6
|
>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 论衡(lunheng-article-pipeline)— 多 Agent 深度长文流水线
|
|
2
2
|
|
|
3
|
-
> **DSH 原生插件(v18.2.
|
|
3
|
+
> **DSH 原生插件(v18.2.5)**:本仓库为 DSH bundle 技能包(`package.json` 的 `main` → `lib/index.js` 注册本技能 + `dsh.bundle.patch` → `cordis.patch.yml` 叠加三档 subagent 工具);结构性差异见 `SKILL.md` 的「🔧 DSH 环境说明」章节。
|
|
4
4
|
|
|
5
5
|
把一篇深度文章 / 论文的生产拆成 **9 个独立角色 T1-T9 + 6 个阶段**(v2.5.2-dsh.8 语义定案:T1-T9 互不可替代;Phase 1 为 T1 文献 ∥ T2 数据 ∥ T3 案例 三检索员三方真并行互不干涉,T3 任何量级必 spawn 含 0 条空卡协议;T6 批判伙伴 + T7 审计 + **T8 终检独立角色由主控 T0 亲执行** + T9 同行评审可选默认选中学术必选,v2.3.0 角色编号重构 + v2.4.0 加 T9),用 DSH 的 `subagent` 子代理编排,产出有**证据底座、反方论证、独立审计、人工核验节点**的交付物。
|
|
6
6
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "lunheng-article-pipeline"
|
|
3
|
-
version: "18.2.
|
|
3
|
+
version: "18.2.5"
|
|
4
4
|
description: "论衡:DSH 原生多 Agent 深度长文流水线(学术论文 / 商业评论 / 行业分析 / 公众号)。9 个独立角色 T1-T9 + 主控(T0 调度 + T8 终检);三角验证 + M 门 + G 审计 + 修订回环 ≤2 轮 + 期刊匹配。适用:≥2000 字、证据须可追溯的长文(含 4 个人在环节点、1-3 小时流水线时长)。**不适用**:<2000 字短文与即时问答;文学创作(小说/诗歌/剧本);需数学推导或实验设计的理工科论文;营销软文;需要一手数据(问卷/访谈/田野/实验)而尚未投喂素材。"
|
|
5
5
|
whenToUse: "「何时该用」与「何时不该用」的完整判据已并入 description(v18.0.5:官方目录只渲染 name + description,本字段对模型不可见,保留仅供工具链与维护者阅读)。"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
> 版本:v18.2.
|
|
8
|
+
> 版本:v18.2.5(DSH bundle 插件)
|
|
9
9
|
> **v2.5.2-dsh.8 角色语义定案(主人指令)**:**9 个角色 T1-T9 各自独立、不可相互替代**——T8 终检不是「主控兼做的杂活」而是独立角色(有独立角色卡),只是执行者由主控担任(**主控 = T0 调度 + T8 终检执行双重身份**),不 spawn 子代理;**T9 审稿可选、默认选中、学术论文必选**。
|
|
10
10
|
|
|
11
11
|
# 多 Agent 深度长文流水线(论文/深度文章生产)
|
|
@@ -40,7 +40,8 @@ whenToUse: "「何时该用」与「何时不该用」的完整判据已并入 d
|
|
|
40
40
|
|
|
41
41
|
**论衡技能的工具边界(DSH)**:
|
|
42
42
|
- ✅ **可调用**:当前会话预设提供的工具(本机 standard 预设实测含 read / write / edit / web_search / web_fetch / todo_write / subagent / list_agents / pwsh 等)——DSH 无技能级白名单,工具集由 Agent 预设决定。**调用任何工具前先确认它在当前会话工具清单里**(教训:`read_page`/`bash` 并不存在于本预设,曾被本文档误声明为可用)。
|
|
43
|
-
- ✅ **随包脚本白名单(
|
|
43
|
+
- ✅ **随包脚本白名单(v18.2.5 复核为 12 个)**:`scripts/*.mjs` = consistency-check / m-gate-check / md2html / pdfcheck / token-cost / count-chars / build-evidence-bundle / final-check / normalize-trust-level / model-routing / token-budget / apply-diff + 有限验证命令(ls/stat/wc/cp/diff/Get-FileHash 等)——**受限 shell 使用**(另:`_lib` 子目录为共享库,非入口、不单独调用),非「零 exec」;其余命令须经主人同意。
|
|
44
|
+
> **`apply-diff.mjs`(v18.2.5 新增)**:段级 diff 清单机械应用器,用法与清单格式约定见 [`references/pipeline-readme.md`](references/pipeline-readme.md) §修订轮默认段级 diff。
|
|
44
45
|
- ❌ **不做**:凭据访问 / 浏览器自动化 / 定时任务(除白名单脚本与验证命令外,主控默认不执行任意 shell,LLM 推理判定)。
|
|
45
46
|
- 🔒 **机制文件写保护(v2.5.2-dsh.13;v18.1.0 部分机械化)**:`SKILL.md` / `AGENTS.md` / `references/**` / `scripts/**` / `cordis.patch.yml` 属**机制文件**——任何角色(含主控与子代理)**不得**用 write/edit 改动;改进动议只写 `audits/反哺报告-vN.md`,由主人在 host shell apply。**改机制文件 = P0 违规,本次交付作废**。v18.1.0 起 bundle 部署下这条由 prompt 升级为**机制否决**(入口注册全局 `ctx.tools.guard()`,命中即拒绝;主人授权走 `LUNHENG_ALLOW_MECH_EDIT=1`);**残余缺口**:guard 只看工具调用,`pwsh` 不经此门——「比 prompt 强、比机制强制弱」。详见 `references/_shared/DSH-集成方案.md` §6。
|
|
46
47
|
- 🧾 **闸门必须留机械证据(v2.5.2-dsh.13 新增;v18.0.2 统一退出码;v18.0.5 补异常路径)**:T2.5/T7.5 与 M 门**不得只凭自述**——交接报告须附**脚本 exit code + 产物路径**(如 `m-gate-check.mjs … --report <项目>/final/M-Gate-Report.json` 的 exit 与报告路径)。exit 语义:`0` 通过 / `1` P1 失败 / `2` P0 失败 / `3` 仅 P2·soft·SKIP(需 LLM 复核,**不得**当通过)/ `10` **参数或路径错误**(含**异常路径**:v18.0.5 起所有随包脚本装 `_lib/exit-guard.mjs`,fs 类异常统一映射为 10,不再让未捕获异常退化成 1)/ `70` **内部错误(EX_SOFTWARE,脚本缺陷)**——与任何内容判定无关。**路径错一律 10,不得与 P1 混用**(`m-gate-check` 曾把「定稿/证据包不存在」判 1,`final-check` 会误渲染成「有 P1 残留、可触发 T5 修订」)。另:`model-routing.mjs` 用自有码 **`4`**=需人工决定(旧版 `3` 与 M 门 `3` 撞码);非闸门工具(`token-budget`/`md2html`/`pdfcheck`/`token-cost`)不共用本语义,见各自头注释与 `docs/troubleshooting.md §8`。
|
|
@@ -94,7 +95,7 @@ whenToUse: "「何时该用」与「何时不该用」的完整判据已并入 d
|
|
|
94
95
|
|
|
95
96
|
## ⚡ 启动速查表
|
|
96
97
|
|
|
97
|
-
- 版本:v18.2.
|
|
98
|
+
- 版本:v18.2.5|角色:T0 主控(= T8 终检执行者)+ T1 文献 / T2 数据 / T3 案例 / T4 分析 / T5 写作 / T6 批判 / T7 审计 / T8 终检(主控亲执行)/ T9 审稿(默认选中,学术必选)
|
|
98
99
|
- Phase:0 定题 → 1 检索(T1∥T2∥T3) → 2 分析 → 2.5 大纲(人) → 3 写作 → **[3.1 G14 早闸]** → 3.5 洞察(人) → 3.6 批判 → 4 审计 → 4.5 审稿+G14 → 5 终检(人)
|
|
99
100
|
- 工具:subagent=派发(分档预设按角色选 subagent_retrieval/strong/audit)|list_agents=查看|todo_write=计划|web_search/web_fetch=检索|pwsh=命令|edit/write=文件
|
|
100
101
|
- 闸门:T2.5(检索→分析)/ T7.5(审计→终检);M 门 exit 0;修订回环双轨 ≤2 轮(A 轨)
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# 论衡 × DSH 能力面集成方案
|
|
2
2
|
|
|
3
|
-
> **版本**:v18.2.
|
|
4
|
-
> **用途**:把论衡的既有机制(
|
|
3
|
+
> **版本**:v18.2.5(C 组落地;§一–§六 为 v18.0.2 原文,§七–§八 为 v18.2.1 新增,**§九 为 v18.2.2 新增**)
|
|
4
|
+
> **用途**:把论衡的既有机制(12 个门禁脚本 / 并行阶段 / 状态机 / 人在环闸门)**对齐 DSH 已有能力面**,替代平行自建。§一–§六 是**实施方案**,§七 是**落地状态表**,§八 是**可选配方**。
|
|
5
5
|
> **依据**:DSH 官方文档 `docs/cookbook/adding-a-tool.md`、`docs/tool-execution-pipeline.md`、`docs/subsystems/*.md`、`docs/capability-seams.md`(知识库副本见 `dsh-plugin-guide/references/official-docs/`;行号对快照 commit `d347e703…`)。
|
|
6
6
|
> **当前状态**:**C 组四项已启用**(原生只读工具 / `ctx.tools.guard()` 写保护 / `/lunheng-status` / 词预算门)、一项给配方(分档工具行→agent preset)、一项仍未接线(Phase 内并行→`workflow`,依官方用法限定「仅在用户明确要求 workflow 或大规模编排时」用,故**降级为按需**)。
|
|
7
7
|
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
### 2.1 适用与收益
|
|
27
27
|
|
|
28
|
-
把
|
|
28
|
+
把 12 个 `scripts/*.mjs` 中**可机械判定**的(`m-gate-check` / `count-chars` / `consistency-check` / `build-evidence-bundle`)注册为模型工具,收益:
|
|
29
29
|
|
|
30
30
|
- 模型直接调用,不必绕 shell(省一轮 `pwsh` + stdout 解析)
|
|
31
31
|
- 获得工具执行管线的策略钩子(`tools/pre-execute` 可挂审批,如「M 门 exit ≠ 0 时要求人工确认」)
|
|
@@ -57,8 +57,11 @@
|
|
|
57
57
|
| 总评分 | 报告内须出现 **`总评分 XX/30`**,且 XX = 六维之和(脚本校验自洽) | M-Exist-6 判「缺总评分 XX/30」→ **P0**;与分项之和不符另判「评分表与总分自相矛盾」 |
|
|
58
58
|
| 建议词区间 | 总评分 ≥26 → `accept`;21–25 → `minor`;16–20 → `major`;<16 → `reject`(报告须含对应词) | 建议与区间不一致 → 软提示 |
|
|
59
59
|
| 期刊匹配表 | 表头须含 **`综合匹配度`**,且**每行**给出 `综合 / 主题 / 风格` 三个**百分比**;`综合 = 0.5×主题 + 0.3×风格 + 0.2×归一化总分`,`归一化总分 = clamp((总评分−16)/14, 0, 1)×100`(容差 ±1.5) | 缺百分比 → **P0**;算不出/超容差 → 判「匹配度不可复算」 |
|
|
60
|
+
| **期刊匹配的输入来源**(v18.2.5 新增) | 期刊匹配表**每行**须标该刊来自何处:`期刊数据库 §X 行 N`(真源 = [`期刊数据库.md`](期刊数据库.md))**或** `LLM 补充(不在数据库,须人工核验)` | 未标 → 软提示「期刊来源不可追溯」;标 `LLM 补充` 而行内匹配度未人工核验 → 该行**仅供内部参考**,不得作为投稿决策依据 |
|
|
60
61
|
| 具体修改建议 | 须有「给作者的具体修改建议」段(投稿适配用) | 软提示(T5/主控无据以做期刊适配修订) |
|
|
61
62
|
|
|
63
|
+
> **为什么加「输入来源」(v18.2.5,主控实战反哺 P2)**:公式可复算 ≠ 输入可信。实测(本项目 ai-cad-cam-impact):T9 给出 `CADCG 综合 91.4% / 主题 100% / 风格 95%`,公式自洽通过,但**「主题 100%」「风格 95%」这两个输入值是 LLM 主观打分**、无客观依据;而主控**未读** `期刊数据库.md`,无法判断 Top 3 是真出自数据库、还是 LLM 凭训练印象生成。标注来源后,主控与主人即可判断「该行是库内匹配(可复核)还是 LLM 推测(须人工核验)」。
|
|
64
|
+
|
|
62
65
|
## 七、阶段闸门记录(T2.5 / T7.5)
|
|
63
66
|
|
|
64
67
|
| 机检项 | 必须的确切形态 | 违反后果 |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 文档层规范 ↔ 机械门覆盖 对照表
|
|
2
2
|
|
|
3
|
-
> **版本**:v18.2.
|
|
3
|
+
> **版本**:v18.2.5(读者口径)/ v18.0.2(新增)
|
|
4
4
|
> **用途**:逐条勾稽「规范写了什么」与「机械门是否覆盖」,根治教训 **#139「规范从文档层到执行层断链」**——该教训在《观念与理念的关系》实战中**复现 3 次**(文末五节顺序 / 案例来源内容 / 基线编号误判)。
|
|
5
5
|
> **用法**:每次新增或修改规范时,在本表中加一行;每次版本 review 时逐行勾稽两问。
|
|
6
6
|
> **读者与时机(v18.0.5 补,冗余审计 §二.7)**:**论衡维护者文档**——改规范 / 加机检门 / 版本 review 时读;**运行期角色不加载本文件**(它刻意不在任何角色卡的「读」清单里:主控与 T1-T9 都不需要它)。入口 = `AGENTS.md` §文件修改操作约束 的验证步 + `references/_shared/M-Gate-Algorithm.md` 的「名实对齐」注。
|
|
@@ -47,11 +47,12 @@
|
|
|
47
47
|
| **闸门记录实据形态**(v18.2.1 补进 `机检硬格式.md §七`) | M-Exist-5 | 表头须含 `检查项/实据/结论`;逐项照抄模板清单(T2.5 八项 / T7.5 七项);实据须为机械证据(路径 / `exit N` / `node X.mjs` / sha256 / 数字+量词,v18.2.1 起 `exit=N` 亦可);结论词只允许 `✓/✗/N/A` |
|
|
48
48
|
| **素材加载清单编号写法**(v18.2.1 补进 `机检硬格式.md §八` + 清单模板) | M-Form-11 | 须有 `## 已加载` 段;**逐项**写法唯一保证被识别(v18.2.1 起范围写法 `[D01]-[D08]` 亦容忍并展开);「>90% 整卡通读」软提示仅在 卡池 ≥30 且 正文 ≥3000 汉字 时启用 |
|
|
49
49
|
|
|
50
|
-
## 二、历轮**新补上**的断链(按版本累积:v18.0.0
|
|
50
|
+
## 二、历轮**新补上**的断链(按版本累积:v18.0.0 起;**末尾 7 行为 v18.2.5**、其上 3 行为 v18.2.4、再上 6 行为 v18.2.2)
|
|
51
51
|
|
|
52
52
|
> **标题修正(v18.2.2)**:本表原写作「本轮(v18.0.0)」,但每轮修订都在此追加,标题**不再随版本漂移**——**逐行看「本轮修法」列里的版本号**即可知该行属哪一轮。
|
|
53
53
|
> **v18.2.2 的 6 行**:数据点需求计数口径 / §11 精简段可被读到 / 承重墙清单可被读到 / AI 使用声明节可披露 / 证据包未到期的门 / 加载率比率可复算——**性质均为「门反向误判」或「两条规范冲突」**(而非「有规范无门」),即**门本身成了缺陷来源**。
|
|
54
|
-
> **v18.2.4 的 3
|
|
54
|
+
> **v18.2.4 的 3 行**:版本点位两处**扫描盲区**(内联 `git tag` / 加粗版版本头)+ 入口路由字段的**来源**未被断言——**性质均为「有规范、门看着在管、实际扫不到/只断言存在性」**,即**门给出了虚假的安心**。
|
|
55
|
+
> **v18.2.5 的 7 行**(末尾):图件目录推导**恒判失败** / 引用编号闭环**盲区且激励反向** / 承重墙**读错表** / 闸门证据与加载率**识别过窄** / G14 **三缺陷**(时点·豁免·两门零和)/ 四类**口径未定**(段级 diff 字数·图位编号·期刊来源·读文件编码)——**性质为「门恒判失败」「门读错数据源」「规范未定口径」三类**;前两类使门**从防线变成阻碍**(本项目 M 门三轮 exit=2、只能走 Acknowledged Limitations 交付,根因即第一条)。
|
|
55
56
|
|
|
56
57
|
| 规范 | 原状态 | 本轮修法 |
|
|
57
58
|
|---|---|---|
|
|
@@ -72,6 +73,12 @@
|
|
|
72
73
|
| **数据点需求计数口径**(`机检硬格式.md §五`) | ❌ **门反向误判**——M-Integrity-1 对模板规定的「两处写法」一律求和 → 3+6+8+25=42(真值 25)→ 数据卡 32 条判「32<42」**假 P0**,T2.5 门不可通过 | M-Integrity-1 改**分组取大** `max(agg, scoped)` |
|
|
73
74
|
| **§11 精简段可被读到**(04/05 卡) | ❌ **门反向误判**——M-Exist-10 找「下一标题」时不跳过围栏代码块,命中围栏内的 `# T5 写手 v1 精简段` → 段落被截到 2 行 → 假报「六要素实到 0/6」P0 | M-Exist-10 加**围栏感知**(行首 ``` 计数) |
|
|
74
75
|
| **承重墙清单可被读到**(04 卡) | ❌ **门反向误判**——M-Form-8 只认「独立小节 / 行内 top1」,T4 把承重墙做成三角验证表**一列**时锚点落在纪律说明行、收块在空行处停 → 假报「无结构性条目」P1 | M-Form-8 加**表格表头锚点(优先级最高)** + 收块容忍空行 + 锚点跳过围栏 |
|
|
76
|
+
| **图件目录推导**(图件链路 v2.5.2-dsh.16) | ❌ **门恒判失败**——M-Form-9 按 `dirname(draftPath)/图件` 推导;审 `drafts/初稿-vN.md` 时推出 `drafts/图件`(不存在)→ **不论主控写多少张 SVG 都报「图件 0 个」P0** → 「M 门 exit 0 才返回」硬门禁**在原子上失效**(实测三轮 exit=2,只能走 Acknowledged Limitations 交付) | 改用 `findBriefUpward` 定位项目根 + `<项目根>/final/图件`(保留旧候选以兼容 `final/定稿.md` 被审场景) |
|
|
77
|
+
| **引用编号闭环范围**(`机检硬格式.md §五`) | ❌ **门有盲区且激励反向**——`refRe` 白名单只认 `L/D/C-主/C/先`;写手用 `[脚注-1]`/`[表-1]` 等非标准编号时**既不报漏引也不报孤儿**(编号隐形,实测报「漏引 0 / 孤儿 0」**假通过**),而写 `[D99]`(不存在)会被判孤儿 | 加**扩展编号白名单**(`[脚注-N]` 允许但须双向闭环:闭环记 P2、未闭环 P1)+ **非标准编号黑名单**(P1;`[D-基-x-NN]` 由负向断言豁免) |
|
|
78
|
+
| **承重墙清单来源表**(04 卡承重墙清单) | ❌ **门读错表**——表头锚点允许「承重」出现在**任意列** → 命中「论点-论据映射表」表头(该表末列恰为「承重证据 top1」)→ 按映射表逐行多编号计数 → **假报超载**(实测报 6 条;真值在承重墙清单里 = 12 行 top1、负载 ≤2、**无超载**,T4 自检亦明示不超载) | 表头锚点收紧为**首列**必须为承重证据 + detail 附带**实际选中的表头行**(让「选错表」自带证据、可事后核对) |
|
|
79
|
+
| **闸门记录机械证据 / 加载率阈值**(`机检硬格式.md §七 §八`) | ⚠️ **门识别过窄 → 假 P1/P2**——① `35 ≥ 30`(数量比较)与 MD5(32 位 hex)+ `Get-FileHash` 被判「非机械证据」→ M-Exist-5 **假 P1**;② 加载率阈值 0.9 一刀切,8000 字综述 96.7% 触发「疑似整卡通读」(长篇合理形态**就是**高加载率) | ① 扩证据模式(32/64 位 hex / 数量比较符 `\d+[≥>]\d+` / `Get-FileHash`·`Test-Path`·`certutil`);② 阈值按 `bodyHan` 分档(长 ≥6000 用 0.98)+ **显式消歧路径**(清单注明「按需加载」即豁免) |
|
|
80
|
+
| **G14 时点 / 豁免边界 / 与 G 类张力**(`gates/14` + checker) | ❌/⚠️ 三类——① **时点缺失**:只在早闸/终闸跑,而**每轮修订是新注入点**(破折号 26→8→**11 反弹**→6,反弹到终闸才抓、此时已到 A 轨上限);② **豁免过宽**:实测把「路径」35+ 处**整体**豁免(条款原意只覆盖标题/关键词/核心论点);③ **两门零和**:A 类词表含「本文认为」,而 G 类鼓励补主体声音 → 加则 A 告警、不加则 G 告警 | ① 加第三时点「修订轮收尾自查」(轻量:不 spawn、不重读全文、不写独立报告);② 豁免须**逐处留痕**(词/行号/理由)+ 域术语走项目级白名单 `run/<项目>/g14-terms-whitelist.md`;③ A 类区分「模板壳」与「立场句」(判据 = **是否承载判断题**) |
|
|
81
|
+
| **段级 diff 字数口径 / 图位编号顺序 / 期刊来源 / 读文件编码**(05·04 卡 + `机检硬格式.md` + `AGENTS.md`) | ⚠️ **规范未定口径**(四类)——① 清单估算把标点与编号计入「字」,与 `count-chars.mjs`(纯汉字)不一致 → 每轮多耗一次返工(实测 v3 预估 8452 / 实测 8863);② 图位铁律未说与大纲编号的关系 → 照抄大纲主题分组号落入正文成 **1/3/2/5/4** 错序;③ 期刊匹配公式可复算但**输入是 LLM 主观打分**、无来源标注;④ shell 示例未标编码 → pwsh 默认解码致合法 UTF-8 显示乱码、曾被误判为「子代理产物坏了」 | ① 明确「估算 = 纯汉字 + 两侧计数」+ 新增 `apply-diff.mjs`(delta 由脚本**实测**);② writer 卡「按正文出现顺序重排」+ analyst 卡「大纲按预计顺序给号」;③ 每行须标 `期刊数据库 §X 行 N` 或 `LLM 补充(须人工核验)`;④ `AGENTS.md` 第 7 条(判据「先疑读取端,不疑文件」) |
|
|
75
82
|
| **AI 使用声明节可披露**(`AI-使用声明-template.md`) | ❌ **两条规范冲突**——该模板要求写披露语,M-Form-4 文末二级扫描却按「内部信息」判 P0(实测命中禁词「承重」) | M-Form-4 **豁免「AI 使用声明」一节**(其余四节照扫) |
|
|
76
83
|
| **证据包未到期的门**(`pipeline-readme` 闸门时序) | ❌ **门在错误阶段判死**——M-Exist-2 在 T7 审计 `drafts/` 时证据包尚由 T8 生成 → 判「0 个文件」P0,T5 修订轮无法关闭 | M-Exist-2 加**阶段感知**(`drafts/` + 空包 → N/A) |
|
|
77
84
|
| **加载率比率可复算**(`机检硬格式.md §八`) | ⚠️ **结论不可复算**——分子用整个已加载集(含索引外编号)→ 出现 `已加载 54 / 索引 52`(分子>分母) | M-Form-11 比率**先取交集** + 「白读」排除 `## 已跳过` |
|
package/skills/lunheng-article-pipeline/references/agents/04-/345/210/206/346/236/220-analyst.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
> 版本:v18.2.
|
|
1
|
+
> 版本:v18.2.5(DSH bundle 插件)
|
|
2
2
|
|
|
3
3
|
# 角色:分析员 Analyst(T4)
|
|
4
4
|
|
|
@@ -79,6 +79,9 @@
|
|
|
79
79
|
- **每张图**:类型(数据图表折线/柱状/流程等,或概念图)+ 数据源(`[Dxx]`/`[Lxx]`/`[Cxx]` 编号)+ 一句话说明「这张图支撑哪个论点」
|
|
80
80
|
- **原则**:只建议「有对比/趋势/结构、能支撑核心论点」的数据做图;数据不适合可视化就不建议
|
|
81
81
|
- **产出位置**:`analysis/分析大纲.md` 末段「建议图表」节,供主人 Phase 2.5 拍板(采用/调整/取消)
|
|
82
|
+
- **⚠️ 编号 = 预计正文出现顺序(v18.2.5 新增,主控实战反哺 P2)**:本节给图号时须按**预估的正文出现顺序**编号(即按章节建议表 §7 的节次顺序排),**不要按主题分组自由给号**。
|
|
83
|
+
> **实测教训(本项目 ai-cad-cam-impact)**:T4 按主题分组给号(1 市场规模 / 2 厂商矩阵 / 3 渗透层级 / 4 风险象限 / 5 市占率),而正文出现顺序是 市场规模 → 渗透层级 → 市占率 → 厂商矩阵 → 风险象限 → T5 **照抄大纲编号**落入正文后成 **图1→图3→图2→图5→图4** 错序,主控在 Phase 4.5 配图前才手工重排。图位编号是 M-Form-9 对账的唯一键,错序 → 配图与引用错位。
|
|
84
|
+
> **若不确定正文顺序**:在该节显式写一句「**图号以正文出现顺序为准,写手落位时须重排**」,把编号决定权明确交给 T5(writer 卡已有对应硬约束)。
|
|
82
85
|
11. **未来方向具体化 + 缺口可补检索性(v2.5.2-dsh.0 反哺,教训:T4 大纲「未来方向」空泛被 T5 多次改)**:
|
|
83
86
|
- **未来方向(如有)**:必须给出「具体下一步动作 + 时间窗 + 验证指标」三要素,禁止空泛的「未来可进一步研究 XX」——例:「下一步可补检索 1-2 个中国侧『丑/怪/荒』案例(如徐渭、扬州八怪),时间窗 1 轮检索,验证指标 = 案例卡 +1 且能支撑论点⑤对勘」
|
|
84
87
|
- **缺口论点标可补检索性**:大纲三角映射表里每个「缺口」论点,显式区分「**暂时缺口**」(Phase 1.5 可补检索)vs「**Permanent Gap**」(永久空缺,数据/文献不存在,主人已知接受)——供主控决定是否触发 Phase 1.5 定向补检索。
|
package/skills/lunheng-article-pipeline/references/agents/05-/345/206/231/344/275/234-writer.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
> 版本:v18.2.
|
|
1
|
+
> 版本:v18.2.5(DSH bundle 插件)
|
|
2
2
|
|
|
3
3
|
# 角色:写手 Writer(T5)
|
|
4
4
|
|
|
@@ -134,6 +134,9 @@
|
|
|
134
134
|
6. **图位标注(v2.4.6 调整:图位来源 = 分析大纲「建议图表」+ Phase 2.5 拍板,P0-2 硬约束)**:
|
|
135
135
|
- **前置检查**:写手启动前必读「分析大纲」末段「建议图表」节 + 主人 Phase 2.5 拍板结果,判断图位数量 N(拍板 0 = 无图)。
|
|
136
136
|
- **如有图位 → 强制扫描 + 必产 N 个图位**:Phase 2.5 拍板 N 张图位时,写手 v1 必产 **≥ N 个** `[图N:标题]` 图位(N ≥ 拍板数量),按出现顺序编号。图位对应的数据必须来自数据卡(图上数字与正文 [Dxx] 引用一致)。
|
|
137
|
+
- **⚠️ 图位编号 = 正文出现顺序,不是大纲编号(v18.2.5 新增硬约束,主控实战反哺 P2)**:大纲「建议图表」节常按**主题分组**给号(如 1 市场规模 / 2 厂商矩阵 / 3 渗透层级 / 4 风险象限 / 5 市占率),而正文顺序可能不同。**写手落图位时必须以正文实际出现顺序重排编号**——不得照抄大纲编号。
|
|
138
|
+
> **实测教训(本项目 ai-cad-cam-impact)**:T5 v1 照抄大纲 §10 编号 → 正文出现顺序成了 **图1 → 图3 → 图2 → 图5 → 图4**(错序),直到主控在 Phase 4.5 配图前才手工重排,**白耗一次核对**。图位编号是 M-Form-9 对账 `[图N]` ↔ `final/图件/图N_标题.svg` 的**唯一键**,错序会让配图与引用错位。
|
|
139
|
+
> **自检**:落完 N 个图位后,按正文从上到下数一遍它们的编号,必须是 **1, 2, 3, …, N 连续递增**(禁止断号、跳号、乱序)。
|
|
137
140
|
- **如无图位 → 跳过**:拍板 0 张时,不主动画图。
|
|
138
141
|
- **不要画图只标位置**:写手只标 `[图N:标题]` 简短标注 + 图注(可选 caption),由主控用 `write` 工具手写 SVG 矢量图到 `final/图件/图N_标题.svg`(参考 `templates/图表-SVG-template.md`)。
|
|
139
142
|
- **图位必须独占一行(v2.5.2-dsh.16 硬规范)**:`[图N:标题]` 单独成行、前后留空行。写在段落中间虽被 `md2html.mjs` 容错内联,但**没有图注、分页不可控**,且 M-Form-9 对账与人工核对都以独占一行为准。
|
|
@@ -165,21 +168,30 @@
|
|
|
165
168
|
|
|
166
169
|
**v2/v3 段级 diff 模式(v2.5.2-dsh.7 新增,关键优化——避免重写全文 60-105 步爆炸)**:当主控派我执行 v2/v3 修订轮(不是初次 v1)时,**不重读 draft/初稿-vN.md 全文,也不直接覆写同路径**。改为以下段级 diff 流程:
|
|
167
170
|
- **输入三件套**(主控派发时必须提供):① `audits/审计报告-vN.md`(只读 P0/P1 段,跳过 P2/通过项);② `drafts/修订说明-vN.md`(若已存在);③ `drafts/初稿-vN.md`(仅按需 `grep` 命中章节,不通读)
|
|
168
|
-
-
|
|
171
|
+
- **输出格式(v18.2.5 修订:字数口径与 `count-chars.mjs` 对齐)**:逐条 P0/P1 给"段级 diff 清单"——
|
|
172
|
+
> **⚠️ 字数口径硬约束(v18.2.5 新增,主控实战反哺 P1)**:**估算字数 = 纯汉字数**,口径与
|
|
173
|
+
> `scripts/count-chars.mjs` **完全一致**(`[\u4e00-\u9fff]`)——**标点、ASCII 字母数字、方括号、
|
|
174
|
+
> 编号、破折号一律不计入**。每条 diff 须给出**两侧汉字计数**(`现况 N 汉字 → 修改后 M 汉字 = ±K`),
|
|
175
|
+
> 不得只给一个净增减数。**为什么**:旧版只写「估算:+6 字」,清单据此把 `[脚注-1]` 记成 +6 字
|
|
176
|
+
> (含方括号与数字),**实际仅 +2 汉字** → 逐条累加后与脚本实测大幅偏离 → 主控每轮多耗一次返工。
|
|
177
|
+
> 实测(本项目 ai-cad-cam-impact):T5 v3 清单机械汇总 +816 字(预估 v3≈8927),主控按策略 C 兜底
|
|
178
|
+
> 后**实测仍 8863**(超上限 663),只能再砍一轮才落到 8007;同轮 v5 清单预估 8007 / 实测 8014(+7)。
|
|
179
|
+
> **自检**:清单落盘前,对每条 diff 的两侧文本各数一遍汉字,∑ 后与「清单预估总量」对账。
|
|
169
180
|
```
|
|
170
181
|
[P0-1 反方段缺位]
|
|
171
182
|
- 定位:§六 反方论证 第 3 段(行 142-156)
|
|
172
|
-
- 现况:仅有"可能存在不足"1
|
|
183
|
+
- 现况:仅有"可能存在不足"1 句(18 汉字)
|
|
173
184
|
- 增补:插入 [C04] 案例 + 1 段反方论证(参考反方观点 2 的口径)
|
|
174
|
-
-
|
|
185
|
+
- 估算:现况 18 汉字 → 修改后 298 汉字 = **+280 汉字**([C04]、数字、标点均不计入)
|
|
175
186
|
|
|
176
187
|
[P1-3 数据缺源]
|
|
177
188
|
- 定位:§三 第 2 段(行 67)
|
|
178
|
-
- 现况:[D15]
|
|
189
|
+
- 现况:[D15] 引用但未标信任级别(42 汉字)
|
|
179
190
|
- 修改:在 [D15] 后加「(信任级别:已发布)」
|
|
180
|
-
-
|
|
191
|
+
- 估算:现况 42 汉字 → 修改后 51 汉字 = **+9 汉字**
|
|
181
192
|
```
|
|
182
193
|
- **主控拿到清单后做机械编辑**(写手不直接覆写全文,避免 60-105 步重写),再单独调用 `count-chars.mjs` 校验字数;如需重写段,主控基于 diff 清单触发针对性段改
|
|
194
|
+
- **机械编辑后必跑实测对账(v18.2.5 强化)**:主控编辑完 **必须** 跑 `count-chars.mjs` 取**实值**,并与「清单预估总量」**并列**记入 `drafts/修订说明-vN.md`;**偏差 >20% 或 >300 汉字** → 禁止继续下一阶段,须回退重出清单或按实值重算削裁量(该规则见 `pipeline-readme.md` §共享读取纪律)。
|
|
183
195
|
- **步数约束**:段级 diff 模式单次 ≤ 25 步(不读全文),清单输出 + 交接报告 ≤ 15 步
|
|
184
196
|
- **编号必须与审计任务书一一对应(v2.5.2-dsh.17 新增,M-Exist-4 机械校验)**:清单里的每个条目必须以审计报告 `## 修订任务书` 的**同一编号**开头(`P0-n` / `P1-n`,**不得自创编号、不得漏条**);`drafts/修订说明-vN.md` 同样**逐条列出全部编号** + 处置 + 自评(已处理/未处理及原因)。漏条 = T7 无法判定关闭 → 该轮视为**未回应**(M 门 M-Exist-4 会报「编号缺失 / 复核未覆盖」)。
|
|
185
197
|
- **v1 初次写作不受影响**:仍写完整 `drafts/初稿-v1.md`
|
package/skills/lunheng-article-pipeline/references/agents/08-/347/273/210/346/243/200-finalizer.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 角色:终检员 Finalizer(T8)
|
|
2
2
|
|
|
3
|
-
> 版本:v18.2.
|
|
3
|
+
> 版本:v18.2.5(DSH bundle 插件)
|
|
4
4
|
|
|
5
5
|
> **角色独立性声明(v2.5.2-dsh.8 修订)**:T8 终检是**九个独立角色之一(T1-T9),不可被其他角色替代**。终检职责(M 门全复核 / 定稿 / 证据包 / 交付说明 / 失败模式兜底)只能由 T8 承担。
|
|
6
6
|
> **执行者 = 主控 T0 兼任**(T0 与 T8 是主控的两个身份:T0 统筹调度,T8 亲自执行终检)——T8 **不 spawn 子代理**,由主控以 T8 身份直接完成。
|