@xia-sc/dsh-cc-studio 0.10.3 → 0.11.1
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.md +20 -12
- package/lib/agent.js +142 -8
- package/lib/client.js +289 -51
- package/lib/draft-lock.js +98 -0
- package/lib/index.js +215 -6
- package/package.json +4 -3
- package/presets/cc/agent.cordis.yml +20 -36
- package/presets/cc.patch.yml +20 -36
package/presets/cc.patch.yml
CHANGED
|
@@ -76,11 +76,11 @@
|
|
|
76
76
|
3) cc_patch_world — 补五维 timeline/factions/geo/power/daily,至少填 3 项,autoLorebook=true 自动生成带 @@decorator 的基础条目;**同时给 loreKeys**(每一维自报用户真会说的实体名,如 {geo:["旧校舍","广播室","天台"]})—— 不给的话自动条目的 keys 只有维度名,真实对话永远命中不了
|
|
77
77
|
4) cc_add_lorebook_entries — 再补到至少 5 条,且**至少 1 条是你与用户共创的**(纯 autoLorebook 自动条目不算完成),覆盖年表/势力/地理/力量/日常各 1,至少 1 条 constant,content 头部写 @@position/@@depth/@@activate 等,支持 CBS 占位符(双花括号的 char / random / roll 形式);写完用 cc_simulate_trigger 拿一句用户会说的话验一下命中
|
|
78
78
|
5) cc_patch_greetings — 补 first_mes、alternate_greetings(≥2)、group_only_greetings(≥1 必填)、mes_example
|
|
79
|
-
6) cc_validate — 必须调且 valid=true 才算完成,否则按返回的 errors/warnings
|
|
79
|
+
6) cc_validate — 必须调且 valid=true 才算完成,否则按返回的 errors/warnings 继续补;**通过后必须立刻调用 cc_release_draft 交还草稿编辑权**(不调用的话工坊一直只读、用户无法微调),然后再提醒用户在工坊左下角「校验导出」入口打开导出页选 JSON / PNG / CHARX,或点「★ 保存当前」落盘 ~/.dsh/cc-library
|
|
80
80
|
|
|
81
81
|
辅助工具(按需,不必每步都调):cc_patch_book_meta(世界书命名 / scan_depth / token_budget)、cc_lint_lorebook(世界书静态体检)、cc_simulate_trigger(验触发词命中)、cc_preview_export(导出前干跑)、cc_new_card(重置草稿,**必须先经用户同意**再带 confirm:true)、cc_update_lorebook_entry / cc_delete_lorebook_entries(改删单条)、已存库 cc_list_library / cc_save_to_library / cc_load_from_library / cc_rename_in_library / cc_delete_from_library / cc_get_library_entry(载入后直接保存会更新原卡,不会新建重复卡)。
|
|
82
82
|
|
|
83
|
-
规则:每次对话只追问 1-2 个薄弱点,问完立刻调工具写入;用户说“随便/跳过”也要你合理推断补全,不能留空;严禁跳过 3/4 步直接做问候语;每调一次工具要简要总结“已写入 X,下一步 Y”,并让胶囊实时同步;结束前必须 cc_validate
|
|
83
|
+
规则:每次对话只追问 1-2 个薄弱点,问完立刻调工具写入;用户说“随便/跳过”也要你合理推断补全,不能留空;严禁跳过 3/4 步直接做问候语;每调一次工具要简要总结“已写入 X,下一步 Y”,并让胶囊实时同步;结束前必须 cc_validate;**cc_validate 通过 = 创作完成,必须调用 cc_release_draft 交还草稿锁收口**(不调就算没做完;之后用户要改,你再写会自动重新上锁)。工具返回里只有一份 workflow.next(下一步该做什么)与 workflow.hint(进度摘要),照它走即可;用户还没回答就别抢跑。
|
|
84
84
|
|
|
85
85
|
**工具参数必须是严格合法的 JSON**:最后一个字段 / 数组元素后不要写逗号,不要用 ```json 代码块包裹,不要注释、不要单引号;字符串里的换行写成 \n、双引号写成 \"。一次只传 1-3 个字段,长字段(description/personality/scenario)分多次调用写;tags / loreKeys 这类数组或对象字段单独一次调用,不要和长文本同批。参数 JSON 非法时 provider 会在调用前直接判本轮失败(用户只看到「本轮运行失败」),所以宁可分多次小调用。
|
|
86
86
|
|
|
@@ -89,6 +89,12 @@
|
|
|
89
89
|
config:
|
|
90
90
|
maxBytes: 65536
|
|
91
91
|
|
|
92
|
+
# 0.2.1 对齐:time-context 从 host 层挪进预设行(dsh 0.2.1-rc.2 的内置 standard 有这一行)。
|
|
93
|
+
# 包 @deepseek-ai/dsh-time-context 在 dsh 0.1.6-alpha.2 的依赖里也存在,
|
|
94
|
+
# 且那一代 host 层没有挂它,所以旧版目录形态上补这一行不会重复注册、不会 broken。
|
|
95
|
+
- id: time-context
|
|
96
|
+
name: '@deepseek-ai/dsh-time-context'
|
|
97
|
+
|
|
92
98
|
# ── shell ───────────────────────────────────────────────────────────────────
|
|
93
99
|
|
|
94
100
|
# `shell-env` stays in the HOST composition: `apps/cli/src/web.ts` injects it to
|
|
@@ -139,11 +145,9 @@
|
|
|
139
145
|
# carries whatever the deployment registered globally (repository plugins).
|
|
140
146
|
- id: skill-filesystem
|
|
141
147
|
name: '@deepseek-ai/dsh-skill-filesystem'
|
|
142
|
-
disabled: true
|
|
143
148
|
|
|
144
149
|
- id: tool-skill
|
|
145
150
|
name: '@deepseek-ai/dsh-tool-skill'
|
|
146
|
-
disabled: true
|
|
147
151
|
|
|
148
152
|
# 0.3.7 补回:内置 `standard` 自 0.1.6-alpha.2 起就带这一行,本预设初次拷贝时整行漏掉了
|
|
149
153
|
# (与 0.3.4 补回的 `present` 同类:不报错、不判 broken,只是少了能力)。
|
|
@@ -178,7 +182,7 @@
|
|
|
178
182
|
name: '@deepseek-ai/dsh-plan-mode'
|
|
179
183
|
config:
|
|
180
184
|
section: |
|
|
181
|
-
You are in plan mode. Stay in plan mode until
|
|
185
|
+
You are in plan mode. Stay in plan mode until the user approves your plan through exit_plan_mode or switches the session mode. Imperative language to implement changes means plan the implementation, not execute it. A user's conversational agreement — including an answer confirming something you asked — approves nothing and does not end plan mode; fold the confirmed decision into the plan and submit it through exit_plan_mode.
|
|
182
186
|
|
|
183
187
|
Explore first. Use non-mutating reads, searches, static analysis, and checks to ground the plan in the actual repository. Do not edit or write files, change configuration, run formatters or code generation that rewrites tracked files, commit, or otherwise carry out the plan. Prefer existing functions and patterns over new machinery.
|
|
184
188
|
|
|
@@ -260,36 +264,12 @@
|
|
|
260
264
|
provider: spawn
|
|
261
265
|
toolName: subagent
|
|
262
266
|
modelSelectionSettings: true
|
|
263
|
-
backgroundMode: continuable
|
|
264
267
|
|
|
265
268
|
- id: tool-subagent-fork
|
|
266
269
|
name: '@deepseek-ai/dsh-tool-subagent'
|
|
267
270
|
config:
|
|
268
271
|
provider: fork
|
|
269
272
|
toolName: subagent_fork
|
|
270
|
-
backgroundMode: continuable
|
|
271
|
-
|
|
272
|
-
# Production dsh does not install these optional providers. Install the
|
|
273
|
-
# matching Bundle in this Profile and restart the Host, then copy this
|
|
274
|
-
# preset and remove `disabled` from the matching tool row. Host availability
|
|
275
|
-
# alone grants no tool.
|
|
276
|
-
- id: tool-subagent-codex
|
|
277
|
-
name: '@deepseek-ai/dsh-tool-subagent'
|
|
278
|
-
disabled: true
|
|
279
|
-
config:
|
|
280
|
-
provider: codex
|
|
281
|
-
toolName: subagent_codex
|
|
282
|
-
backgroundMode: one-shot
|
|
283
|
-
maxDepth: provider-managed
|
|
284
|
-
|
|
285
|
-
- id: tool-subagent-claude-code
|
|
286
|
-
name: '@deepseek-ai/dsh-tool-subagent'
|
|
287
|
-
disabled: true
|
|
288
|
-
config:
|
|
289
|
-
provider: claude-code
|
|
290
|
-
toolName: subagent_claude_code
|
|
291
|
-
backgroundMode: one-shot
|
|
292
|
-
maxDepth: provider-managed
|
|
293
273
|
|
|
294
274
|
# dsh 0.1.6-alpha.1: `dsh-workflow-worker-thread` is gone from the release;
|
|
295
275
|
# the workflow engine is now `dsh-workflow-ptc` (sandboxed Node PTC runtime,
|
|
@@ -305,12 +285,6 @@
|
|
|
305
285
|
- id: tool-workflow
|
|
306
286
|
name: '@deepseek-ai/dsh-tool-workflow'
|
|
307
287
|
|
|
308
|
-
- id: tool-ralph
|
|
309
|
-
name: '@deepseek-ai/dsh-tool-ralph'
|
|
310
|
-
config:
|
|
311
|
-
subagentProvider: spawn
|
|
312
|
-
maxRounds: 64
|
|
313
|
-
|
|
314
288
|
# ── remaining model-facing rows ─────────────────────────────────────────────
|
|
315
289
|
|
|
316
290
|
- id: tool-ask-user
|
|
@@ -326,7 +300,7 @@
|
|
|
326
300
|
- id: tool-web
|
|
327
301
|
name: '@deepseek-ai/dsh-tool-web'
|
|
328
302
|
config:
|
|
329
|
-
fetch:
|
|
303
|
+
fetch: true
|
|
330
304
|
searchTimeoutMs: 60000
|
|
331
305
|
|
|
332
306
|
# 0.3.4 补回:`present` 是 standard 一直有的行,本预设此前整行漏抄。
|
|
@@ -344,6 +318,16 @@
|
|
|
344
318
|
name: '@deepseek-ai/dsh-plugin-manager/tools'
|
|
345
319
|
disabled: true
|
|
346
320
|
|
|
321
|
+
# ── 与 dsh 0.2.1-rc.2 内置 standard 的**有意差异**(下次升级 diff 别当成漏抄)──
|
|
322
|
+
# · `tool-schedule`:0.2.1 standard 有,但 `@deepseek-ai/dsh-tool-schedule` 在
|
|
323
|
+
# dsh ≤ 0.1.6-alpha.2 的依赖里不存在,而这份清单同时喂给目录形态(旧版);
|
|
324
|
+
# 非 disabled 行解析不到包会让**整个预设 broken**(unresolvableRows),
|
|
325
|
+
# 所以为兼容旧版不带这一行。CC 模式也不需要定时任务工具。
|
|
326
|
+
# · `tool-plugin-market`:0.2.1 standard 里是 disabled,但 0.1.6 没有
|
|
327
|
+
# `@deepseek-ai/dsh-plugin-market` 这个包;按家规「不拿 disabled 遮掩
|
|
328
|
+
# 一个已经不存在的包」,同样不带。
|
|
329
|
+
# 其余行与 standard 逐行对齐;本预设只保留 persona 定制与末尾的 cc-agent 行。
|
|
330
|
+
|
|
347
331
|
# ── CC 角色卡工坊(CC 模式专用) ───────────────────────────────────
|
|
348
332
|
- id: cc-agent
|
|
349
333
|
name: '@xia-sc/dsh-cc-studio/agent'
|