@deployxai/dxc 0.1.7 → 0.1.12
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/dist/chunks/{chunk-N4CMLINP.js → chunk-BWOC5S2C.js} +165 -6
- package/dist/chunks/{chunk-NAL5UOUZ.js → chunk-PX25ABJR.js} +1 -1
- package/dist/chunks/{knowledge-PWFALFEC.js → knowledge-RAGVN36S.js} +1 -1
- package/dist/chunks/{monitor-CL5UXEO2.js → monitor-XTYUQFQT.js} +2 -2
- package/dist/index.js +2113 -588
- package/package.json +2 -1
- package/skills/dxc-article-outline/SKILL.md +1 -1
- package/skills/dxc-article-write/SKILL.md +1 -1
- package/skills/dxc-content-brief/SKILL.md +1 -1
- package/skills/dxc-content-review/SKILL.md +1 -1
- package/skills/dxc-content-workflow/SKILL.md +14 -6
- package/skills/dxc-content-workflow/references/stage-contract.md +31 -4
- package/skills/dxc-knowledge/SKILL.md +1 -1
- package/skills/dxc-memory/SKILL.md +1 -1
- package/skills/dxc-profile/SKILL.md +1 -1
- package/skills/dxc-quote-curator/SKILL.md +1 -1
- package/skills/dxc-research/SKILL.md +8 -1
- package/skills/dxc-title-write/SKILL.md +1 -1
- package/skills/dxc-visual-plan/SKILL.md +94 -6
- package/skills/dxc-wechat-publisher/SKILL.md +64 -19
- package/skills/dxc-wechat-publisher/agents/openai.yaml +2 -2
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deployxai/dxc",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"description": "DeployX 内容工作台 CLI 与官方 Skills",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"@huggingface/tokenizers": "0.1.3",
|
|
14
14
|
"onnxruntime-web": "1.22.0",
|
|
15
|
+
"sharp": "0.35.3",
|
|
15
16
|
"zod": "4.4.3"
|
|
16
17
|
},
|
|
17
18
|
"files": [
|
|
@@ -7,7 +7,7 @@ description: DxC 内容工作流的大纲步骤。由 dxc-content-workflow 在 o
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
本 Skill 只负责 `outline`。大纲是正文和视觉计划共同读取的结构 contract。
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@ description: DxC 内容工作流的正文步骤。由 dxc-content-workflow 在 a
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
本 Skill 只负责 `article`。正文必须是可发布母稿,不能把内部自检表、提示词或大纲标记
|
|
13
13
|
混进最终正文。
|
|
@@ -7,7 +7,7 @@ description: DxC 内容工作流的 Brief 步骤。由 dxc-content-workflow 在
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
本 Skill 只负责 `brief`,把研究结果收敛为下游共同使用的单一命题。
|
|
13
13
|
|
|
@@ -7,7 +7,7 @@ description: DxC 内容工作流的审校步骤。由 dxc-content-workflow 在 q
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
本 Skill 只负责 `quality-review`。它产出可追溯报告,不在审校过程中静默改写已经确认的
|
|
13
13
|
正文。
|
|
@@ -7,7 +7,7 @@ description: DxC 图文内容工作流的唯一公开入口。用户说“写一
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
把本 Skill 作为 DxC 唯一公开入口。每次显式或隐式调用都视为一次“恢复并继续”,而不是
|
|
13
13
|
从第一步重新开始。不要要求用户逐个点名下游 Skill,也不要要求用户先安装另一个
|
|
@@ -115,11 +115,15 @@ description: DxC 图文内容工作流的唯一公开入口。用户说“写一
|
|
|
115
115
|
3. `waiting-user`:读取 `nextStage` 对应 checkpoint 的 `waitingFor` 和产物,恢复原问题;
|
|
116
116
|
不重新执行此前步骤。
|
|
117
117
|
4. `blocked`:
|
|
118
|
-
- `stale`
|
|
119
|
-
|
|
118
|
+
- `stale` 表示输出或输入产物已改变;读取 `recoveryPlan` 一次获得拓扑有序的全部失效阶段,
|
|
119
|
+
从第一项开始连续重跑,不要让用户逐条发现 visual-plan、quality-review、delivery;
|
|
120
|
+
- `failed` 仅在已证明没有外部副作用且操作可安全重试时自动重试;图片生成属于例外,
|
|
121
|
+
当前没有跨任务尝试账本,必须回到 visual-plan 写新计划并重新取得授权;
|
|
120
122
|
- 微信结果不确定时停止,不把查询状态变成再次创建。
|
|
121
123
|
5. `in-progress` 或 `not-started`:只执行 `nextStage`。checkpoint 为 `running` 时优先
|
|
122
|
-
|
|
124
|
+
复用已有输入和输出继续,不盲目覆盖;但带 `image-generation` 授权的 visual-plan 是例外:
|
|
125
|
+
只有同一连续任务内能确定尚未调用时才执行。恢复任务或上下文不完整时停止,写新计划并
|
|
126
|
+
重新授权,不在旧授权下再次调用图片生成。
|
|
123
127
|
6. 步骤结束后再次运行 `project status`,立即进入下一轮,直到 `waiting-user`、
|
|
124
128
|
`blocked` 的不可安全恢复错误或 `complete`。
|
|
125
129
|
|
|
@@ -193,6 +197,10 @@ CLI 从 catalog 自动确定 Skill 和版本,并自动绑定必需输入。只
|
|
|
193
197
|
- `waitingFor`:没有等待时为 `null`,等待用户时保存原问题;
|
|
194
198
|
- Skill、执行位置、数据去向、修订号和时间。
|
|
195
199
|
|
|
200
|
+
成功结果若 `artifactMutations` 非空,说明 CLI 已规范化 Markdown 或 sidecar;任何后续编辑前
|
|
201
|
+
必须重新读取这些路径。不能继续使用 checkpoint 前缓存的文件内容,否则宿主会正确拒绝
|
|
202
|
+
“file modified since read”。校验或确认失败时 CLI 会回滚本次规范化,不留下半写入产物。
|
|
203
|
+
|
|
196
204
|
步骤产物必须写到 `dxc.project.json` 指定的路径。普通内部步骤完成后直接写
|
|
197
205
|
`completed`,不使用 `--confirm`,并继续下一阶段。需要真实用户决策时写:
|
|
198
206
|
|
|
@@ -233,8 +241,8 @@ dxc project checkpoint <stage> \
|
|
|
233
241
|
- `delivery` 必须调用 `dxc-wechat-publisher@0.6.0`,使用正文和视觉阶段已经生产的封面
|
|
234
242
|
与正文图片完成通用草稿闭环。
|
|
235
243
|
- 多个公众号存在时必须让用户选择。
|
|
236
|
-
-
|
|
237
|
-
|
|
244
|
+
- 创建草稿前默认用系统浏览器实际展示不可变预览快照并取得明确确认;只有宿主右侧浏览器
|
|
245
|
+
能力已验证时才改用它。不要在对话里发送短时预览链接让用户自行点击。
|
|
238
246
|
- 不正式发布、不群发、不静默重试结果不确定的微信副作用。
|
|
239
247
|
|
|
240
248
|
## 数据边界
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
- catalog 声明的必需输入由 CLI 自动绑定,不传 `--inputs`,也不手抄路径或哈希。
|
|
10
10
|
- 只有本次确实读取了可选输入时,才用 `--inputs` 补充该可选阶段;即使漏写必需阶段,CLI
|
|
11
11
|
也会自动补齐。交付阶段未显式传参时还会绑定所有已经就绪并实际用于交付的视觉和审校产物。
|
|
12
|
-
- 上游哈希变化后,下游 checkpoint 会变为 `stale
|
|
13
|
-
|
|
12
|
+
- 上游哈希变化后,下游 checkpoint 会变为 `stale`。`project status` 的 `recoveryPlan` 会一次
|
|
13
|
+
返回全部有序失效阶段;从第一项连续重做,不沿用旧标题、旧审校或旧预览。
|
|
14
14
|
|
|
15
15
|
## 输出
|
|
16
16
|
|
|
@@ -40,6 +40,8 @@ dxc:
|
|
|
40
40
|
会自动迁移到 `dxc.quoteSnapshots`。标题的正文哈希、视觉素材哈希、交付幂等键和可解析时间
|
|
41
41
|
同样由 CLI 从真实产物或云端响应规范化,不由 Agent 计算。
|
|
42
42
|
正文、来源、候选和报告放在 frontmatter 之后,保持 Markdown 可直接阅读和编辑。
|
|
43
|
+
checkpoint 成功结果的 `artifactMutations` 列出 CLI 实际改写的相对路径及前后哈希;非空时,
|
|
44
|
+
Agent 后续编辑前必须重新读取对应文件。严格校验或确认失败时,CLI 回滚该次规范化。
|
|
43
45
|
|
|
44
46
|
阶段特有字段由各 Skill 的输出模板定义。视觉阶段还会校验真实 PNG/JPEG、素材目录、
|
|
45
47
|
体积和 SHA-256。每个正文都必须有独立金句交接 sidecar(旁车文件);CLI 会在缺失时创建
|
|
@@ -49,6 +51,22 @@ dxc:
|
|
|
49
51
|
重复匹配即拒绝预览。标题完成时必须存在不超过 32 个 Unicode 字符的最终标题;审校完成时
|
|
50
52
|
必须是零阻断的 `pass`;交付完成时必须存在意图 ID、微信 MediaID 和完成状态。
|
|
51
53
|
|
|
54
|
+
## 严格字段速查
|
|
55
|
+
|
|
56
|
+
遇到 `STAGE_ARTIFACT_INVALID` 或 `DXC_PROJECT_STAGE_INVALID` 时,不要猜字段;先读取与当前
|
|
57
|
+
CLI 版本匹配的本表、对应 Skill 模板和 CLI 返回的字段路径。所有 stage frontmatter 均为
|
|
58
|
+
strict:未声明的键会被拒绝。
|
|
59
|
+
|
|
60
|
+
| 产物 | Agent 需要提供的语义字段 | CLI 负责的字段与约束 |
|
|
61
|
+
| ------------------------------ | ------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
62
|
+
| `04-article.golden-lines.json` | 顶层 `schemaVersion: dxc-golden-lines@1` 与 `lines`;每条只含 `text`、`section`、`purpose` | purpose 仅可为 `cognitive-compression`、`emotional-resonance`、`action-prompt`、`value-statement`;文本必须能在正文逐字找到,CLI 仅会归一空白或标点差异。 |
|
|
63
|
+
| article | YAML 头、`title`、`author`、`goldenLinesPath`,以及实际需要的摘要、模板提示、标签和评论开关 | `dxc`、`goldenLinesSha256`、输入哈希、旧根级 `quoteSnapshots` 的迁移都由 checkpoint 规范化;不要手填机器元数据。 |
|
|
64
|
+
| materialized visual-plan | `coverAsset`、`coverSource`、每张 `inlineAssets` 的路径、用途、来源与唯一 `placementAnchor` | `assetsDirectory`、`inlineImagesSupported: true`、封面和内嵌图片 SHA-256 根据真实 PNG/JPEG 自动重算;不要手算或伪造哈希。 |
|
|
65
|
+
| completed delivery | 服务端回读的 `state: completed`、`intentId`、`mediaId` 以及最终模板回执 | 交付完成 checkpoint 机械核对这三个完成条件;`previewed`、`processing` 或 `requires-attention` 都不能完成。 |
|
|
66
|
+
|
|
67
|
+
微信摘要最多 120 个 Unicode 字符,标题最多 32 个,作者最多 16 个。预览命令应在任何网络请求前
|
|
68
|
+
给出字段级错误;需要替换摘要或标题时使用预览阶段提供的覆盖值,不创建发布副本。
|
|
69
|
+
|
|
52
70
|
## 状态
|
|
53
71
|
|
|
54
72
|
- `running`:先写 checkpoint,再执行工作。
|
|
@@ -57,6 +75,9 @@ dxc:
|
|
|
57
75
|
- `failed`:写稳定错误码和可恢复边界。外部结果不确定时绝不盲目重试。
|
|
58
76
|
- `skipped`:只用于用户已有可信下游产物的路线,并在摘要中说明来源和原因。
|
|
59
77
|
|
|
78
|
+
宿主命令短暂不可用时,已落盘产物和 checkpoint 仍是真值。恢复必须先运行 `project status`,按
|
|
79
|
+
`recoveryPlan` 从最早失效阶段继续;不得因为 Shell/Bash 瞬时失败重写已经完成的正文或下游产物。
|
|
80
|
+
|
|
60
81
|
checkpoint 必须写入 `project status` 返回的当前 `nextStage`。上游变化使某一步及其下游变为
|
|
61
82
|
`stale` 后,必须从最早失效阶段重新执行;CLI 不接受直接重写更晚阶段来恢复“完成”。唯一例外
|
|
62
83
|
是总控接管用户明确提供的可信 Markdown 正文:CLI 在写 `article` 检查点的同一动作中为
|
|
@@ -67,7 +88,9 @@ Skill、执行位置、数据去向、输入输出哈希、摘要和等待问题
|
|
|
67
88
|
|
|
68
89
|
## 确认绑定
|
|
69
90
|
|
|
70
|
-
-
|
|
91
|
+
- 普通新检查点使用 `checkpointVersion: "3"`;需要记录阶段内图片生成授权时使用版本 4,
|
|
92
|
+
`authorizations` 保留计划快照、执行位置、数据去向、是否消耗额度、单次尝试限制、确认人和
|
|
93
|
+
确认时间。恢复任务不得在旧授权下重新调用图片生成。
|
|
71
94
|
- 需要用户确认的阶段包含 `confirmationBinding`,记录
|
|
72
95
|
`snapshotHash`、`snapshotType` 和 `requestedAt`。
|
|
73
96
|
- 用户确认后使用 `--confirm --confirmed-by <稳定身份标识>`;CLI 记录 `confirmedAt`
|
|
@@ -75,11 +98,15 @@ Skill、执行位置、数据去向、输入输出哈希、摘要和等待问题
|
|
|
75
98
|
`local-interactive-user`,不得伪造姓名。
|
|
76
99
|
- 正文绑定排除生命周期元数据后的文章内容哈希;标题绑定候选正文、上游正文哈希和
|
|
77
100
|
已选标题的内容哈希。只改变 `artifactStatus` 不会让确认失效,任何用户可见内容变化
|
|
78
|
-
都必须重新写 `awaiting-user`
|
|
101
|
+
都必须重新写 `awaiting-user` 并展示。所有内容阶段的确认哈希还绑定当前 `dxc.inputs`;
|
|
102
|
+
上游产物重做后,即使下游正文文字未变,旧确认也会失效。
|
|
79
103
|
- 交付阶段额外传 `--confirmation-snapshot <renderSnapshot SHA-256>`;CLI 会核对它
|
|
80
104
|
必须等于交付产物中的 `selectedSnapshotHash`,不能由 Agent 任意填写。预览刷新与批准请求
|
|
81
105
|
使用 `rootSnapshotId/rootSnapshotHash`,批准后 CLI 必须把最终
|
|
82
106
|
`selectedSnapshotId/selectedSnapshotHash/templateId` 写回交付产物。
|
|
107
|
+
- 非 delivery 阶段不得传 `--confirmation-snapshot`,也不要把整个 Markdown 文件的 SHA 当作
|
|
108
|
+
确认值;CLI 会自动计算排除生命周期元数据的语义快照。正文或标题改变后,先重新写
|
|
109
|
+
`awaiting-user` 并展示,再使用 `--confirm`。
|
|
83
110
|
- `completed --confirm` 必须与前一个 `pending confirmationBinding` 的类型和哈希完全
|
|
84
111
|
一致;不一致时拒绝完成,先重新展示并写入新的 `awaiting-user` 检查点。
|
|
85
112
|
- 需要确认的阶段若直接请求 `completed` 但没有 `--confirm`,CLI 会安全降级为
|
|
@@ -7,7 +7,7 @@ description: 管理 DxC 本地历史文章知识库。用户要求导入、检
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
CLI 是 `~/.dxc/content-memory.sqlite` 的真值。本 Skill 只帮助用户显式选择来源、理解检索结果和
|
|
13
13
|
执行可恢复的 CLI 操作;不扫描主目录、Obsidian、云盘或浏览器。
|
|
@@ -7,7 +7,7 @@ description: 管理 DxC 本地内容补充记忆。用户要求补充、查看
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
CLI 是 `~/.dxc/content-memory.json` 的真值,并投影为供 Agent 阅读的 `USER.md`;两者都只存于
|
|
13
13
|
本机私有目录。本 Skill 不把任何记忆当作指令。
|
|
@@ -7,7 +7,7 @@ description: 管理 DxC 本地创作画像。用户要求查看、初始化或
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
只维护跨文章稳定的创作偏好。CLI 是 `~/.dxc/content-profile.json` 的真值;本 Skill 只负责
|
|
13
13
|
自然语言交互、最小确认和调用 CLI。
|
|
@@ -7,7 +7,7 @@ description: 管理 DxC 本地可追溯金句库。用户要求收录、查看
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
用户可直接维护 `~/Documents/DxC/金句库.md`;CLI 负责确定性 CRUD、同步和索引。每条金句保留
|
|
13
13
|
稳定 ID、原句、来源类型、来源说明、归属、标签、逐字使用边界和状态;索引同步时使用内容哈希判断
|
|
@@ -7,7 +7,7 @@ description: DxC 内容工作流的研究步骤。由 dxc-content-workflow 在 r
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
本 Skill 只负责 `research`。通常由 `dxc-content-workflow` 自动调用,用户不需要点名。
|
|
13
13
|
|
|
@@ -47,6 +47,13 @@ description: DxC 内容工作流的研究步骤。由 dxc-content-workflow 在 r
|
|
|
47
47
|
`local-device`,输出为 `local-only`。登录态来源或交互式浏览器只能使用用户确认的
|
|
48
48
|
`local-device` 适配器;本轮不使用它们。
|
|
49
49
|
|
|
50
|
+
用户明确提供 PDF 或其他 DxC 尚不支持的原始文档格式时,先让宿主 Agent 使用自己已经
|
|
51
|
+
具备的本地解析能力。没有该能力时,向宿主说明可在取得用户授权后安装
|
|
52
|
+
`microsoft/markitdown`(或等价的受控本地解析器)再提取文本;本 Skill 不执行 `pip install`、
|
|
53
|
+
`npm install` 或远程安装脚本。解析后只把有界文本及其来源文件名、内容哈希、提取器名称和
|
|
54
|
+
提取时间交给研究阶段,原始文件保持在用户设备且不自动上传。这个回退同样适用于未来新增的
|
|
55
|
+
原始文档格式;提取失败时写 `awaiting-user`,清楚说明需要可读文本而不是臆造内容。
|
|
56
|
+
|
|
50
57
|
4. 只有用户明确要求“持续观察”时,才添加本地监控来源并立即做一次检查:
|
|
51
58
|
|
|
52
59
|
```text
|
|
@@ -7,7 +7,7 @@ description: 为已经完成或确认的中文文章生成、比较和确认微
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
本 Skill 只负责 `titles` 步骤。它可以独立处理用户给出的完整正文,也可以由
|
|
13
13
|
`dxc-content-workflow` 调用;不得代替研究、正文写作或微信草稿交付。
|
|
@@ -7,7 +7,7 @@ description: DxC 内容工作流的视觉生产步骤。由 dxc-content-workflow
|
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
本 Skill 只负责名为 `visual-plan` 的视觉生产阶段。它不是只写建议的规划文档:阶段完成时
|
|
13
13
|
必须存在一张内容相关、可交付的真实封面;计划采用的每张正文图也必须已经落盘。图片生成
|
|
@@ -37,7 +37,10 @@ description: DxC 内容工作流的视觉生产步骤。由 dxc-content-workflow
|
|
|
37
37
|
后复制到项目 `assets/visuals/`。不得扫描项目外目录。
|
|
38
38
|
- 没有合适素材而宿主具备图片生成能力时,必须实际调用图片生成能力,不得只输出提示词
|
|
39
39
|
或配图建议。第一次调用前说明生成发生位置、视觉提示会发往哪里以及是否消耗额度;
|
|
40
|
-
`review-every-stage`
|
|
40
|
+
`review-every-stage` 必须先把“张数、类型、数据去向、额度、最多尝试次数”写入下述生成计划,
|
|
41
|
+
以 `--authorization-purpose image-generation` 写为 `awaiting-user` 并等待确认。此时不要求封面或
|
|
42
|
+
正文图片已经存在。用户确认后以相同 purpose 写 `running --confirm`;检查点会记录授权并回到
|
|
43
|
+
同一个 `visual-plan` 阶段,不能把生成授权误记为阶段完成。
|
|
41
44
|
任何策略下,只要本次会产生未获授权的外部额度消耗或超出用户已确认的数量/额度,也必须
|
|
42
45
|
暂停。只有 `auto-until-delivery` 且画像的 `user.visualGenerationAuthorization` 为
|
|
43
46
|
`auto-within-limit`、本次图片数不超过 `maxImagesPerRun` 时,才可直接生成;
|
|
@@ -48,6 +51,40 @@ description: DxC 内容工作流的视觉生产步骤。由 dxc-content-workflow
|
|
|
48
51
|
“启用图片生成能力”或“选择本地封面”两种可执行路径。不得生成纯色占位图,不得把
|
|
49
52
|
缺封面的阶段标为完成。
|
|
50
53
|
|
|
54
|
+
生成前授权的 `artifacts/06-visual-plan.md` 使用一等计划契约:
|
|
55
|
+
|
|
56
|
+
```yaml
|
|
57
|
+
---
|
|
58
|
+
planned: true
|
|
59
|
+
assetsDirectory: assets/visuals
|
|
60
|
+
inlineImagesSupported: true
|
|
61
|
+
generation:
|
|
62
|
+
executionLocation: agent-hosted
|
|
63
|
+
dataTransit: agent-provider
|
|
64
|
+
chargesQuota: true
|
|
65
|
+
maxAttempts: 1
|
|
66
|
+
retryPolicy: never
|
|
67
|
+
plannedAssets:
|
|
68
|
+
- role: cover
|
|
69
|
+
purpose: 文章内容封面
|
|
70
|
+
source: agent-generated
|
|
71
|
+
- role: inline
|
|
72
|
+
purpose: 解释核心关系
|
|
73
|
+
placementAnchor: after-heading:第二节
|
|
74
|
+
source: agent-generated
|
|
75
|
+
---
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
先写 `awaiting-user --authorization-purpose image-generation`;用户确认后写
|
|
79
|
+
`running --confirm --authorization-purpose image-generation`。计划中的张数、用途、执行位置、
|
|
80
|
+
数据去向、是否消耗额度、最多尝试次数或重试策略改变后,旧授权自动失效,必须重新展示并授权。
|
|
81
|
+
常规单次生成使用 `maxAttempts: 1`、`retryPolicy: never`。只有宿主能返回结构化重试安全证据时,
|
|
82
|
+
才可在授权计划中声明 `maxAttempts: 2`、
|
|
83
|
+
`retryPolicy: verified-no-asset-no-charge-once`;第二次调用只允许紧接第一次、发生在同一活跃任务,
|
|
84
|
+
且第一次明确返回 `retrySafe=true`、`noAsset=true`、`noCharge=true`。这不是跨任务尝试账本;任务
|
|
85
|
+
中断、证据缺字段、结果未知、可能已产图或可能计费时,旧授权不能支持自动重试,必须写新计划
|
|
86
|
+
并重新取得授权。
|
|
87
|
+
|
|
51
88
|
## 生产要求
|
|
52
89
|
|
|
53
90
|
- 先确定封面要传达的单一概念、情绪、构图和禁项,再生成或选择一张内容相关的横版封面;
|
|
@@ -57,6 +94,10 @@ description: DxC 内容工作流的视觉生产步骤。由 dxc-content-workflow
|
|
|
57
94
|
精确数据用数据图,核心句用金句图,叙事段用场景插画。
|
|
58
95
|
- 一旦视觉决策写明要使用某张正文图,就必须在本阶段实际生成或选择该文件。生成失败时
|
|
59
96
|
修正方案或暂停,不能让“计划 5 张、实际 0 张”进入审校。
|
|
97
|
+
- 图片生成返回未知结果、可能已计费或未明确 `noAsset/noCharge` 时,停止并请求用户决定是否
|
|
98
|
+
重试;不能盲目再次消耗额度。只有当前授权计划明确为 `maxAttempts: 2` 和上述安全策略,且
|
|
99
|
+
宿主结构化证明 `retrySafe=true`、`noAsset=true`、`noCharge=true`,才允许同一任务内自动再
|
|
100
|
+
尝试一次;第二次仍失败或任务边界已变化时必须停止并重新授权。
|
|
60
101
|
- 每张图必须绑定具体章节、目的、素材来源、实际文件、SHA-256 和生成方式。正文图的
|
|
61
102
|
`placementAnchor` 必须为 `after-heading:<正文二级标题全文>`,并且在当前正文中唯一;交付
|
|
62
103
|
CLI 只会按该锚点插入视觉计划声明的图片,找不到或重复匹配即阻断预览。
|
|
@@ -65,8 +106,10 @@ description: DxC 内容工作流的视觉生产步骤。由 dxc-content-workflow
|
|
|
65
106
|
不改写原句。它是正文写作与视觉生产之间的可追溯交接,不进入微信公众号正文。
|
|
66
107
|
- `assets/visuals/` 只保存本次明确采用的封面和正文图;候选图、失败图和被否决版本应留在
|
|
67
108
|
该目录之外,因为交付阶段会自动采集此目录中的合规正文图。
|
|
68
|
-
- 正文图片必须是 PNG/JPEG 且单张小于 1 MiB,最多 20
|
|
69
|
-
|
|
109
|
+
- 正文图片必须是 PNG/JPEG 且单张小于 1 MiB,最多 20 张;先生成或采集到视觉素材目录,
|
|
110
|
+
再由 CLI 的图片优化步骤产出可交付版本并同步真实哈希。透明图片必须保留透明通道;无法在
|
|
111
|
+
不破坏透明语义的前提下达标时阻断,不能静默铺底。任何优化都会使旧视觉 checkpoint 失效,
|
|
112
|
+
必须按新文件和新哈希重新 checkpoint、预览。
|
|
70
113
|
- 不下载字体、不执行安装脚本,不把“建议图”计入实际素材数量。
|
|
71
114
|
|
|
72
115
|
## 输出
|
|
@@ -108,6 +151,50 @@ inlineAssets:
|
|
|
108
151
|
|
|
109
152
|
CLI 从项目清单补 `assetsDirectory` 和 `inlineImagesSupported`,并从真实 PNG/JPEG 自动计算
|
|
110
153
|
`coverSha256` 与每项 `sha256`;Agent 不读取或复制哈希。
|
|
154
|
+
`source` 表示素材血缘而非绘制类型:本次由 Agent 绘制并导出的 SVG/图表仍写
|
|
155
|
+
`agent-generated`,用户给出的本地素材写 `local-material`;真正交付的文件仍必须先导出为
|
|
156
|
+
PNG/JPEG。`planned` 只用于上面的生成前授权契约,已落盘的最终视觉产物不得保留它。
|
|
157
|
+
|
|
158
|
+
## 先优化交付图片
|
|
159
|
+
|
|
160
|
+
在第一次 materialized(已落盘)视觉 checkpoint 之前,先运行:
|
|
161
|
+
|
|
162
|
+
```text
|
|
163
|
+
dxc wechat draft optimize-images \
|
|
164
|
+
--directory <项目目录> \
|
|
165
|
+
--visual-plan <visual-plan 产物路径> \
|
|
166
|
+
--json
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
CLI 会复算全部图片哈希;超限时只在视觉素材目录下生成带源哈希的 `optimized/` 派生图,
|
|
170
|
+
原图不覆盖,并把视觉计划的路径与哈希一起原子更新。透明 PNG 只能输出仍带透明通道的 PNG;
|
|
171
|
+
无法安全达标时停止。只要返回 `mutations` 非空,就必须先重新读取更新后的视觉计划和真实路径,
|
|
172
|
+
再执行下面的 checkpoint 和本地带图预览;不得继续引用旧路径或旧哈希。
|
|
173
|
+
|
|
174
|
+
## 更新右侧带图预览
|
|
175
|
+
|
|
176
|
+
全部封面和正文图落盘、视觉计划通过机械校验后,必须在写 `completed` checkpoint 之前运行:
|
|
177
|
+
|
|
178
|
+
```text
|
|
179
|
+
dxc wechat draft preview-local \
|
|
180
|
+
--article <project.status 返回的 article 路径> \
|
|
181
|
+
--visual-plan <project.status 返回的 visual-plan 路径> \
|
|
182
|
+
--assets-directory <视觉计划声明的 assetsDirectory> \
|
|
183
|
+
--title <titles 产物的 selectedTitle> \
|
|
184
|
+
--output .dxc/previews/visual-preview.html \
|
|
185
|
+
--json
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
该命令不登录、不上传、不创建云端快照,也不修改 `04-article.md`;它会根据正文、最终标题、
|
|
189
|
+
视觉计划和真实图片重新生成私有的自包含 HTML,并发出
|
|
190
|
+
`kind=content-local-preview`、`action=open-file`、`replaceExisting=true` 的
|
|
191
|
+
`DXC_BROWSER_EVENT`。当前宿主支持右侧文件或浏览器预览时,必须立即打开返回的绝对路径并
|
|
192
|
+
替换此前的 `04-article.md` 预览;不得只在对话中说“已生成”。同一阶段内只要正文、标题、
|
|
193
|
+
视觉计划或任一图片变化,就重新运行并用新的 `contentHash` 刷新右侧预览。
|
|
194
|
+
|
|
195
|
+
本地带图预览只用于检查图片、锚点和阅读节奏,不是最终微信模板确认。后续交付仍须创建、
|
|
196
|
+
查看并确认云端不可变预览。若宿主无法消费右侧预览事件,保留本地预览文件,明确告诉用户
|
|
197
|
+
自动替换未发生,并提供该文件作为可点击预览;不能把“文件已写入”冒充“右侧已刷新”。
|
|
111
198
|
|
|
112
199
|
在 frontmatter(前置元数据)后的正文追加:
|
|
113
200
|
|
|
@@ -119,7 +206,8 @@ CLI 从项目清单补 `assetsDirectory` 和 `inlineImagesSupported`,并从真
|
|
|
119
206
|
| 不要用忙碌代替推进。 | 第二节 | 认知压缩 | assets/visuals/golden-line.png |
|
|
120
207
|
```
|
|
121
208
|
|
|
122
|
-
只有封面和所有标为“进入”的图片实际存在、非空、类型为 PNG/JPEG
|
|
123
|
-
`coverSha256`、`inlineAssets`
|
|
209
|
+
只有封面和所有标为“进入”的图片实际存在、非空、类型为 PNG/JPEG、体积合规,
|
|
210
|
+
`coverSha256`、`inlineAssets` 清单哈希正确,并且上述本地带图预览已按当前内容哈希生成时,
|
|
211
|
+
才写 `completed` 并返回总控进入审校。
|
|
124
212
|
CLI 在接受检查点前会机械校验这些文件;交付 CLI 再从用户明确指定的
|
|
125
213
|
`assets/visuals/` 采集正文图片,并把 `cover.*` 解析为封面。CLI 不生成视觉内容。
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dxc-wechat-publisher
|
|
3
|
-
description: 把已确认的 Markdown 文章、视觉阶段已生产的内容封面及正文图片交付到微信公众号草稿箱。用户要求预览、绑定或选择公众号、创建微信草稿,或 dxc-content-workflow 推进到 delivery
|
|
3
|
+
description: 把已确认的 Markdown 文章、视觉阶段已生产的内容封面及正文图片交付到微信公众号草稿箱。用户要求预览、绑定或选择公众号、创建微信草稿,或 dxc-content-workflow 推进到 delivery 检查点时使用;创建前默认在系统浏览器展示云端不可变预览,只有宿主能力已验证时才使用右侧浏览器,并取得精确确认。
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# DxC 微信草稿交付
|
|
7
7
|
|
|
8
8
|
## 对用户的呈现
|
|
9
9
|
|
|
10
|
-
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.
|
|
10
|
+
用户只通过自然语言使用本 Skill。不要向用户展示 npm、CLI、PATH、PowerShell、Shell、JSON、内部命令或临时文件路径;只说明当前结果、需要用户做的选择,以及无法自动打开页面时的可点击临时链接。内部所有 CLI 调用都使用固定运行入口:Windows 为 `npm.cmd exec --yes --registry=https://registry.npmjs.org/ --package=@deployxai/dxc@0.1.12 -- dxc <参数>`,macOS/Linux 为相同参数的 `npm exec`。Windows 不得先尝试 npm 生成的无扩展名 `dxc`,同一任务后续必须保持已选入口;不得让用户打开终端、复制命令或处理环境变量。
|
|
11
11
|
|
|
12
12
|
本 Skill 只负责最后的 `delivery` 步骤:选择公众号、云端权威渲染、预览确认、创建草稿
|
|
13
13
|
和回读核验。它不生成正文,不正式发布,不群发。
|
|
@@ -56,7 +56,8 @@ dxc wechat draft preview \
|
|
|
56
56
|
--cover <cover.png-or-jpeg-or-auto> \
|
|
57
57
|
--account <account-id> \
|
|
58
58
|
--title "<已确认标题>" \
|
|
59
|
-
--browser
|
|
59
|
+
--browser system \
|
|
60
|
+
--json
|
|
60
61
|
```
|
|
61
62
|
|
|
62
63
|
若 Agent 已根据文章类型给出建议,可在文章 frontmatter 写入目录中的
|
|
@@ -71,10 +72,10 @@ CLI 只在上传字节中移除本地工作流专用的 `dxc`、`goldenLinesPath
|
|
|
71
72
|
`goldenLinesSha256` frontmatter,原始正文产物保持不变。Agent 不得另外创建
|
|
72
73
|
`04-article.publish.md` 之类的发布副本来规避云端校验。
|
|
73
74
|
|
|
74
|
-
CLI
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
`preview-refresh ... --browser system`,由 CLI 打开系统默认浏览器。系统浏览器也无法打开时,
|
|
75
|
+
CLI 默认用系统浏览器实际打开页面。只有当前宿主已证明会实时消费
|
|
76
|
+
`kind=wechat-draft-preview` 的 `DXC_BROWSER_EVENT`、导航最终 URL 并跟随模板切换跳转时,才显式
|
|
77
|
+
改用 `--browser agent`。仅收到事件或显示空面板不算用户已查看;此时必须对同一快照运行
|
|
78
|
+
`preview-refresh ... --browser system --json`,由 CLI 打开系统默认浏览器。系统浏览器也无法打开时,
|
|
78
79
|
把 CLI 返回的短时 URL 仅渲染为“查看预览”的可点击链接;不展示原始 URL、命令或技术说明,
|
|
79
80
|
也不把链接写进日志或项目产物。
|
|
80
81
|
|
|
@@ -83,6 +84,21 @@ CLI 会输出 `kind=wechat-draft-preview` 的 `DXC_BROWSER_EVENT`。Agent 默认
|
|
|
83
84
|
快照时停止并修复,不得只保留封面继续创建草稿。项目产物统一保存 `/` 分隔的便携相对路径;
|
|
84
85
|
CLI 同时接受 Windows `\` 分隔符和 URL 编码文件名,并在上传前归一化为同一逻辑路径。
|
|
85
86
|
|
|
87
|
+
页面首次实际打开,以及用户每次切换模板并等待新预览页面实际打开后,都运行:
|
|
88
|
+
|
|
89
|
+
```text
|
|
90
|
+
dxc wechat draft preview-status \
|
|
91
|
+
--snapshot <rootSnapshotId> \
|
|
92
|
+
--snapshot-hash <rootSnapshotHash> \
|
|
93
|
+
--json
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
只有最后一次返回的 `viewed=true`,并且该回执的 `templateId`、`selectedSnapshotId`、
|
|
97
|
+
`selectedSnapshotHash` 和 `selectionRevision` 已写入 delivery,才允许展示最终模板并询问确认。
|
|
98
|
+
这份服务端回执是模板真值;不能根据下拉框曾经显示的值、Agent 记忆或第一次选择推断最终模板。
|
|
99
|
+
用户连续选择 A、B、C 时,以最后一次成功提交、生成并实际打开的 C 修订为准;如果 C 提交失败,
|
|
100
|
+
`preview-status` 仍会明确显示旧修订,必须重新切换或打开,不能静默拿 A/B 创建草稿。
|
|
101
|
+
|
|
86
102
|
把以下内容写入项目清单指定的 `delivery` 产物;默认是
|
|
87
103
|
`artifacts/08-delivery.md`:
|
|
88
104
|
|
|
@@ -95,6 +111,7 @@ rootSnapshotHash: <最初渲染快照 sha256>
|
|
|
95
111
|
selectedSnapshotId: <当前最终选中快照 uuid,首次预览时与 root 相同>
|
|
96
112
|
selectedSnapshotHash: <当前最终选中快照 sha256,首次预览时与 root 相同>
|
|
97
113
|
templateId: <当前最终模板 ID>
|
|
114
|
+
previewSelectionRevision: <preview-status 返回的非负选择修订号>
|
|
98
115
|
previewExpiresAt: <ISO 8601>
|
|
99
116
|
intentId: null
|
|
100
117
|
---
|
|
@@ -124,8 +141,7 @@ intentId: null
|
|
|
124
141
|
创建草稿的按钮或其他写操作。用户最初提出“放进草稿箱”是任务意图,不能替代看到最终预览
|
|
125
142
|
后的这一次确认;不得再增加第二次同义确认。
|
|
126
143
|
|
|
127
|
-
|
|
128
|
-
使切换前的确认失效;浏览器回退到旧预览也不能恢复旧确认。若创建命令返回
|
|
144
|
+
模板切换会使切换前的确认失效;浏览器回退到旧预览也不能恢复旧确认。若创建命令返回
|
|
129
145
|
`PUBLISHING_PREVIEW_REQUIRED`,说明最终预览尚未成功打开,应重新打开当前预览后再询问;若
|
|
130
146
|
返回 `PUBLISHING_APPROVAL_STALE`,说明确认后预览选择又发生变化,应展示当前最终预览并重新
|
|
131
147
|
取得一次确认。不得把这两类错误改成自动确认或直接创建草稿。
|
|
@@ -135,15 +151,21 @@ intentId: null
|
|
|
135
151
|
dxc wechat draft preview-refresh \
|
|
136
152
|
--snapshot <rootSnapshotId> \
|
|
137
153
|
--snapshot-hash <rootSnapshotHash> \
|
|
138
|
-
--browser
|
|
154
|
+
--browser system \
|
|
155
|
+
--json
|
|
139
156
|
```
|
|
140
157
|
|
|
141
158
|
这只为原始快照(以及已记录的最终模板选择)重建短时链接,不得重跑正文、素材或草稿意图。
|
|
142
159
|
把新的 `previewExpiresAt` 写回交付产物;刷新和创建请求仍以交付产物中的 root 快照发起,
|
|
143
|
-
服务端会解析为用户最后选择的不可变 selected
|
|
144
|
-
`--browser
|
|
160
|
+
服务端会解析为用户最后选择的不可变 selected 快照。默认在系统浏览器打开;仅已验证宿主才
|
|
161
|
+
可改用 `--browser agent`。仅刷新同一个最终预览不会改变预览选择版本;若模板、
|
|
145
162
|
正文或素材发生变化,仍必须重新打开最终预览并取得明确确认。
|
|
146
163
|
|
|
164
|
+
若 `preview-status` 或其他读取命令返回 `DXC_API_REQUEST_FAILED`,记录 CLI 返回的 HTTP 状态码,
|
|
165
|
+
并先核对 CLI 与服务端是否部署同一发布版本。该错误没有证明远端未处理任何写操作:不得跳过
|
|
166
|
+
预览门、不得改用新幂等键、不得把它归类为可安全重试;仅可读取已有 intent 状态,必要时进入
|
|
167
|
+
“需要人工核对”。
|
|
168
|
+
|
|
147
169
|
## 创建与核验
|
|
148
170
|
|
|
149
171
|
只有用户在看到上述信息后明确确认,才运行:
|
|
@@ -153,16 +175,19 @@ dxc wechat draft create \
|
|
|
153
175
|
--account <account-id> \
|
|
154
176
|
--snapshot <rootSnapshotId> \
|
|
155
177
|
--snapshot-hash <rootSnapshotHash> \
|
|
156
|
-
--idempotency-key <已先写入交付产物的稳定键> \
|
|
157
178
|
--delivery artifacts/08-delivery.md \
|
|
158
|
-
--confirm
|
|
179
|
+
--confirm \
|
|
180
|
+
--json
|
|
159
181
|
```
|
|
160
182
|
|
|
161
|
-
CLI 会根据项目与 root
|
|
162
|
-
|
|
163
|
-
|
|
183
|
+
CLI 会根据项目与 root 快照生成并落盘幂等键;创建时从 `--delivery` 读取并复用该值,不需要
|
|
184
|
+
Agent 手抄。若同时显式传键,必须与 delivery 完全一致;公众号或 root 快照不一致也会在任何
|
|
185
|
+
服务端请求前停止。批准响应必须与 delivery 中的 `selectedSnapshotId`、
|
|
186
|
+
`selectedSnapshotHash`、`templateId` 和 `previewSelectionRevision` 全部一致,CLI 才会继续
|
|
187
|
+
创建意图并写入 `intent.id` 与 `processing` 状态。任一字段不一致说明用户确认后模板又变化,
|
|
188
|
+
CLI 必须在创建意图前停止。
|
|
164
189
|
再用
|
|
165
|
-
`dxc wechat draft status <intent-id
|
|
190
|
+
`dxc wechat draft status <intent-id> --json` 查询进度:
|
|
166
191
|
|
|
167
192
|
- `progress.terminal` 为 `false` 时:按 `progress.pollAfterSeconds` 静默、安全查询;只有等待
|
|
168
193
|
明显超出服务端建议或用户主动询问时才展示 `progress.label`、`progress.message` 和
|
|
@@ -175,7 +200,27 @@ CLI 会根据项目与 root 快照生成并落盘幂等键;创建时读取并
|
|
|
175
200
|
--summary "微信草稿创建并回读核验成功"` 检查点。
|
|
176
201
|
- `progress.label` 为“需要人工核对”时:记录诊断并停止,禁止盲目重试微信副作用,
|
|
177
202
|
等待人工核对。
|
|
203
|
+
|
|
204
|
+
微信返回 `mediaId` 只证明草稿可能已经创建;若回读 `verification.contentMatched=false`,必须保留
|
|
205
|
+
`CREATED_UNVERIFIED`/“需要人工核对”。标题、作者和摘要匹配不能替代正文核验,也不能完成
|
|
206
|
+
delivery checkpoint;应先保存比对哈希和诊断,再由人工确认或后续改进微信 HTML 规范化规则。
|
|
207
|
+
|
|
178
208
|
- `progress.label` 为“未完成”时:记录稳定错误码,写 `failed --error-code <code>`;
|
|
179
|
-
|
|
209
|
+
只有服务端状态明确为 `FAILED`(证明在外部副作用发生前失败)时,才允许用户明确确认后运行:
|
|
210
|
+
|
|
211
|
+
```text
|
|
212
|
+
dxc wechat draft retry \
|
|
213
|
+
--intent <当前 FAILED intent-id> \
|
|
214
|
+
--delivery artifacts/08-delivery.md \
|
|
215
|
+
--confirm \
|
|
216
|
+
--json
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
CLI 会重新从服务端读取原状态,绑定 `previousIntentId`,生成新的幂等键,并把重试次数与谱系
|
|
220
|
+
写回 delivery。只有服务端还能证明失败发生在任何非幂等图片上传或草稿创建之前时才接受;
|
|
221
|
+
图片上传或草稿创建已经开始后的 `FAILED`、`CREATED_UNVERIFIED`、
|
|
222
|
+
`ASSET_UPLOAD_UNVERIFIED`、仍在处理、已成功或“需要人工核对”的意图一律拒绝重试;不得改用
|
|
223
|
+
新的手写幂等键绕过。新的重试意图如果再次明确 `FAILED`,仍须服务端重新证明安全,并由用户
|
|
224
|
+
再次确认当前失败意图作为下一条链的来源。
|
|
180
225
|
|
|
181
226
|
正文、标题、模板、渲染器版本、封面或正文图片变化后,原确认失效;必须重新生成预览并确认。
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "DxC 微信草稿交付"
|
|
3
|
-
short_description: "
|
|
4
|
-
default_prompt: "使用 $dxc-wechat-publisher
|
|
3
|
+
short_description: "上传完整图文,默认系统浏览器展示预览,单次确认后创建微信草稿"
|
|
4
|
+
default_prompt: "使用 $dxc-wechat-publisher 上传当前文章的封面和全部正文图片,默认在系统浏览器实际打开云端预览;只有宿主右侧浏览器能力已验证时才使用右侧预览,在我明确确认一次后创建微信公众号草稿。"
|
|
5
5
|
policy:
|
|
6
6
|
allow_implicit_invocation: false
|