dsh-openwrite 0.2.28 → 0.2.34
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/LICENSE +1 -1
- package/README.md +49 -8
- package/THIRD_PARTY_NOTICES.md +4 -3
- package/companions.mjs +508 -0
- package/cordis.patch.yml +0 -2
- package/docs/CLOSED_ISSUE_FOLLOWUPS.md +1 -1
- package/docs/COMPANION_PLUGINS.md +142 -0
- package/docs/CONTEXT_SLOTS.md +1 -1
- package/docs/COST_MEASUREMENT.md +2 -2
- package/docs/DEVELOPMENT.md +6 -11
- package/docs/DSH_STORE.md +14 -2
- package/docs/EDITOR_SAFETY_REPAIRS.md +2 -2
- package/docs/INSTALL.md +112 -4
- package/docs/ISSUES_121_123.md +4 -4
- package/docs/ISSUES_140_142.md +58 -0
- package/docs/ISSUES_149_150_151.md +77 -0
- package/docs/ISSUE_123_FOLLOWUP.md +3 -2
- package/docs/ISSUE_146_REVIEW_EVIDENCE.md +53 -0
- package/docs/LEARNING.md +1 -1
- package/docs/MOBILE_READINESS.md +62 -0
- package/docs/PLUGIN_MAINTENANCE.md +1 -3
- package/docs/RELEASE_ACCEPTANCE.md +20 -3
- package/docs/REVIEW_ROUND_22.md +67 -0
- package/docs/REVIEW_ROUND_23.md +48 -0
- package/docs/REVIEW_ROUND_25.md +51 -0
- package/docs/SELECTION_UPGRADE_REPAIRS.md +2 -2
- package/docs/TOOLS.md +181 -604
- package/docs/WORKFLOWS.md +5 -5
- package/package.json +17 -21
- package/packages/openwrite-bridge/lib/client.d.ts +0 -1
- package/packages/openwrite-bridge/lib/client.js +90 -9
- package/packages/openwrite-bridge/lib/contracts-generated.js +2 -1
- package/packages/openwrite-bridge/lib/dog-delivery.d.ts +1 -0
- package/packages/openwrite-bridge/lib/dog-delivery.js +3 -1
- package/packages/openwrite-bridge/lib/dog-review.js +15 -3
- package/packages/openwrite-bridge/lib/domain.d.ts +27 -0
- package/packages/openwrite-bridge/lib/domain.js +250 -29
- package/packages/openwrite-bridge/lib/host-llm.d.ts +188 -0
- package/packages/openwrite-bridge/lib/host-llm.js +657 -0
- package/packages/openwrite-bridge/lib/host-web.d.ts +61 -0
- package/packages/openwrite-bridge/lib/host-web.js +166 -0
- package/packages/openwrite-bridge/lib/index.d.ts +4 -0
- package/packages/openwrite-bridge/lib/index.js +150 -6
- package/packages/openwrite-bridge/lib/managed-runtime.d.ts +47 -2
- package/packages/openwrite-bridge/lib/managed-runtime.js +176 -34
- package/packages/openwrite-bridge/lib/tool-policy.js +37 -12
- package/packages/openwrite-bridge/lib/tools.js +1223 -1227
- package/packages/openwrite-bridge/package.json +7 -5
- package/packages/studio-panel/lib/client.js +123207 -121534
- package/packages/studio-panel/lib/client.js.map +1 -1
- package/packages/studio-panel/lib/types/client/LaunchOpenWrite.d.ts +10 -0
- package/packages/studio-panel/lib/types/client/ModelView.d.ts +28 -4
- package/packages/studio-panel/lib/types/client/OpenWriteSettings.d.ts +64 -0
- package/packages/studio-panel/lib/types/client/SceneWorkbench.d.ts +2 -0
- package/packages/studio-panel/lib/types/client/SearchSettings.d.ts +2 -0
- package/packages/studio-panel/lib/types/client/SerialWritingView.d.ts +2 -1
- package/packages/studio-panel/lib/types/client/TurnMutationSummary.d.ts +2 -0
- package/packages/studio-panel/lib/types/client/VditorBody.d.ts +1 -1
- package/packages/studio-panel/lib/types/client/api.d.ts +41 -2
- package/packages/studio-panel/lib/types/client/browser-download.d.ts +4 -0
- package/packages/studio-panel/lib/types/client/companions.d.ts +46 -0
- package/packages/studio-panel/lib/types/client/dto.d.ts +22 -0
- package/packages/studio-panel/lib/types/client/locales.d.ts +1 -1
- package/packages/studio-panel/lib/types/client/workspace-chrome.d.ts +41 -0
- package/packages/studio-panel/package.json +5 -3
- package/plugin.mjs +159 -20
- package/preset-definition.mjs +144 -4
- package/presets/openwrite/agent.cordis.yml +7 -9
- package/presets/openwrite/ops-integration.mjs +28 -0
- package/presets/openwrite/preset.yml +2 -1
- package/presets/openwrite/skills/canon/SKILL.md +3 -3
- package/presets/openwrite/skills/delivery-artifact-query/SKILL.md +41 -0
- package/presets/openwrite/skills/dialoguequality/SKILL.md +16 -17
- package/presets/openwrite/skills/dog-delivery-verification/SKILL.md +113 -0
- package/presets/openwrite/skills/export-book/SKILL.md +3 -3
- package/presets/openwrite/skills/foreshadow/SKILL.md +1 -1
- package/presets/openwrite/skills/foreshadowing-system/SKILL.md +16 -25
- package/presets/openwrite/skills/import-artifact-query/SKILL.md +30 -0
- package/presets/openwrite/skills/learn/SKILL.md +3 -3
- package/presets/openwrite/skills/novel-creator/SKILL.md +10 -10
- package/presets/openwrite/skills/novel-reviewer/SKILL.md +11 -11
- package/presets/openwrite/skills/progress/SKILL.md +1 -1
- package/presets/openwrite/skills/review-artifact-query/SKILL.md +41 -0
- package/presets/openwrite/skills/review-chapter/SKILL.md +2 -2
- package/presets/openwrite/skills/revise-span/SKILL.md +5 -5
- package/presets/openwrite/skills/style-system/SKILL.md +13 -6
- package/presets/openwrite/skills/truth-validation/SKILL.md +9 -12
- package/presets/openwrite/skills/workflow-manager/SKILL.md +13 -13
- package/presets/openwrite/skills/world-query/SKILL.md +16 -11
- package/presets/openwrite/skills/write-next/SKILL.md +1 -1
- package/release/{openwrite-5.8.20-py3-none-any.whl → openwrite-5.8.30-py3-none-any.whl} +0 -0
- package/release/runtime-manifest.json +4 -13
- package/release/source.json +21 -21
- package/release/wheels/licenses/OPENSSL-3.6.3-LICENSE.txt +225 -0
- package/scripts/maintenance.mjs +67 -7
- package/scripts/plugin-doctor.mjs +179 -0
- package/scripts/prepare.mjs +26 -4
- package/scripts/safe-upgrade.mjs +38 -5
- package/dog-tools.mjs +0 -13
- package/presets/openwrite/skills/dog-delivery-query/SKILL.md +0 -42
- package/presets/openwrite/skills/dog-import-query/SKILL.md +0 -29
- package/presets/openwrite/skills/dog-review-query/SKILL.md +0 -42
- package/scripts/dog/delivery-stage.js +0 -32
- package/scripts/dog/import-chapter.js +0 -20
- package/scripts/dog/import-record.js +0 -35
- package/scripts/dog/review-dimension.js +0 -41
- package/scripts/dog/review-record.js +0 -42
- package/vendor/dsh-dog/LICENSE +0 -29
- package/vendor/dsh-dog/README.md +0 -114
- package/vendor/dsh-dog/UPSTREAM.md +0 -30
- package/vendor/dsh-dog/cordis.patch.yml +0 -14
- package/vendor/dsh-dog/lib/client.js +0 -2960
- package/vendor/dsh-dog/lib/client.js.map +0 -1
- package/vendor/dsh-dog/lib/core--byUPJL8.js +0 -2191
- package/vendor/dsh-dog/lib/core-BiEBMLz3.d.ts +0 -495
- package/vendor/dsh-dog/lib/core.d.ts +0 -2
- package/vendor/dsh-dog/lib/core.js +0 -2
- package/vendor/dsh-dog/lib/index.d.ts +0 -143
- package/vendor/dsh-dog/lib/index.js +0 -1230
- package/vendor/dsh-dog/package.json +0 -110
- package/vendor/dsh-dog/schemas/schema-0.2/graph.schema.json +0 -139
- package/vendor/dsh-dog/schemas/schema-0.2/report.schema.json +0 -87
- package/vendor/dsh-dog/schemas/schema-0.2/run.schema.json +0 -259
- package/vendor/dsh-dog/schemas/schema-0.2/runtime-event.schema.json +0 -105
- package/vendor/dsh-dog/schemas/schema-0.2/verification.schema.json +0 -40
package/docs/TOOLS.md
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
# 小说工具参考
|
|
2
2
|
|
|
3
|
-
本候选共
|
|
3
|
+
本候选共 56 个 novel_* 工具。由 tools.ts 的注册定义生成;说明与参数保留实际 schema 原文,避免手册与接口漂移。用浏览器或编辑器搜索工具名即可定位。
|
|
4
4
|
|
|
5
5
|
## 先选入口
|
|
6
6
|
|
|
7
|
-
- 看当前作品:`novel_status`;查文件:`
|
|
8
|
-
- 修改大纲/设定/创作罗盘:先用 `
|
|
7
|
+
- 看当前作品:`novel_status`;查文件:`novel_doc(action="read"`;看本章输入:`novel_context_preview`。上下文来源与预算见 [上下文槽位](CONTEXT_SLOTS.md)。
|
|
8
|
+
- 修改大纲/设定/创作罗盘:先用 `novel_change_plan`(action="structured")预览并核对;只有作者已明确授权的精确变更才使用兼容的直接写入工具,如 `novel_focus`。
|
|
9
9
|
- 正文确认:`novel_manuscript_acceptance {}` 只读查 operation_id,核对影响后用 `novel_manuscript_acceptance_reconcile {"action":"acknowledge","operation_id":"实际返回值","confirm":true}` 确认;这不会补跑结算或审稿。
|
|
10
10
|
- 结算缺失:核对目标章节后使用 `novel_settle_backfill {"chapter_ids":["ch_001"],"only_missing":true}`,再查返回任务;会调用模型并写入记忆/运行态资料,不重写正文。不要把 canon 未定论一律解释为缺结算。
|
|
11
|
-
- 模型与嵌入:Chat 与 Embedding 档案独立;配置不等于连接成功。`
|
|
12
|
-
- 写章返回 task_id 后用 `
|
|
11
|
+
- 模型与嵌入:Chat 与 Embedding 档案独立;配置不等于连接成功。`novel_model_profiles(action="list"`(action="test")/ `novel_embedding_profiles(action="list"`(action="test")会实际请求提供方,可能计费。
|
|
12
|
+
- 写章返回 task_id 后用 `novel_task`(action="get")查询;取消用 action="cancel"。超时/网络错误后先查任务与运行,避免重复提交。
|
|
13
13
|
|
|
14
14
|
## 参数和错误
|
|
15
15
|
|
|
@@ -22,97 +22,58 @@
|
|
|
22
22
|
| 工具 | 影响 | 必填参数 |
|
|
23
23
|
| --- | --- | --- |
|
|
24
24
|
| [novel_arc_reconcile](#novel_arc_reconcile) | 会提交操作或保存文件;具体取决于 action/参数 | `data` |
|
|
25
|
-
| [
|
|
26
|
-
| [
|
|
27
|
-
| [
|
|
28
|
-
| [novel_assets_list](#novel_assets_list) | 只读查询(可更新检索缓存) | 无 |
|
|
29
|
-
| [novel_assets_package_export](#novel_assets_package_export) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
30
|
-
| [novel_assets_package_import](#novel_assets_package_import) | 会提交操作或保存文件;具体取决于 action/参数 | `upload_id` |
|
|
31
|
-
| [novel_assets_package_preview](#novel_assets_package_preview) | 会提交操作或保存文件;具体取决于 action/参数 | `package_base64` |
|
|
25
|
+
| [novel_assets](#novel_assets) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
26
|
+
| [novel_assets_package](#novel_assets_package) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
27
|
+
| [novel_change_plan](#novel_change_plan) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
32
28
|
| [novel_chapter_delete](#novel_chapter_delete) | 会提交操作或保存文件;具体取决于 action/参数 | `path`, `confirm`, `version` |
|
|
33
29
|
| [novel_chapter_delete_batch](#novel_chapter_delete_batch) | 会提交操作或保存文件;具体取决于 action/参数 | `keep_through`, `confirm`, `version` |
|
|
34
30
|
| [novel_chapter_run_action](#novel_chapter_run_action) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
35
|
-
| [novel_chapter_scenes](#novel_chapter_scenes) |
|
|
36
|
-
| [novel_chapter_work](#novel_chapter_work) |
|
|
37
|
-
| [novel_context_preview](#novel_context_preview) |
|
|
38
|
-
| [novel_continuity](#novel_continuity) |
|
|
31
|
+
| [novel_chapter_scenes](#novel_chapter_scenes) | 会提交操作或保存文件;具体取决于 action/参数 | `chapter_id` |
|
|
32
|
+
| [novel_chapter_work](#novel_chapter_work) | 会提交操作或保存文件;具体取决于 action/参数 | `chapter_id` |
|
|
33
|
+
| [novel_context_preview](#novel_context_preview) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
34
|
+
| [novel_continuity](#novel_continuity) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
39
35
|
| [novel_diagnostics](#novel_diagnostics) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
40
|
-
| [
|
|
41
|
-
| [novel_doc_read](#novel_doc_read) | 只读查询(可更新检索缓存) | `path` |
|
|
42
|
-
| [novel_doc_write](#novel_doc_write) | 会提交操作或保存文件;具体取决于 action/参数 | `path`, `content` |
|
|
43
|
-
| [novel_document_change_plan](#novel_document_change_plan) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
36
|
+
| [novel_doc](#novel_doc) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
44
37
|
| [novel_drift_entry](#novel_drift_entry) | 会提交操作或保存文件;具体取决于 action/参数 | `group_id`, `chapter_id`, `kind`, `impact`, `note`, `expected_revision` |
|
|
45
|
-
| [
|
|
46
|
-
| [
|
|
47
|
-
| [novel_embedding_profile_select](#novel_embedding_profile_select) | 会提交操作或保存文件;具体取决于 action/参数 | `profile_id` |
|
|
48
|
-
| [novel_embedding_profiles](#novel_embedding_profiles) | 只读查询(可更新检索缓存) | 无 |
|
|
49
|
-
| [novel_export](#novel_export) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
50
|
-
| [novel_export_preflight](#novel_export_preflight) | 只读查询(可更新检索缓存) | 无 |
|
|
38
|
+
| [novel_embedding_profiles](#novel_embedding_profiles) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
39
|
+
| [novel_export](#novel_export) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
51
40
|
| [novel_focus](#novel_focus) | 会提交操作或保存文件;具体取决于 action/参数 | `goal` |
|
|
52
41
|
| [novel_foreshadowing](#novel_foreshadowing) | 会提交操作或保存文件;具体取决于 action/参数 | `action`, `node_id` |
|
|
53
|
-
| [novel_import](#novel_import) | 会提交操作或保存文件;具体取决于 action/参数 | `
|
|
54
|
-
| [
|
|
55
|
-
| [novel_manuscript_acceptance](#novel_manuscript_acceptance) | 只读查询(可更新检索缓存) | 无 |
|
|
42
|
+
| [novel_import](#novel_import) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
43
|
+
| [novel_manuscript_acceptance](#novel_manuscript_acceptance) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
56
44
|
| [novel_manuscript_acceptance_reconcile](#novel_manuscript_acceptance_reconcile) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
57
45
|
| [novel_manuscript_edit_action](#novel_manuscript_edit_action) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
58
46
|
| [novel_manuscript_import_action](#novel_manuscript_import_action) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
59
|
-
| [novel_manuscript_metrics](#novel_manuscript_metrics) |
|
|
47
|
+
| [novel_manuscript_metrics](#novel_manuscript_metrics) | 会提交操作或保存文件;具体取决于 action/参数 | `chapter_id` |
|
|
60
48
|
| [novel_model_benchmark](#novel_model_benchmark) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
61
|
-
| [
|
|
62
|
-
| [novel_model_embedding_test](#novel_model_embedding_test) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
63
|
-
| [novel_model_profile_delete](#novel_model_profile_delete) | 会提交操作或保存文件;具体取决于 action/参数 | `profile_id` |
|
|
64
|
-
| [novel_model_profile_save](#novel_model_profile_save) | 会提交操作或保存文件;具体取决于 action/参数 | `profile` |
|
|
65
|
-
| [novel_model_profiles](#novel_model_profiles) | 只读查询(可更新检索缓存) | 无 |
|
|
66
|
-
| [novel_model_routes_save](#novel_model_routes_save) | 会提交操作或保存文件;具体取决于 action/参数 | `routes` |
|
|
67
|
-
| [novel_model_test](#novel_model_test) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
49
|
+
| [novel_model_profiles](#novel_model_profiles) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
68
50
|
| [novel_multi_write](#novel_multi_write) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
69
51
|
| [novel_narrative_forecast_action](#novel_narrative_forecast_action) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
70
|
-
| [novel_outline_audit](#novel_outline_audit) |
|
|
52
|
+
| [novel_outline_audit](#novel_outline_audit) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
71
53
|
| [novel_outline_edit](#novel_outline_edit) | 会提交操作或保存文件;具体取决于 action/参数 | `operation`, `revision` |
|
|
72
|
-
| [novel_outline_read](#novel_outline_read) |
|
|
73
|
-
| [
|
|
74
|
-
| [
|
|
75
|
-
| [
|
|
76
|
-
| [novel_project_init](#novel_project_init) | 会提交操作或保存文件;具体取决于 action/参数 | `novel_id`, `title` |
|
|
77
|
-
| [novel_project_open](#novel_project_open) | 会提交操作或保存文件;具体取决于 action/参数 | `project_path` |
|
|
78
|
-
| [novel_reading_order](#novel_reading_order) | 只读查询(可更新检索缓存) | 无 |
|
|
79
|
-
| [novel_reading_order_move](#novel_reading_order_move) | 会提交操作或保存文件;具体取决于 action/参数 | `document_id`, `target_volume_id`, `target_index`, `expected_revision` |
|
|
80
|
-
| [novel_reading_packet](#novel_reading_packet) | 只读查询(可更新检索缓存) | `document_id` |
|
|
54
|
+
| [novel_outline_read](#novel_outline_read) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
55
|
+
| [novel_project](#novel_project) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
56
|
+
| [novel_reading_order](#novel_reading_order) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
57
|
+
| [novel_reading_packet](#novel_reading_packet) | 会提交操作或保存文件;具体取决于 action/参数 | `document_id` |
|
|
81
58
|
| [novel_reference_library_action](#novel_reference_library_action) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
82
|
-
| [novel_research_report](#novel_research_report) |
|
|
59
|
+
| [novel_research_report](#novel_research_report) | 会提交操作或保存文件;具体取决于 action/参数 | `report_id` |
|
|
83
60
|
| [novel_research_settings_save](#novel_research_settings_save) | 会提交操作或保存文件;具体取决于 action/参数 | `settings` |
|
|
84
|
-
| [novel_research_status](#novel_research_status) |
|
|
61
|
+
| [novel_research_status](#novel_research_status) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
85
62
|
| [novel_review_chapter](#novel_review_chapter) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
86
|
-
| [novel_review_framework](#novel_review_framework) |
|
|
87
|
-
| [
|
|
88
|
-
| [novel_revision_create_from_review](#novel_revision_create_from_review) | 会提交操作或保存文件;具体取决于 action/参数 | `chapter_id`, `issue_ids` |
|
|
89
|
-
| [novel_revision_create_selection](#novel_revision_create_selection) | 会提交操作或保存文件;具体取决于 action/参数 | `chapter_id`, `start`, `end` |
|
|
90
|
-
| [novel_revision_get](#novel_revision_get) | 只读查询(可更新检索缓存) | `proposal_id` |
|
|
91
|
-
| [novel_revision_regenerate](#novel_revision_regenerate) | 会提交操作或保存文件;具体取决于 action/参数 | `proposal_id` |
|
|
92
|
-
| [novel_revision_reject](#novel_revision_reject) | 会提交操作或保存文件;具体取决于 action/参数 | `proposal_id` |
|
|
93
|
-
| [novel_revisions_list](#novel_revisions_list) | 只读查询(可更新检索缓存) | 无 |
|
|
63
|
+
| [novel_review_framework](#novel_review_framework) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
64
|
+
| [novel_revision](#novel_revision) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
94
65
|
| [novel_rolling_plan_action](#novel_rolling_plan_action) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
95
66
|
| [novel_rule_action](#novel_rule_action) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
96
67
|
| [novel_runtime_skill_action](#novel_runtime_skill_action) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
97
|
-
| [
|
|
98
|
-
| [
|
|
99
|
-
| [
|
|
100
|
-
| [novel_scene_move](#novel_scene_move) | 会提交操作或保存文件;具体取决于 action/参数 | `scene_id`, `target_chapter_id`, `target_index`, `expected_revision`, `expected_source_revision`, `expected_target_revision` |
|
|
101
|
-
| [novel_scene_structure](#novel_scene_structure) | 只读查询(可更新检索缓存) | 无 |
|
|
102
|
-
| [novel_scene_update](#novel_scene_update) | 会提交操作或保存文件;具体取决于 action/参数 | `scene_id`, `expected_revision` |
|
|
103
|
-
| [novel_search](#novel_search) | 只读查询(可更新检索缓存) | `q` |
|
|
68
|
+
| [novel_scene](#novel_scene) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
69
|
+
| [novel_scene_migration](#novel_scene_migration) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
70
|
+
| [novel_search](#novel_search) | 会提交操作或保存文件;具体取决于 action/参数 | `q` |
|
|
104
71
|
| [novel_settle_backfill](#novel_settle_backfill) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
105
72
|
| [novel_source_action](#novel_source_action) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
106
|
-
| [novel_status](#novel_status) |
|
|
107
|
-
| [novel_structured_change_plan](#novel_structured_change_plan) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
73
|
+
| [novel_status](#novel_status) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
108
74
|
| [novel_sync](#novel_sync) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
109
|
-
| [
|
|
110
|
-
| [
|
|
111
|
-
| [novel_task_create](#novel_task_create) | 会提交操作或保存文件;具体取决于 action/参数 | `type`, `input` |
|
|
112
|
-
| [novel_task_get](#novel_task_get) | 会提交操作或保存文件;具体取决于 action/参数 | `task_id` |
|
|
113
|
-
| [novel_task_retry](#novel_task_retry) | 会提交操作或保存文件;具体取决于 action/参数 | `task_id` |
|
|
114
|
-
| [novel_tasks_list](#novel_tasks_list) | 只读查询(可更新检索缓存) | 无 |
|
|
115
|
-
| [novel_trace_list](#novel_trace_list) | 只读查询(可更新检索缓存) | 无 |
|
|
75
|
+
| [novel_task](#novel_task) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
76
|
+
| [novel_trace_list](#novel_trace_list) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
116
77
|
| [novel_write_chapter](#novel_write_chapter) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
117
78
|
| [novel_writing_assets](#novel_writing_assets) | 会提交操作或保存文件;具体取决于 action/参数 | `action` |
|
|
118
79
|
| [novel_writing_targets](#novel_writing_targets) | 会提交操作或保存文件;具体取决于 action/参数 | 无 |
|
|
@@ -127,92 +88,59 @@ Resolve selected drift entries by absorbing authored outline metadata, schedulin
|
|
|
127
88
|
| --- | --- | --- | --- |
|
|
128
89
|
| data | json | 是 | Object: group_id, expected_revision, entry_ids[], decision absorb/recover/freeze, confirm:true. absorb: outline_revision, outline_updates[{node_id,metadata}], resume?. recover: plan, target_chapter_id. |
|
|
129
90
|
|
|
130
|
-
##
|
|
91
|
+
## novel_assets
|
|
131
92
|
|
|
132
|
-
|
|
93
|
+
List, read, create and update the writing assets of the current project (terminology, sample pools, character attribute groups and related records).
|
|
133
94
|
|
|
134
95
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
135
96
|
|
|
136
97
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
137
98
|
| --- | --- | --- | --- |
|
|
138
|
-
|
|
|
139
|
-
|
|
|
99
|
+
| action | string | 是 | ["list","read","create","update"];Writing-asset operation. |
|
|
100
|
+
| kind | string | 否 | ["character","world","progression"];Restrict to one asset kind; omit to list all kinds. |
|
|
101
|
+
| id | string | 否 | Asset id; required for read/create/update. Must match [A-Za-z0-9][A-Za-z0-9_.-]{0,79}. |
|
|
140
102
|
| data | json | 否 | Object of asset fields (e.g. name, summary, aliases). |
|
|
141
103
|
| body_markdown | string | 否 | Markdown body (character/world assets). |
|
|
142
|
-
|
|
143
|
-
## novel_asset_read
|
|
144
|
-
|
|
145
|
-
Read one structured asset by kind and id, including its relation view.
|
|
146
|
-
|
|
147
|
-
影响:只读查询(可更新检索缓存)。
|
|
148
|
-
|
|
149
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
150
|
-
| --- | --- | --- | --- |
|
|
151
|
-
| kind | string | 是 | ["character","world","progression"];Asset kind. |
|
|
152
|
-
| id | string | 是 | Asset id. |
|
|
153
|
-
|
|
154
|
-
## novel_asset_update
|
|
155
|
-
|
|
156
|
-
Immediate compatibility write for an asset change the author has already authorized exactly; otherwise use novel_structured_change_plan. Update a structured asset (character / world / progression). Revision-gated: pass the `revision` fingerprint from novel_assets_list; the server rejects the update with a conflict if the asset changed. Pass field changes via `data` (merged into the asset front matter), `body_markdown` to replace the markdown body, or `raw_text` to replace the whole document.
|
|
157
|
-
|
|
158
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
159
|
-
|
|
160
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
161
|
-
| --- | --- | --- | --- |
|
|
162
|
-
| kind | string | 是 | ["character","world","progression"];Asset kind. |
|
|
163
|
-
| id | string | 是 | Asset id. |
|
|
164
|
-
| revision | string | 是 | The asset revision fingerprint from a fresh novel_assets_list call. |
|
|
165
|
-
| data | json | 否 | Object of asset fields to merge (e.g. name, summary, aliases). |
|
|
166
|
-
| body_markdown | string | 否 | Replacement markdown body (character/world assets). |
|
|
104
|
+
| revision | string | 否 | The asset revision fingerprint from a fresh novel_assets(action="list") call. |
|
|
167
105
|
| raw_text | string | 否 | Full replacement document text, validated by the server. |
|
|
168
106
|
| related_mode | string | 否 | ["merge","replace"];Preserve and merge existing related entries by default; replace explicitly clears or replaces relations. |
|
|
169
107
|
|
|
170
|
-
##
|
|
108
|
+
## novel_assets_package
|
|
171
109
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
影响:只读查询(可更新检索缓存)。
|
|
175
|
-
|
|
176
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
177
|
-
| --- | --- | --- | --- |
|
|
178
|
-
| kind | string | 否 | ["character","world","progression"];Restrict to one asset kind; omit to list all kinds. |
|
|
179
|
-
|
|
180
|
-
## novel_assets_package_export
|
|
181
|
-
|
|
182
|
-
Export assets as an .owasset.zip package and save it locally. Omit selections to export all assets.
|
|
110
|
+
Export the project assets into a portable package, preview a package before importing it, and import a reviewed package with explicit dependency resolutions.
|
|
183
111
|
|
|
184
112
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
185
113
|
|
|
186
114
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
187
115
|
| --- | --- | --- | --- |
|
|
116
|
+
| action | string | 是 | ["export","preview","import"];Asset package operation. |
|
|
188
117
|
| selections | array[string] | 否 | Asset selectors in "kind:id" form, e.g. ["character:hero", "world:capital"]. |
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
Import a previously staged asset package (see novel_assets_package_preview). Resolves per-asset conflicts via `resolutions`; set allow_missing_dependencies to skip missing dependency checks.
|
|
193
|
-
|
|
194
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
195
|
-
|
|
196
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
197
|
-
| --- | --- | --- | --- |
|
|
198
|
-
| upload_id | string | 是 | The upload_id returned by novel_assets_package_preview. |
|
|
199
|
-
| package_sha256 | string | 否 | Optional expected package digest guard. |
|
|
118
|
+
| package_base64 | string | 否 | Base64-encoded .owasset.zip package (max 25 MB decoded). |
|
|
119
|
+
| upload_id | string | 否 | The upload_id returned by novel_assets_package(action="preview"). |
|
|
120
|
+
| package_sha256 | string | 否 | Package digest. Required for import: pass the package_sha256 returned by action="preview"; the server rejects an import without it as a stale package. |
|
|
200
121
|
| resolutions | json | 否 | Object mapping conflicting asset keys to resolutions. |
|
|
201
122
|
| allow_missing_dependencies | boolean | 否 | Allow import despite missing asset dependencies (default false). |
|
|
202
123
|
|
|
203
|
-
##
|
|
124
|
+
## novel_change_plan
|
|
204
125
|
|
|
205
|
-
|
|
126
|
+
Preview, apply, reject, retry and undo a change plan. document plans edit one project document as text; structured plans edit the manuscript model (outline, scenes, canon) as operations. Both are two-step: preview returns a token the follow-up step must present.
|
|
206
127
|
|
|
207
128
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
208
129
|
|
|
209
130
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
210
131
|
| --- | --- | --- | --- |
|
|
211
|
-
|
|
|
132
|
+
| action | string | 是 | ["document","structured"];Plan kind: document edits a project document, structured edits the manuscript model. |
|
|
133
|
+
| step | string | 否 | ["preview","apply","reject","retry","undo"];Plan lifecycle step. |
|
|
134
|
+
| confirm | boolean | 否 | Required true for apply and undo after author acceptance. |
|
|
135
|
+
| path | string | 否 | Existing document path for preview, relative to the novel root. |
|
|
136
|
+
| edits | json | 否 | Preview edits: [{old_text,new_text}] or [{start_text,end_text,new_text,end_inclusive}]. Range end defaults to inclusive for compatibility; end_inclusive:false preserves the end anchor (e.g. the next heading). |
|
|
137
|
+
| preview_token | string | 否 | Immutable preview or undo token for apply/reject/retry/undo. |
|
|
138
|
+
| change_kind | string | 否 | ["outline","asset","focus","foreshadowing","writing_targets"];Structured domain for a preview. |
|
|
139
|
+
| change | json | 否 | One direct-tool-shaped change object, required for preview. |
|
|
212
140
|
|
|
213
141
|
## novel_chapter_delete
|
|
214
142
|
|
|
215
|
-
Delete the LATEST manuscript chapter. The server enforces three safeguards: the path must be a chapter under data/manuscript, confirm must exactly equal the chapter id (e.g. "ch_0007"), and version must equal the document version fingerprint from a fresh
|
|
143
|
+
Delete the LATEST manuscript chapter. The server enforces three safeguards: the path must be a chapter under data/manuscript, confirm must exactly equal the chapter id (e.g. "ch_0007"), and version must equal the document version fingerprint from a fresh novel_doc(action="read"). Only the newest chapter can be deleted, and never while a background task is active.
|
|
216
144
|
|
|
217
145
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
218
146
|
|
|
@@ -220,7 +148,7 @@ Delete the LATEST manuscript chapter. The server enforces three safeguards: the
|
|
|
220
148
|
| --- | --- | --- | --- |
|
|
221
149
|
| path | string | 是 | Chapter path, e.g. "data/manuscript/ch_0007.md". |
|
|
222
150
|
| confirm | string | 是 | Must exactly equal the chapter id, e.g. "ch_0007". |
|
|
223
|
-
| version | string | 是 | The document version fingerprint from
|
|
151
|
+
| version | string | 是 | The document version fingerprint from novel_doc(action="read"). |
|
|
224
152
|
|
|
225
153
|
## novel_chapter_delete_batch
|
|
226
154
|
|
|
@@ -232,7 +160,7 @@ Delete the contiguous latest manuscript tail in one server request, retaining th
|
|
|
232
160
|
| --- | --- | --- | --- |
|
|
233
161
|
| keep_through | string | 是 | Last chapter to retain, e.g. "ch_0030". |
|
|
234
162
|
| confirm | string | 是 | Must exactly equal DELETE_AFTER:<keep_through>. |
|
|
235
|
-
| version | string | 是 | The latest chapter version fingerprint from a fresh
|
|
163
|
+
| version | string | 是 | The latest chapter version fingerprint from a fresh novel_doc(action="read"). |
|
|
236
164
|
|
|
237
165
|
## novel_chapter_run_action
|
|
238
166
|
|
|
@@ -267,7 +195,7 @@ Manage Chapter Run V2 records (the server's per-chapter write/review run ledger)
|
|
|
267
195
|
|
|
268
196
|
Read the revision-labelled scene slice for one chapter.
|
|
269
197
|
|
|
270
|
-
|
|
198
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
271
199
|
|
|
272
200
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
273
201
|
| --- | --- | --- | --- |
|
|
@@ -277,7 +205,7 @@ Read the revision-labelled scene slice for one chapter.
|
|
|
277
205
|
|
|
278
206
|
Read one chapter work brief: manuscript/acceptance/review revisions, writing target, recent edits, tasks, and categorized foreshadowing obligations.
|
|
279
207
|
|
|
280
|
-
|
|
208
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
281
209
|
|
|
282
210
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
283
211
|
| --- | --- | --- | --- |
|
|
@@ -287,9 +215,9 @@ Read one chapter work brief: manuscript/acceptance/review revisions, writing tar
|
|
|
287
215
|
|
|
288
216
|
## novel_context_preview
|
|
289
217
|
|
|
290
|
-
Preview the context packet OpenWrite would assemble for writing a chapter (relevant outline, assets, foreshadowing, and prior-chapter memory). Set include_agent_payload to inspect canonical writer inputs and document inclusion without calling a model.
|
|
218
|
+
Preview the context packet OpenWrite would assemble for writing a chapter (relevant outline, assets, foreshadowing, and prior-chapter memory). The chapter must already exist in the outline; an unknown chapter id is rejected instead of returning an empty generic context. Set include_agent_payload to inspect canonical writer inputs and document inclusion without calling a model.
|
|
291
219
|
|
|
292
|
-
|
|
220
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
293
221
|
|
|
294
222
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
295
223
|
| --- | --- | --- | --- |
|
|
@@ -300,7 +228,7 @@ Preview the context packet OpenWrite would assemble for writing a chapter (relev
|
|
|
300
228
|
|
|
301
229
|
Get the continuity report: unresolved foreshadowing, character state drift, and timeline consistency of the current project.
|
|
302
230
|
|
|
303
|
-
|
|
231
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
304
232
|
|
|
305
233
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
306
234
|
| --- | --- | --- | --- |
|
|
@@ -316,54 +244,22 @@ Run runtime diagnostics over the project (read-only): stuck runs, stale locks, a
|
|
|
316
244
|
| --- | --- | --- | --- |
|
|
317
245
|
| stuck_minutes | integer | 否 | Minutes after which a run counts as stuck (default 30). |
|
|
318
246
|
|
|
319
|
-
##
|
|
320
|
-
|
|
321
|
-
Create a new project document by kind and name (e.g. a setting or character note), then returns the created document.
|
|
322
|
-
|
|
323
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
324
|
-
|
|
325
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
326
|
-
| --- | --- | --- | --- |
|
|
327
|
-
| kind | string | 是 | Document kind (e.g. "setting", "character"). |
|
|
328
|
-
| name | string | 是 | Document name. |
|
|
329
|
-
| description | string | 否 | Short description of the document. |
|
|
330
|
-
|
|
331
|
-
## novel_doc_read
|
|
332
|
-
|
|
333
|
-
Read a project document (path relative to the novel data root, e.g. "src/outline.md" or "data/manuscript/ch_0007.md"). Returns content plus a `version` fingerprint needed by novel_doc_write.
|
|
247
|
+
## novel_doc
|
|
334
248
|
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
338
|
-
| --- | --- | --- | --- |
|
|
339
|
-
| path | string | 是 | Document path relative to the novel data root. |
|
|
340
|
-
|
|
341
|
-
## novel_doc_write
|
|
342
|
-
|
|
343
|
-
Write a project document (path relative to the novel data root). Uses a version-based optimistic lock: pass the `version` returned by novel_doc_read; the server rejects with a conflict if the document changed. Omit version to create a new document; set force to bypass the lock.
|
|
249
|
+
Read, write and create the plain documents of the current project (notes, briefs and other author-owned files). Writes are optimistic and reject a stale version.
|
|
344
250
|
|
|
345
251
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
346
252
|
|
|
347
253
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
348
254
|
| --- | --- | --- | --- |
|
|
349
|
-
|
|
|
350
|
-
|
|
|
351
|
-
|
|
|
255
|
+
| action | string | 是 | ["read","write","create"];Document operation. |
|
|
256
|
+
| path | string | 否 | Document path relative to the novel data root (read/write). Writable roots are src/ and data/manuscript/; create derives its path from kind and name. |
|
|
257
|
+
| content | string | 否 | Full new document content (max 2 MB). |
|
|
258
|
+
| version | string | 否 | The version fingerprint from novel_doc(action="read") (optimistic lock). |
|
|
352
259
|
| force | boolean | 否 | Bypass the version check (default false). |
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
Stage and review revision-gated changes to an existing novel document. Use action "preview" with path and edits to receive an immutable preview_token and real before/after summary. Use "apply" only after author acceptance, passing that token and confirm: true; "reject" discards it, "retry" rebuilds it against the current source, and "undo" safely applies an undo_preview_token returned by a prior apply. Each edit uses old_text/new_text or unique start_text/end_text/new_text anchors. Preview returns applied:false; changed/would_change describe only the proposed difference. OLD_TEXT_NOT_FOUND is an anchor mismatch (400), while revision conflicts are 409; use the exact suggested bytes and reread the source before retrying. The server rechecks the source revision and writes exactly the stored preview.
|
|
357
|
-
|
|
358
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
359
|
-
|
|
360
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
361
|
-
| --- | --- | --- | --- |
|
|
362
|
-
| action | string | 是 | ["preview","apply","reject","retry","undo"];Plan lifecycle action. |
|
|
363
|
-
| confirm | boolean | 否 | Required true for apply and undo after author acceptance. |
|
|
364
|
-
| path | string | 否 | Existing document path for preview, relative to the novel root. |
|
|
365
|
-
| edits | json | 否 | Preview edits: [{old_text,new_text}] or [{start_text,end_text,new_text,end_inclusive}]. Range end defaults to inclusive for compatibility; end_inclusive:false preserves the end anchor (e.g. the next heading). |
|
|
366
|
-
| preview_token | string | 否 | Immutable preview or undo token for apply/reject/retry/undo. |
|
|
260
|
+
| kind | string | 否 | Document kind for create: "character" or "world" (the server derives the file path). |
|
|
261
|
+
| name | string | 否 | Document name. |
|
|
262
|
+
| description | string | 否 | Short description of the document. |
|
|
367
263
|
|
|
368
264
|
## novel_drift_entry
|
|
369
265
|
|
|
@@ -381,74 +277,38 @@ Record author-observed chapter drift. Saves an immutable outline/manuscript base
|
|
|
381
277
|
| note | string | 是 | Observed drift and supporting evidence. |
|
|
382
278
|
| expected_revision | integer | 是 | ledger.revision from outline audit. |
|
|
383
279
|
|
|
384
|
-
##
|
|
385
|
-
|
|
386
|
-
Delete an independent Embedding profile; the active profile automatically moves to another one.
|
|
387
|
-
|
|
388
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
389
|
-
|
|
390
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
391
|
-
| --- | --- | --- | --- |
|
|
392
|
-
| profile_id | string | 是 | |
|
|
393
|
-
|
|
394
|
-
## novel_embedding_profile_save
|
|
280
|
+
## novel_embedding_profiles
|
|
395
281
|
|
|
396
|
-
|
|
282
|
+
List, save, select, delete and test embedding profiles. Selection chooses the profile the server uses for semantic search and recall.
|
|
397
283
|
|
|
398
284
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
399
285
|
|
|
400
286
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
401
287
|
| --- | --- | --- | --- |
|
|
402
|
-
|
|
|
288
|
+
| action | string | 是 | ["list","save","select","delete","test"];Embedding configuration operation. |
|
|
289
|
+
| profile | json | 否 | Embedding profile: id, label, provider, model, base_url, dimension, max_tokens. |
|
|
403
290
|
| api_key | string | 否 | Embedding API key. |
|
|
404
291
|
| remember_api_key | boolean | 否 | Persist the key (default true). |
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
Select the active independent Embedding profile used by search.
|
|
409
|
-
|
|
410
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
411
|
-
|
|
412
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
413
|
-
| --- | --- | --- | --- |
|
|
414
|
-
| profile_id | string | 是 | |
|
|
415
|
-
|
|
416
|
-
## novel_embedding_profiles
|
|
417
|
-
|
|
418
|
-
List independent Embedding profiles and the active selection. Embedding is configured separately from Chat profiles.
|
|
419
|
-
|
|
420
|
-
影响:只读查询(可更新检索缓存)。
|
|
421
|
-
|
|
422
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
423
|
-
| --- | --- | --- | --- |
|
|
424
|
-
| 无 | — | — | — |
|
|
292
|
+
| profile_id | string | 否 | |
|
|
293
|
+
| id | string | 否 | Stored profile id to probe. |
|
|
294
|
+
| candidate | json | 否 | Embedding candidate settings object (merged into the request). |
|
|
425
295
|
|
|
426
296
|
## novel_export
|
|
427
297
|
|
|
428
|
-
|
|
298
|
+
Preflight and run a manuscript export. Preflight validates the selection, purpose and format and returns a revision the export must present.
|
|
429
299
|
|
|
430
300
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
431
301
|
|
|
432
302
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
433
303
|
| --- | --- | --- | --- |
|
|
434
|
-
|
|
|
435
|
-
| purpose | string | 否 | ["backup","delivery","personal_archive"];Export purpose (default "delivery"). |
|
|
436
|
-
| preflight_revision | string | 否 | Revision returned by novel_export_preflight for the same format and purpose. |
|
|
437
|
-
|
|
438
|
-
## novel_export_preflight
|
|
439
|
-
|
|
440
|
-
Inspect the current manuscript export order, structural defects, writing targets, metadata, review freshness, manuscript acceptance, blockers, and warnings. Pass the returned preflight_revision unchanged to novel_export so the downloaded file is bound to the manuscript state that was inspected.
|
|
441
|
-
|
|
442
|
-
影响:只读查询(可更新检索缓存)。
|
|
443
|
-
|
|
444
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
445
|
-
| --- | --- | --- | --- |
|
|
304
|
+
| action | string | 是 | ["preflight","export"];Export step; preflight reports what would be written without writing it. |
|
|
446
305
|
| format | string | 否 | ["md","txt","epub"];Export format (default "md"). |
|
|
447
306
|
| purpose | string | 否 | ["backup","delivery","personal_archive"];Export purpose (default "delivery"). personal_archive preserves author copies with gate findings recorded as warnings. |
|
|
307
|
+
| preflight_revision | string | 否 | Revision returned by novel_export(action="preflight") for the same format and purpose. |
|
|
448
308
|
|
|
449
309
|
## novel_focus
|
|
450
310
|
|
|
451
|
-
Immediate compatibility write for a focus change the author has already authorized exactly; otherwise use
|
|
311
|
+
Immediate compatibility write for a focus change the author has already authorized exactly; otherwise use novel_change_plan(action="structured"). Set the writing focus compass for the project.
|
|
452
312
|
|
|
453
313
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
454
314
|
|
|
@@ -461,7 +321,7 @@ Immediate compatibility write for a focus change the author has already authoriz
|
|
|
461
321
|
|
|
462
322
|
## novel_foreshadowing
|
|
463
323
|
|
|
464
|
-
Immediate compatibility write for a foreshadowing change the author has already authorized exactly; otherwise use
|
|
324
|
+
Immediate compatibility write for a foreshadowing change the author has already authorized exactly; otherwise use novel_change_plan(action="structured"). Manage the foreshadowing DAG. action "create": node_id + content, optional weight (1-10, default 5), layer (default "支线"), target_chapter. action "update": node_id + status (e.g. planted/paid-off).
|
|
465
325
|
|
|
466
326
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
467
327
|
|
|
@@ -477,27 +337,14 @@ Immediate compatibility write for a foreshadowing change the author has already
|
|
|
477
337
|
|
|
478
338
|
## novel_import
|
|
479
339
|
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
483
|
-
|
|
484
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
485
|
-
| --- | --- | --- | --- |
|
|
486
|
-
| content | string | 是 | The manuscript text to import. |
|
|
487
|
-
| filename | string | 否 | Source filename; suffix must be .txt/.md/.markdown (default "import.md"). |
|
|
488
|
-
| arc_id | string | 否 | Arc id like "arc_001" (default: the project's current arc). |
|
|
489
|
-
| start_number | integer | 否 | First chapter number (default: continue numbering). |
|
|
490
|
-
| force | boolean | 否 | Overwrite conflicting existing chapters (default false). |
|
|
491
|
-
|
|
492
|
-
## novel_import_preview
|
|
493
|
-
|
|
494
|
-
Preview a TXT/Markdown manuscript import without writing anything: detected chapters, numbering, and conflicts with existing chapters. Run this before novel_import.
|
|
340
|
+
Preview an imported manuscript and then import it. Preview reports the parsed chapters, arc mapping and conflicts without writing; import applies the reviewed plan.
|
|
495
341
|
|
|
496
342
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
497
343
|
|
|
498
344
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
499
345
|
| --- | --- | --- | --- |
|
|
500
|
-
|
|
|
346
|
+
| action | string | 是 | ["preview","import"];Import step; preview never writes anything. |
|
|
347
|
+
| content | string | 否 | The manuscript text to import. |
|
|
501
348
|
| filename | string | 否 | Source filename; suffix must be .txt/.md/.markdown (default "import.md"). |
|
|
502
349
|
| arc_id | string | 否 | Arc id like "arc_001" (default: the project's current arc). |
|
|
503
350
|
| start_number | integer | 否 | First chapter number (default: after the last existing chapter). |
|
|
@@ -507,7 +354,7 @@ Preview a TXT/Markdown manuscript import without writing anything: detected chap
|
|
|
507
354
|
|
|
508
355
|
Inspect the canonical manuscript acceptance ledger: current and accepted content revisions, drift, recoverable operations, derived-result impacts, and chapters that require author review.
|
|
509
356
|
|
|
510
|
-
|
|
357
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
511
358
|
|
|
512
359
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
513
360
|
| --- | --- | --- | --- |
|
|
@@ -531,7 +378,7 @@ Reconcile the canonical manuscript acceptance ledger. Actions: "baseline" (accep
|
|
|
531
378
|
|
|
532
379
|
## novel_manuscript_edit_action
|
|
533
380
|
|
|
534
|
-
Chapter snapshots, annotations and saved drafts. Actions: "drafts" (list recoverable uncommitted prose), "restore_draft" (run_id_v2 + revision + confirm: true; copy the exact saved bytes without generation, then reconcile facts). Other actions: "versions" (chapter_id), "version" (chapter_id + version_id — returns the snapshot content), "checkpoint" (chapter_id, optional label — save a snapshot), "compare" (chapter_id + version_id — preview current-to-snapshot differences without writing), "restore" (chapter_id + version_id + revision — REVERTS the chapter to a snapshot; revision-gated and confirmation-gated: the server demands confirm: true), "annotations" (chapter_id), "annotate" (chapter_id + revision + quote + note, optional start_hint/end_hint and color amber|rose|sky|lime|violet), "resolve_annotation" (chapter_id + annotation_id).
|
|
381
|
+
Chapter snapshots, annotations and saved drafts. Actions: "drafts" (list recoverable uncommitted prose), "restore_draft" (run_id_v2 + revision + confirm: true; copy the exact saved bytes without generation, then reconcile facts). Other actions: "versions" (chapter_id), "version" (chapter_id + version_id — returns the snapshot content), "checkpoint" (chapter_id, optional label — save a snapshot), "compare" (chapter_id + version_id — preview current-to-snapshot differences without writing), "restore" (chapter_id + version_id + revision — REVERTS the chapter to a snapshot; revision-gated and confirmation-gated: the server demands confirm: true), "annotations" (chapter_id), "annotate" (chapter_id + revision + quote + note, optional start_hint/end_hint (derived from the quote when omitted) and color amber|rose|sky|lime|violet), "resolve_annotation" (chapter_id + annotation_id).
|
|
535
382
|
|
|
536
383
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
537
384
|
|
|
@@ -564,7 +411,7 @@ Operate the durable, resumable import workspace for the author's own TXT/Markdow
|
|
|
564
411
|
| limit | integer | 否 | Maximum operations for list (default 50). |
|
|
565
412
|
| filename | string | 否 | Source filename ending in .txt, .md, or .markdown. |
|
|
566
413
|
| content | string | 否 | The author's own manuscript text for prepare. |
|
|
567
|
-
| arc_id | string | 否 | Target arc id, e.g. arc_001. |
|
|
414
|
+
| arc_id | string | 否 | Target arc id, e.g. arc_001. Optional for prepare; defaults to the project's current arc. |
|
|
568
415
|
| start_number | integer | 否 | Optional first chapter number. |
|
|
569
416
|
| expected_preview_revision | string | 否 | Current preview revision required by structure/confirm. |
|
|
570
417
|
| chapters | array[json] | 否 | Edited chapter objects: chapter_id, title, content. |
|
|
@@ -574,7 +421,7 @@ Operate the durable, resumable import workspace for the author's own TXT/Markdow
|
|
|
574
421
|
|
|
575
422
|
Read deterministic chapter metrics, terminology findings, overlap against anchors and the previous three chapters, duplicate paragraphs and selected character groups. Overlap spans use Unicode codepoint offsets. No model call.
|
|
576
423
|
|
|
577
|
-
|
|
424
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
578
425
|
|
|
579
426
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
580
427
|
| --- | --- | --- | --- |
|
|
@@ -603,98 +450,32 @@ Run or inspect isolated chapter or outline model benchmarks through OpenWrite pr
|
|
|
603
450
|
| concurrency | integer | 否 | Concurrent model jobs, 1-4. |
|
|
604
451
|
| limit | integer | 否 | List limit, default 20. |
|
|
605
452
|
|
|
606
|
-
##
|
|
453
|
+
## novel_model_profiles
|
|
607
454
|
|
|
608
|
-
|
|
455
|
+
List, save, delete and test OpenWrite model profiles, per-task routing and the active model settings. Profiles select which provider/model each task uses; routes map tasks to profiles.
|
|
609
456
|
|
|
610
457
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
611
458
|
|
|
612
459
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
613
460
|
| --- | --- | --- | --- |
|
|
461
|
+
| action | string | 是 | ["list","save","delete","save_routes","configure","test"];Model configuration operation. |
|
|
462
|
+
| profile | json | 否 | Profile object, e.g. {"id": "fast", "label": "...", "provider": "openai", "model": "...", "base_url": "...", "max_output_tokens": 24000}. |
|
|
463
|
+
| api_key | string | 否 | Chat API key to store with the profile. |
|
|
464
|
+
| remember_api_key | boolean | 否 | Persist the API key on the server (default true). |
|
|
465
|
+
| profile_id | string | 否 | Profile id to delete. |
|
|
466
|
+
| fallback_id | string | 否 | Profile id to reroute to (default: the server default profile). |
|
|
467
|
+
| routes | json | 否 | Object mapping operation names to profile ids. |
|
|
614
468
|
| provider | string | 否 | ["openai","anthropic","custom"];Provider (default "openai"). |
|
|
615
|
-
| model | string |
|
|
616
|
-
| api_key | string | 否 | API key; omit to reuse the server environment key. |
|
|
469
|
+
| model | string | 否 | Model name (max 120 characters). |
|
|
617
470
|
| base_url | string | 否 | Base URL (required for provider "custom"). |
|
|
618
471
|
| api_format | string | 否 | ["chat","responses"];API format (default "chat"). |
|
|
619
472
|
| context_tokens | integer | 否 | Context budget (min 12000). |
|
|
620
473
|
| max_tokens | integer | 否 | Max output tokens (min 256, must be < context_tokens). |
|
|
621
|
-
| remember_api_key | boolean | 否 | Persist the API key on the server (default true). |
|
|
622
|
-
|
|
623
|
-
## novel_model_embedding_test
|
|
624
|
-
|
|
625
|
-
Probe an independent Embedding profile without changing Chat profiles.
|
|
626
|
-
|
|
627
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
628
|
-
|
|
629
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
630
|
-
| --- | --- | --- | --- |
|
|
631
|
-
| id | string | 否 | Stored profile id to probe. |
|
|
632
|
-
| candidate | json | 否 | Embedding candidate settings object (merged into the request). |
|
|
633
|
-
| api_key | string | 否 | Embedding API key override. |
|
|
634
|
-
|
|
635
|
-
## novel_model_profile_delete
|
|
636
|
-
|
|
637
|
-
Delete a stored model profile. Routes pointing at it fall back to fallback_id.
|
|
638
|
-
|
|
639
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
640
|
-
|
|
641
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
642
|
-
| --- | --- | --- | --- |
|
|
643
|
-
| profile_id | string | 是 | Profile id to delete. |
|
|
644
|
-
| fallback_id | string | 否 | Profile id to reroute to (default: the server default profile). |
|
|
645
|
-
|
|
646
|
-
## novel_model_profile_save
|
|
647
|
-
|
|
648
|
-
Save (create or update) a named model profile on the server, with an optional API key.
|
|
649
|
-
|
|
650
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
651
|
-
|
|
652
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
653
|
-
| --- | --- | --- | --- |
|
|
654
|
-
| profile | json | 是 | Profile object, e.g. {"id": "fast", "label": "...", "provider": "openai", "model": "...", "base_url": "...", "max_output_tokens": 24000}. |
|
|
655
|
-
| api_key | string | 否 | Chat API key to store with the profile. |
|
|
656
|
-
| remember_api_key | boolean | 否 | Persist the API key on the server (default true). |
|
|
657
|
-
|
|
658
|
-
## novel_model_profiles
|
|
659
|
-
|
|
660
|
-
List the server's model profiles and per-task routing (which provider/model OpenWrite uses for writing, review, etc.).
|
|
661
|
-
|
|
662
|
-
影响:只读查询(可更新检索缓存)。
|
|
663
|
-
|
|
664
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
665
|
-
| --- | --- | --- | --- |
|
|
666
|
-
| 无 | — | — | — |
|
|
667
|
-
|
|
668
|
-
## novel_model_routes_save
|
|
669
|
-
|
|
670
|
-
Save per-task model routing: map operation names (e.g. "chapter_write", "review", "research") to profile ids.
|
|
671
|
-
|
|
672
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
673
|
-
|
|
674
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
675
|
-
| --- | --- | --- | --- |
|
|
676
|
-
| routes | json | 是 | Object mapping operation names to profile ids. |
|
|
677
|
-
|
|
678
|
-
## novel_model_test
|
|
679
|
-
|
|
680
|
-
Test a model connection without changing active settings. Pass id to test a stored profile, or a full candidate (provider/model/base_url/api_key...).
|
|
681
|
-
|
|
682
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
683
|
-
|
|
684
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
685
|
-
| --- | --- | --- | --- |
|
|
686
474
|
| id | string | 否 | Stored profile id to test. |
|
|
687
|
-
| provider | string | 否 | ["openai","anthropic","custom"];Provider (default "openai"). |
|
|
688
|
-
| model | string | 否 | Model name (required when id is omitted). |
|
|
689
|
-
| base_url | string | 否 | Base URL (required for provider "custom"). |
|
|
690
|
-
| api_format | string | 否 | ["chat","responses"];API format (default "chat"). |
|
|
691
|
-
| api_key | string | 否 | API key; omit to reuse the server environment key. |
|
|
692
|
-
| context_tokens | integer | 否 | Context budget. |
|
|
693
|
-
| max_tokens | integer | 否 | Max output tokens. |
|
|
694
475
|
|
|
695
476
|
## novel_multi_write
|
|
696
477
|
|
|
697
|
-
Queue a BACKGROUND continuous-writing run: writes up to max_chapters chapters following the outline, reviewing each; stops early on review blockers, continuity errors, low scores, or budget limits. Returns immediately with a task id — poll with
|
|
478
|
+
Queue a BACKGROUND continuous-writing run: writes up to max_chapters chapters following the outline, reviewing each; stops early on review blockers, continuity errors, low scores, or budget limits. Returns immediately with a task id — poll with novel_task(action="get"). A paused run is resumed with novel_task(action="confirm"), which returns a continuation task: poll that returned task_id. Confirming the same paused task again is idempotent.
|
|
698
479
|
|
|
699
480
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
700
481
|
|
|
@@ -710,7 +491,7 @@ Queue a BACKGROUND continuous-writing run: writes up to max_chapters chapters fo
|
|
|
710
491
|
| temperature | number | 否 | Sampling temperature (default 0.7). |
|
|
711
492
|
| stop_on_blocker | boolean | 否 | Stop when a review reports a blocker issue (default true). |
|
|
712
493
|
| stop_on_continuity_error | boolean | 否 | Stop on high-severity continuity issues (default true). |
|
|
713
|
-
| require_confirmation_after_each_chapter | boolean | 否 | Pause for
|
|
494
|
+
| require_confirmation_after_each_chapter | boolean | 否 | Pause for novel_task(action="confirm") after each chapter (default false). |
|
|
714
495
|
|
|
715
496
|
## novel_narrative_forecast_action
|
|
716
497
|
|
|
@@ -735,7 +516,7 @@ Manage narrative forecasts (branching "what-if" plot projections). Actions: "lis
|
|
|
735
516
|
|
|
736
517
|
Read countable chapter-group facts: budgets/actual words, declared promises and function streaks, declared/confirmed payoffs, overdue hooks and drift ledger. Never generates a score or claims prose fulfilled a promise. No model call.
|
|
737
518
|
|
|
738
|
-
|
|
519
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
739
520
|
|
|
740
521
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
741
522
|
| --- | --- | --- | --- |
|
|
@@ -745,7 +526,7 @@ Read countable chapter-group facts: budgets/actual words, declared promises and
|
|
|
745
526
|
|
|
746
527
|
## novel_outline_edit
|
|
747
528
|
|
|
748
|
-
Immediate compatibility write for an outline change the author has already authorized exactly; otherwise use
|
|
529
|
+
Immediate compatibility write for an outline change the author has already authorized exactly; otherwise use novel_change_plan(action="structured"). Apply ONE atomic structural edit to the outline tree. Edits are revision-gated: read the current `revision` via novel_outline_read first and pass it back; the server rejects the edit with a conflict if the outline changed in between. Operations: "rename" (node_id + title), "update_summary" (node_id + summary), "add_child" (node_id = parent, + title/summary/kind), "add_after" (node_id = sibling, + title/summary/kind), "delete" (node_id, cascade=false keeps children), "promote" (remove a container), and "get_meta"/"set_meta" (chapter metadata, optionally updates[] for a batch).
|
|
749
530
|
|
|
750
531
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
751
532
|
|
|
@@ -753,7 +534,7 @@ Immediate compatibility write for an outline change the author has already autho
|
|
|
753
534
|
| --- | --- | --- | --- |
|
|
754
535
|
| operation | string | 是 | ["rename","update_summary","add_child","add_after","delete","promote","get_meta","set_meta"];The structural operation to apply. |
|
|
755
536
|
| cascade | boolean | 否 | For delete, false removes only the container and keeps children and chapter IDs. |
|
|
756
|
-
| metadata | json | 否 | Field object for set_meta; use target_words, beats, hooks or characters. |
|
|
537
|
+
| metadata | json | 否 | Field object for set_meta; use dramatic_position, content_focus, goals, target_words, word_budget, characters, settings, emotional_arc, beats, hooks, promise, payoff_of or function. Text fields (dramatic_position, content_focus, emotional_arc) take one line of text; word counts (target_words, word_budget) take a number. List fields (goals, beats, hooks, characters, settings, payoff_of, function) take an array of strings or one comma-separated string; promise accepts both too. |
|
|
757
538
|
| chapter_id | string | 否 | Chapter ID alias for node_id in get_meta/set_meta. |
|
|
758
539
|
| updates | json | 否 | Batch of 1-50 {chapter_id, metadata} objects for set_meta, or {chapter_id} for get_meta; one revision guards the whole batch. |
|
|
759
540
|
| revision | string | 是 | The outline revision fingerprint from a fresh novel_outline_read call. |
|
|
@@ -766,21 +547,29 @@ Immediate compatibility write for an outline change the author has already autho
|
|
|
766
547
|
|
|
767
548
|
Read the live outline tree. The response carries a `revision` fingerprint required by novel_outline_edit and a chapter `recommendation`.
|
|
768
549
|
|
|
769
|
-
|
|
550
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
770
551
|
|
|
771
552
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
772
553
|
| --- | --- | --- | --- |
|
|
773
554
|
| chapter | string | 否 | Optional chapter id to get a writing recommendation for. |
|
|
774
555
|
|
|
775
|
-
##
|
|
556
|
+
## novel_project
|
|
776
557
|
|
|
777
|
-
|
|
558
|
+
Initialize, open and delete a novel project, and manage its archive packages (list, get, create, restore preview, restore, download). Archiving never touches the live project.
|
|
778
559
|
|
|
779
560
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
780
561
|
|
|
781
562
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
782
563
|
| --- | --- | --- | --- |
|
|
783
|
-
| action | string | 是 | ["
|
|
564
|
+
| action | string | 是 | ["init","open","delete","archive","download"];Project operation. |
|
|
565
|
+
| novel_id | string | 否 | Project id, e.g. "my_novel" (2-64 chars: letters, digits, "-", "_"). |
|
|
566
|
+
| title | string | 否 | Book title (max 120 characters). |
|
|
567
|
+
| author | string | 否 | Author credit for delivery export (max 120 characters). |
|
|
568
|
+
| language | string | 否 | Book language tag, e.g. zh-CN or en (default zh-CN). |
|
|
569
|
+
| project_path | string | 否 | Target directory on the server; omit to use the server default location. |
|
|
570
|
+
| template | string | 否 | ["default","demo_short"];Project template (default "default"). |
|
|
571
|
+
| confirm_novel_id | string | 否 | Must exactly equal the project's novel_id (from its novel_config.yaml). |
|
|
572
|
+
| archive_op | string | 否 | ["preflight","list","get","create","restore_preview","restore"];Archive lifecycle operation. |
|
|
784
573
|
| archive_id | string | 否 | Archive id shaped owa_<24 lowercase hex>. |
|
|
785
574
|
| expected_preflight_revision | string | 否 | Current archive preflight revision for create. |
|
|
786
575
|
| target_root | string | 否 | Absolute new or empty project directory for restore. |
|
|
@@ -789,80 +578,25 @@ Inspect, create, and restore complete .owarchive project archives. Use preflight
|
|
|
789
578
|
| archive_sha256 | string | 否 | Checksum returned by restore_preview. |
|
|
790
579
|
| confirm | boolean | 否 | Must be true for restore. |
|
|
791
580
|
|
|
792
|
-
## novel_project_archive_download
|
|
793
|
-
|
|
794
|
-
Download one complete .owarchive project archive and save it in this workspace's local export directory.
|
|
795
|
-
|
|
796
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
797
|
-
|
|
798
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
799
|
-
| --- | --- | --- | --- |
|
|
800
|
-
| archive_id | string | 是 | Archive id shaped owa_<24 lowercase hex>. |
|
|
801
|
-
|
|
802
|
-
## novel_project_delete
|
|
803
|
-
|
|
804
|
-
PERMANENTLY delete a project directory and all its contents from the server machine (recursive delete, not recoverable). The server requires confirm to exactly equal the project's novel_id as a safeguard.
|
|
805
|
-
|
|
806
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
807
|
-
|
|
808
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
809
|
-
| --- | --- | --- | --- |
|
|
810
|
-
| project_path | string | 是 | Project directory to delete. |
|
|
811
|
-
| confirm | string | 是 | Must exactly equal the project's novel_id (from its novel_config.yaml). |
|
|
812
|
-
|
|
813
|
-
## novel_project_init
|
|
814
|
-
|
|
815
|
-
Create a new OpenWrite novel project on the server machine and make it the active project. Works without a currently open project. novel_id must be 2-64 chars of letters/digits/"-"/"_".
|
|
816
|
-
|
|
817
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
818
|
-
|
|
819
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
820
|
-
| --- | --- | --- | --- |
|
|
821
|
-
| novel_id | string | 是 | Project id, e.g. "my_novel" (2-64 chars: letters, digits, "-", "_"). |
|
|
822
|
-
| title | string | 是 | Book title (max 120 characters). |
|
|
823
|
-
| author | string | 否 | Author credit for delivery export (max 120 characters). |
|
|
824
|
-
| language | string | 否 | Book language tag, e.g. zh-CN or en (default zh-CN). |
|
|
825
|
-
| project_path | string | 否 | Target directory on the server; omit to use the server default location. |
|
|
826
|
-
| template | string | 否 | ["default","demo_short"];Project template (default "default"). |
|
|
827
|
-
|
|
828
|
-
## novel_project_open
|
|
829
|
-
|
|
830
|
-
Switch the Studio server to another existing project directory (must contain novel_config.yaml). Works without a currently open project; afterwards every other novel_* tool targets the newly opened project. The server rejects the switch while a background task is active.
|
|
831
|
-
|
|
832
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
833
|
-
|
|
834
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
835
|
-
| --- | --- | --- | --- |
|
|
836
|
-
| project_path | string | 是 | Absolute project directory path on the server machine. |
|
|
837
|
-
|
|
838
581
|
## novel_reading_order
|
|
839
582
|
|
|
840
|
-
Read the
|
|
841
|
-
|
|
842
|
-
影响:只读查询(可更新检索缓存)。
|
|
843
|
-
|
|
844
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
845
|
-
| --- | --- | --- | --- |
|
|
846
|
-
| 无 | — | — | — |
|
|
847
|
-
|
|
848
|
-
## novel_reading_order_move
|
|
849
|
-
|
|
850
|
-
Move one manuscript document within or across volumes. Requires the fresh reading-order revision and rejects ambiguous, missing, or concurrently changed order.
|
|
583
|
+
Read the reading order of the current project and move one document to another volume or position. The move is optimistic and requires the current revision.
|
|
851
584
|
|
|
852
585
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
853
586
|
|
|
854
587
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
855
588
|
| --- | --- | --- | --- |
|
|
856
|
-
|
|
|
857
|
-
|
|
|
858
|
-
|
|
|
859
|
-
|
|
|
589
|
+
| action | string | 是 | ["get","move"];Reading-order operation. |
|
|
590
|
+
| document_id | string | 否 | Stable document_id or unambiguous occurrence_id. |
|
|
591
|
+
| target_volume_id | string | 否 | Target volume_id from novel_reading_order. |
|
|
592
|
+
| target_index | integer | 否 | Zero-based position inside the target volume. |
|
|
593
|
+
| expected_revision | string | 否 | Fresh reading-order revision used for CAS. |
|
|
860
594
|
|
|
861
595
|
## novel_reading_packet
|
|
862
596
|
|
|
863
597
|
Read a bounded continuous-reading window around one stable manuscript document or occurrence id.
|
|
864
598
|
|
|
865
|
-
|
|
599
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
866
600
|
|
|
867
601
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
868
602
|
| --- | --- | --- | --- |
|
|
@@ -899,7 +633,7 @@ Reference-library pipeline (decomposing reference works into structured evidence
|
|
|
899
633
|
|
|
900
634
|
Read one deep-research report by id (ids come from novel_research_status).
|
|
901
635
|
|
|
902
|
-
|
|
636
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
903
637
|
|
|
904
638
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
905
639
|
| --- | --- | --- | --- |
|
|
@@ -917,9 +651,9 @@ Save deep-research API settings (search/LLM providers, API keys, defaults). Pass
|
|
|
917
651
|
|
|
918
652
|
## novel_research_status
|
|
919
653
|
|
|
920
|
-
Get the deep-research surface: settings status, report list, and the configured model route. Run a research job via
|
|
654
|
+
Get the deep-research surface: settings status, report list, and the configured model route. Run a research job via novel_task(action="create") with type "research".
|
|
921
655
|
|
|
922
|
-
|
|
656
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
923
657
|
|
|
924
658
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
925
659
|
| --- | --- | --- | --- |
|
|
@@ -947,102 +681,43 @@ Run OpenWrite's multi-dimensional review on a drafted manuscript chapter (LONG-R
|
|
|
947
681
|
|
|
948
682
|
Inspect the canonical reusable chapter-review DAG blueprint: its version, revision, six quality domains, 37 checks, hard gates, dependencies, invariants, and extension points.
|
|
949
683
|
|
|
950
|
-
影响:只读查询(可更新检索缓存)。
|
|
951
|
-
|
|
952
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
953
|
-
| --- | --- | --- | --- |
|
|
954
|
-
| 无 | — | — | — |
|
|
955
|
-
|
|
956
|
-
## novel_revision_apply
|
|
957
|
-
|
|
958
|
-
Apply a staged revision proposal to the manuscript. Optionally override the generated text or apply only selected diff hunks. Fails with a conflict if the document changed since the proposal was created.
|
|
959
|
-
|
|
960
684
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
961
685
|
|
|
962
686
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
963
687
|
| --- | --- | --- | --- |
|
|
964
|
-
|
|
|
965
|
-
| replacement_text | string | 否 | Replacement text overriding the proposal. |
|
|
966
|
-
| selected_hunk_ids | array[string] | 否 | Apply only these diff hunk ids. |
|
|
688
|
+
| 无 | — | — | — |
|
|
967
689
|
|
|
968
|
-
##
|
|
690
|
+
## novel_revision
|
|
969
691
|
|
|
970
|
-
|
|
692
|
+
List, inspect, create, regenerate, apply and reject revision proposals for a chapter. Create builds a proposal from review issues (source=review) or from an explicit text selection (source=selection); apply writes the accepted hunks into the manuscript.
|
|
971
693
|
|
|
972
694
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
973
695
|
|
|
974
696
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
975
697
|
| --- | --- | --- | --- |
|
|
976
|
-
|
|
|
977
|
-
|
|
|
698
|
+
| action | string | 是 | ["list","get","create","regenerate","apply","reject"];Revision operation; create reads its source from the source parameter. |
|
|
699
|
+
| chapter | string | 否 | Chapter id filter (e.g. "ch_0007"). |
|
|
700
|
+
| status | string | 否 | Status filter (e.g. "proposed", "applied", "rejected"). |
|
|
701
|
+
| proposal_id | string | 否 | Revision proposal id (rev_*). |
|
|
702
|
+
| source | string | 否 | ["review","selection"];Create source: review (default) fixes review issues, selection revises an explicit text range. |
|
|
703
|
+
| chapter_id | string | 否 | Chapter id (ch_<digits>). |
|
|
704
|
+
| issue_ids | array[string] | 否 | Review issue ids to fix; required for create with source="review". |
|
|
978
705
|
| selection | object | 否 | Optional exact saved-text range in Unicode code points; preserve raw CR/LF characters. |
|
|
979
706
|
| instruction | string | 否 | Additional revision instruction. |
|
|
980
707
|
| target_units | integer | 否 | Target length in writing units (0 = keep similar). |
|
|
981
708
|
| expected_review_revision | string | 否 | Exact review file revision from the chapter work brief. |
|
|
982
709
|
| expected_document_revision | string | 否 | Exact manuscript revision from the chapter work brief. |
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
Create a revision proposal for a text selection in a chapter (LONG-RUNNING, model-generated). start/end are Unicode code-point offsets in the exact saved text, including original CR/LF characters; pass the selected text as original_text and the current expected_document_revision. The proposal is only staged — apply it with novel_revision_apply.
|
|
987
|
-
|
|
988
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
989
|
-
|
|
990
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
991
|
-
| --- | --- | --- | --- |
|
|
992
|
-
| chapter_id | string | 是 | Chapter id (ch_<digits>). |
|
|
993
|
-
| start | integer | 是 | Selection start offset. |
|
|
994
|
-
| end | integer | 是 | Selection end offset. |
|
|
710
|
+
| start | integer | 否 | Selection start offset. |
|
|
711
|
+
| end | integer | 否 | Selection end offset. |
|
|
995
712
|
| original_text | string | 否 | The selected original text. |
|
|
996
|
-
|
|
|
997
|
-
| instruction | string | 否 | Revision instruction (max 4000 characters). |
|
|
998
|
-
| action | string | 否 | ["rewrite","expand","compress","pace","dialogue","naturalize","custom"];Revision mode (default "rewrite"). |
|
|
999
|
-
| target_units | integer | 否 | Target length in writing units (0 = keep similar). |
|
|
713
|
+
| mode | string | 否 | ["rewrite","expand","compress","pace","dialogue","naturalize","custom"];Revision mode (default "rewrite"). |
|
|
1000
714
|
| full_chapter | boolean | 否 | Treat the whole chapter as the selection (default false). |
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
Get one revision proposal with its diff hunks by proposal id (rev_*).
|
|
1005
|
-
|
|
1006
|
-
影响:只读查询(可更新检索缓存)。
|
|
1007
|
-
|
|
1008
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1009
|
-
| --- | --- | --- | --- |
|
|
1010
|
-
| proposal_id | string | 是 | Revision proposal id (rev_*). |
|
|
1011
|
-
|
|
1012
|
-
## novel_revision_regenerate
|
|
1013
|
-
|
|
1014
|
-
Regenerate the text of a staged revision proposal (LONG-RUNNING, model-generated).
|
|
1015
|
-
|
|
1016
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1017
|
-
|
|
1018
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1019
|
-
| --- | --- | --- | --- |
|
|
1020
|
-
| proposal_id | string | 是 | Revision proposal id (rev_*). |
|
|
1021
|
-
|
|
1022
|
-
## novel_revision_reject
|
|
1023
|
-
|
|
1024
|
-
Reject and discard a staged revision proposal. This permanently drops the generated text — it cannot be recovered except by regenerating.
|
|
1025
|
-
|
|
1026
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1027
|
-
|
|
1028
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1029
|
-
| --- | --- | --- | --- |
|
|
1030
|
-
| proposal_id | string | 是 | Revision proposal id (rev_*). |
|
|
1031
|
-
|
|
1032
|
-
## novel_revisions_list
|
|
1033
|
-
|
|
1034
|
-
List revision proposals, optionally filtered by chapter and/or status.
|
|
1035
|
-
|
|
1036
|
-
影响:只读查询(可更新检索缓存)。
|
|
1037
|
-
|
|
1038
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1039
|
-
| --- | --- | --- | --- |
|
|
1040
|
-
| chapter | string | 否 | Chapter id filter (e.g. "ch_0007"). |
|
|
1041
|
-
| status | string | 否 | Status filter (e.g. "proposed", "applied", "rejected"). |
|
|
715
|
+
| replacement_text | string | 否 | Replacement text overriding the proposal. |
|
|
716
|
+
| selected_hunk_ids | array[string] | 否 | Apply only these diff hunk ids. |
|
|
1042
717
|
|
|
1043
718
|
## novel_rolling_plan_action
|
|
1044
719
|
|
|
1045
|
-
Manage rolling plan candidates (mid-range plot planning windows). Actions: "list" (limit?), "create" (current_arc?, window_size? default 50, max 50). current_window/accepted_window is accepted manuscript facts only; next_window/planned_window is outline plan, not facts. "get" (candidate_id), "stage" (candidate_id + proposal + revision — stages a plan
|
|
720
|
+
Manage rolling plan candidates (mid-range plot planning windows). Actions: "list" (limit?), "create" (current_arc?, window_size? default 50, max 50). current_window/accepted_window is accepted manuscript facts only; next_window/planned_window is outline plan, not facts. "get" (candidate_id), "stage" (candidate_id + proposal + revision — stages a Markdown plan; chapter headings should read "第N章:标题" or "第N章 标题" and Chinese numerals are accepted; revision-gated), "delete" (candidate_id + revision), "apply" (candidate_id + revision — appends staged draft chapters that do not collide with the canonical outline into src/outline.md; never writes accepted facts; a proposal without recognizable chapter headings is reported as such instead of as "already exists").
|
|
1046
721
|
|
|
1047
722
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1048
723
|
|
|
@@ -1083,85 +758,47 @@ Inspect OpenWrite runtime skills. Actions: "list" (all discovered skills), "diag
|
|
|
1083
758
|
| intent | string | 否 | Intent hint for resolve. |
|
|
1084
759
|
| document_type | string | 否 | Document type hint for resolve. |
|
|
1085
760
|
|
|
1086
|
-
##
|
|
1087
|
-
|
|
1088
|
-
Apply one freshly read scene migration preview. Requires the exact preview revision and explicit confirmation.
|
|
761
|
+
## novel_scene
|
|
1089
762
|
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1093
|
-
| --- | --- | --- | --- |
|
|
1094
|
-
| expected_preview_revision | string | 是 | Exact preview_revision from novel_scene_migration_preview. |
|
|
1095
|
-
| confirm | boolean | 是 | Must be true after the author approves the preview. |
|
|
1096
|
-
|
|
1097
|
-
## novel_scene_migration_preview
|
|
1098
|
-
|
|
1099
|
-
Build a read-only, exact-revision preview that segments existing chapters into stable scenes. This does not write a sidecar.
|
|
1100
|
-
|
|
1101
|
-
影响:只读查询(可更新检索缓存)。
|
|
1102
|
-
|
|
1103
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1104
|
-
| --- | --- | --- | --- |
|
|
1105
|
-
| 无 | — | — | — |
|
|
1106
|
-
|
|
1107
|
-
## novel_scene_migration_rollback
|
|
1108
|
-
|
|
1109
|
-
Restore the byte-exact scene sidecar that preceded a migration, guarded by the current scene-structure revision.
|
|
763
|
+
Read the scene structure of a chapter, update one scene, and move a scene to another chapter or position. Structure is read-only; update and move are optimistic and require the current revision.
|
|
1110
764
|
|
|
1111
765
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1112
766
|
|
|
1113
767
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1114
768
|
| --- | --- | --- | --- |
|
|
1115
|
-
|
|
|
1116
|
-
|
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1124
|
-
|
|
|
1125
|
-
|
|
|
1126
|
-
|
|
|
1127
|
-
|
|
|
1128
|
-
| target_index | integer | 是 | Zero-based scene position inside the target chapter. |
|
|
1129
|
-
| expected_revision | string | 是 | Fresh scene-structure revision. |
|
|
1130
|
-
| expected_source_revision | string | 是 | Fresh source chapter revision. |
|
|
1131
|
-
| expected_target_revision | string | 是 | Fresh target chapter revision. |
|
|
1132
|
-
|
|
1133
|
-
## novel_scene_structure
|
|
1134
|
-
|
|
1135
|
-
Read the canonical scene structure with stable scene ids, reading/story-time order, chapter revisions, references, freshness, and explicit issues.
|
|
1136
|
-
|
|
1137
|
-
影响:只读查询(可更新检索缓存)。
|
|
1138
|
-
|
|
1139
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1140
|
-
| --- | --- | --- | --- |
|
|
1141
|
-
| 无 | — | — | — |
|
|
769
|
+
| action | string | 是 | ["structure","update","move"];Scene operation. |
|
|
770
|
+
| scene_id | string | 否 | Stable scene id from novel_scene(action="structure"). |
|
|
771
|
+
| expected_revision | string | 否 | Fresh scene-structure revision used for CAS. |
|
|
772
|
+
| title | string | 否 | Optional scene title. |
|
|
773
|
+
| story_time_sort_key | string | 否 | Optional lexical story-time sort key. |
|
|
774
|
+
| story_time_label | string | 否 | Optional author-facing story-time label. |
|
|
775
|
+
| characters | array[string] | 否 | Character references; replaces the current list when supplied. |
|
|
776
|
+
| locations | array[string] | 否 | Location references; replaces the current list when supplied. |
|
|
777
|
+
| events | array[string] | 否 | Event references; replaces the current list when supplied. |
|
|
778
|
+
| target_chapter_id | string | 否 | Target chapter id (ch_<digits>). |
|
|
779
|
+
| target_index | integer | 否 | Zero-based scene position inside the target chapter. |
|
|
780
|
+
| expected_source_revision | string | 否 | Fresh source chapter revision. |
|
|
781
|
+
| expected_target_revision | string | 否 | Fresh target chapter revision. |
|
|
1142
782
|
|
|
1143
|
-
##
|
|
783
|
+
## novel_scene_migration
|
|
1144
784
|
|
|
1145
|
-
|
|
785
|
+
Preview, apply and roll back the paragraph-to-scene migration of one chapter. The preview is read-only; apply and rollback are guarded by the revisions the previous step reported.
|
|
1146
786
|
|
|
1147
787
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1148
788
|
|
|
1149
789
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1150
790
|
| --- | --- | --- | --- |
|
|
1151
|
-
|
|
|
1152
|
-
|
|
|
1153
|
-
|
|
|
1154
|
-
|
|
|
1155
|
-
|
|
|
1156
|
-
| characters | array[string] | 否 | Character references; replaces the current list when supplied. |
|
|
1157
|
-
| locations | array[string] | 否 | Location references; replaces the current list when supplied. |
|
|
1158
|
-
| events | array[string] | 否 | Event references; replaces the current list when supplied. |
|
|
791
|
+
| action | string | 是 | ["preview","apply","rollback"];Scene migration step; apply and rollback require the revision the previous step reported. |
|
|
792
|
+
| expected_preview_revision | string | 否 | Exact preview_revision from novel_scene_migration(action="preview"). |
|
|
793
|
+
| confirm | boolean | 否 | Must be true after the author approves the preview. |
|
|
794
|
+
| migration_id | string | 否 | Migration id returned by novel_scene_migration(action="apply"). |
|
|
795
|
+
| expected_revision | string | 否 | Fresh scene-structure revision used for CAS. |
|
|
1159
796
|
|
|
1160
797
|
## novel_search
|
|
1161
798
|
|
|
1162
799
|
Search the novel project (semantic + exact match) across chapters, outline, and assets.
|
|
1163
800
|
|
|
1164
|
-
|
|
801
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1165
802
|
|
|
1166
803
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1167
804
|
| --- | --- | --- | --- |
|
|
@@ -1171,7 +808,7 @@ Search the novel project (semantic + exact match) across chapters, outline, and
|
|
|
1171
808
|
|
|
1172
809
|
## novel_settle_backfill
|
|
1173
810
|
|
|
1174
|
-
Settlement backfill for existing/imported chapters: replay the writer pipeline observer+settler over the actual chapter prose (never rewriting it) and commit chapter memory, runtime-truth notes and a character-state index refresh. Run once after importing an old manuscript so later chapters, reviews and canon/continuity checks have real facts from earlier chapters (without it, review canon stays inconclusive and context lacks previous-chapter recaps). Returns a background task (tsk_*); poll with
|
|
811
|
+
Settlement backfill for existing/imported chapters: replay the writer pipeline observer+settler over the actual chapter prose (never rewriting it) and commit chapter memory, runtime-truth notes and a character-state index refresh. Run once after importing an old manuscript so later chapters, reviews and canon/continuity checks have real facts from earlier chapters (without it, review canon stays inconclusive and context lacks previous-chapter recaps). Returns a background task (tsk_*); poll with novel_task(action="get").
|
|
1175
812
|
|
|
1176
813
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1177
814
|
|
|
@@ -1197,7 +834,7 @@ Style/setting source pipeline (learning from reference texts). Actions: "extract
|
|
|
1197
834
|
| chunk_id | string | 否 | Chunk to retry (retry_v2). |
|
|
1198
835
|
| source_ids | array[string] | 否 | Sources to synthesize (synthesize_v2). |
|
|
1199
836
|
| profile_id | string | 否 | Analysis profile id (profile_v2/promotion_preview_v2). |
|
|
1200
|
-
| target | string | 否 | Promotion target (
|
|
837
|
+
| target | string | 否 | Promotion target: style/rules/inspiration/setting_candidates for promotion_preview_v2 (required); style/setting/world/all for legacy promote (default "all"). |
|
|
1201
838
|
| preview_id | string | 否 | Promotion preview id (promote_v2). |
|
|
1202
839
|
| confirm | boolean | 否 | Confirm a gated promotion (default false). |
|
|
1203
840
|
|
|
@@ -1205,24 +842,11 @@ Style/setting source pipeline (learning from reference texts). Actions: "extract
|
|
|
1205
842
|
|
|
1206
843
|
Get a snapshot of the current OpenWrite novel project: title, chapters, word counts, writing targets, and focus compass.
|
|
1207
844
|
|
|
1208
|
-
影响:只读查询(可更新检索缓存)。
|
|
1209
|
-
|
|
1210
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1211
|
-
| --- | --- | --- | --- |
|
|
1212
|
-
| 无 | — | — | — |
|
|
1213
|
-
|
|
1214
|
-
## novel_structured_change_plan
|
|
1215
|
-
|
|
1216
|
-
Stage one structured OpenWrite domain change without writing it. Supported change_kind values are "outline", "asset", "focus", "foreshadowing", and "writing_targets"; `change` uses the corresponding direct tool payload. Use action "preview" to receive an immutable token and entity-level before/after summary. Only after author acceptance pass that token unchanged to "apply". "reject" consumes it, "retry" rebuilds the same semantic change against current source, and "undo" accepts only the revision-bound undo token returned by apply. The server writes the exact validated preview and rejects source conflicts.
|
|
1217
|
-
|
|
1218
845
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1219
846
|
|
|
1220
847
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1221
848
|
| --- | --- | --- | --- |
|
|
1222
|
-
|
|
|
1223
|
-
| change_kind | string | 否 | ["outline","asset","focus","foreshadowing","writing_targets"];Structured domain for a preview. |
|
|
1224
|
-
| change | json | 否 | One direct-tool-shaped change object, required for preview. |
|
|
1225
|
-
| preview_token | string | 否 | Immutable preview or undo token for apply/reject/retry/undo. |
|
|
849
|
+
| 无 | — | — | — |
|
|
1226
850
|
|
|
1227
851
|
## novel_sync
|
|
1228
852
|
|
|
@@ -1234,74 +858,27 @@ Synchronize derived caches that are direct src derivatives: outline hierarchy (d
|
|
|
1234
858
|
| --- | --- | --- | --- |
|
|
1235
859
|
| 无 | — | — | — |
|
|
1236
860
|
|
|
1237
|
-
##
|
|
1238
|
-
|
|
1239
|
-
Request cancellation of a queued or running task. Check cancelled and cancellation_status for the actual outcome; poll novel_task_get while cancellation is requested.
|
|
1240
|
-
|
|
1241
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1242
|
-
|
|
1243
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1244
|
-
| --- | --- | --- | --- |
|
|
1245
|
-
| wait_seconds | number | 否 | Wait up to 30 seconds for actual cancellation; running model calls may finish later. |
|
|
1246
|
-
| task_id | string | 是 | Task id (tsk_*). |
|
|
1247
|
-
|
|
1248
|
-
## novel_task_confirm
|
|
1249
|
-
|
|
1250
|
-
Confirm a background task that is awaiting confirmation (e.g. a continuous_write run paused between chapters), letting it resume.
|
|
1251
|
-
|
|
1252
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1253
|
-
|
|
1254
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1255
|
-
| --- | --- | --- | --- |
|
|
1256
|
-
| task_id | string | 是 | Task id (tsk_*). |
|
|
1257
|
-
|
|
1258
|
-
## novel_task_create
|
|
861
|
+
## novel_task
|
|
1259
862
|
|
|
1260
|
-
Queue a background AI task and return immediately; poll with
|
|
863
|
+
Queue a background AI task and return immediately; poll with get or list. Task types and their `input` keys: chapter_write {chapter_id?, guidance?, target_words?, temperature?, outline_revision?}; chapter_review {chapter_id | path, strict?, dimensions?}; revision_selection / revision_from_review (same inputs as the novel_revision create action); source_operation / reference_operation (same inputs as novel_source_action / novel_reference_library_action); manuscript_import (same input as novel_import); research {prompt, search?, language?, quality? (advisory|balanced|strict), llm?}; manuscript_reconcile (durable acceptance analysis; usually started through novel_manuscript_acceptance_reconcile); settle_backfill {chapter_ids?, only_missing?} - prefer the novel_settle_backfill convenience tool; continuous_write - prefer the novel_multi_write convenience tool.
|
|
1261
864
|
|
|
1262
865
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1263
866
|
|
|
1264
867
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1265
868
|
| --- | --- | --- | --- |
|
|
1266
|
-
|
|
|
1267
|
-
|
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
Get one background task with its event log by task id (tsk_*). Completed chapter write/review/revision tasks refresh the chapter-delivery DoG graph; chapter reviews also materialize the 37-dimension graph.
|
|
1272
|
-
|
|
1273
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1274
|
-
|
|
1275
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1276
|
-
| --- | --- | --- | --- |
|
|
1277
|
-
| task_id | string | 是 | Task id (tsk_*). |
|
|
1278
|
-
|
|
1279
|
-
## novel_task_retry
|
|
1280
|
-
|
|
1281
|
-
Retry a failed or cancelled background task.
|
|
1282
|
-
|
|
1283
|
-
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1284
|
-
|
|
1285
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1286
|
-
| --- | --- | --- | --- |
|
|
1287
|
-
| task_id | string | 是 | Task id (tsk_*). |
|
|
1288
|
-
|
|
1289
|
-
## novel_tasks_list
|
|
1290
|
-
|
|
1291
|
-
List background tasks (queued/running/finished AI jobs) with per-status counts.
|
|
1292
|
-
|
|
1293
|
-
影响:只读查询(可更新检索缓存)。
|
|
1294
|
-
|
|
1295
|
-
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1296
|
-
| --- | --- | --- | --- |
|
|
869
|
+
| action | string | 是 | ["create","get","list","cancel","confirm","retry"];Task operation; long-running work returns a task id immediately. confirm resumes a paused run and returns a continuation task: poll the returned task_id; re-confirming the paused task is idempotent. |
|
|
870
|
+
| type | string | 否 | ["chapter_write","chapter_review","revision_selection","revision_from_review","source_operation","reference_operation","manuscript_import","manuscript_reconcile","continuous_write","research","settle_backfill"];Task type; required for create. |
|
|
871
|
+
| input | json | 否 | Task input object; required for create. Shape depends on the task type (see description). |
|
|
872
|
+
| task_id | string | 否 | Task id (tsk_*). |
|
|
1297
873
|
| since | string | 否 | ISO timestamp filter for requests whose response was lost. |
|
|
1298
874
|
| limit | integer | 否 | Maximum number of tasks (server default 100). |
|
|
875
|
+
| wait_seconds | number | 否 | Wait up to 30 seconds for actual cancellation; running model calls may finish later. |
|
|
1299
876
|
|
|
1300
877
|
## novel_trace_list
|
|
1301
878
|
|
|
1302
879
|
Inspect recent redacted Prompt→context→model→tool→domain traces. Raw prompts, context, model output, credentials, chain-of-thought, and mutation values are never stored.
|
|
1303
880
|
|
|
1304
|
-
|
|
881
|
+
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1305
882
|
|
|
1306
883
|
| 参数 | 类型 | 必填 | 允许值 / 说明 |
|
|
1307
884
|
| --- | --- | --- | --- |
|
|
@@ -1309,7 +886,7 @@ Inspect recent redacted Prompt→context→model→tool→domain traces. Raw pro
|
|
|
1309
886
|
|
|
1310
887
|
## novel_write_chapter
|
|
1311
888
|
|
|
1312
|
-
Queue a chapter write and immediately return a durable task_id. Poll
|
|
889
|
+
Queue a chapter write and immediately return a durable task_id. Poll novel_task(action="get") for progress/result. Omit chapter_id to write the outline-recommended next chapter; a given chapter_id must match the current recommendation. Preview context first with novel_context_preview and consult novel_outline_read for the recommendation. Cancel with novel_task(action="cancel"). Generated partial prose is retained; resume_from_draft continues it in a new run when the source/context revisions still match.
|
|
1313
890
|
|
|
1314
891
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1315
892
|
|
|
@@ -1342,7 +919,7 @@ Read or save shared project terminology, review_terms toggle, concrete noun lexi
|
|
|
1342
919
|
|
|
1343
920
|
## novel_writing_targets
|
|
1344
921
|
|
|
1345
|
-
Immediate compatibility write for targets the author has already authorized exactly; otherwise use
|
|
922
|
+
Immediate compatibility write for targets the author has already authorized exactly; otherwise use novel_change_plan(action="structured"). Update the project writing targets. Ranges: book_words 10000-5000000, chapter_words 200-50000, outline_volume_words 100-5000, outline_act_words 80-3000, outline_section_words 50-2000, outline_chapter_words 30-1000. Omitted fields keep their current values.
|
|
1346
923
|
|
|
1347
924
|
影响:会提交操作或保存文件;具体取决于 action/参数。
|
|
1348
925
|
|