@dream-craft/canvas-agent 0.6.4 → 0.6.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -4,7 +4,8 @@
4
4
 
5
5
  - 用户要求操作画布时,默认目标就是网页当前已经打开的画布。需要了解内容时先使用 `canvas_get_state`;读取成功后直接在该画布执行任务,不要调用 `canvas_list_projects`,也不要用 `site_navigate` 重复进入画布。
6
6
  - 只有用户明确要求查看、选择或切换其他画布,或者 `canvas_get_state` 明确提示当前没有已连接画布时,才使用 `canvas_list_projects` 和 `site_navigate`。`site_navigate` 可跳转 `/`、`/canvas`、`/canvas/:id`、`/image`、`/video`、`/prompts`、`/assets`、`/config`。
7
- - 修改当前画布时根据任务使用已配置的 infinite-canvas MCP 工具;复杂批量改动使用 `canvas_apply_ops`。
7
+ - 修改当前画布时根据任务使用已配置的 infinite-canvas MCP 工具;复杂批量改动使用 `canvas_apply_ops`。
8
+ - `canvas_apply_ops` 的 `add_node` 省略 `nodeType` 会静默建成 text 节点(不报错)。发现节点实际类型与预期不符(如插件节点或图片节点变成 text)时,先核对自己刚才的参数是否漏传 `nodeType`,漏传就删掉错节点带 `nodeType` 重建;确认传了 `nodeType` 仍回退为 text 才考虑插件未启用,不要直接归因为「插件不可用」。
8
9
  - 用户要求把上传附件放入画布或作为生成参考图时,必须先用 `canvas_create_attachment_nodes` 创建真实图片节点,再把节点 ID 传给生成流程,不要创建空图片占位节点。
9
10
  - 生图与视频工作台分别使用 `workbench_image_*`、`workbench_video_*` 工具;提示词和素材分别使用 `prompts_search`、`assets_*` 工具。
10
11
  - 用户要求生成图片、视频、音频或文本时,默认调用对应的 `canvas_generate_image`、`canvas_generate_video`、`canvas_generate_audio`、`canvas_generate_text`,通过当前画布的生成节点完成任务。**优先级(最高)例外**:开放式/高成本创作任务(如"生成一个某某主题的视频短片"、搭完整生成链、批量产出,特征是含多个未指定的自由决策点)必须先按 `task-briefing` 技能发对齐问卷并结束本轮,用户确认口径前禁止调用任何生成、建链或触发工具——本条与下一条的"直接调用生成工具"默认指令都让位于该技能。
@@ -111,6 +111,8 @@ function configNodeOp(id, input, x, y) {
111
111
  audioVoice: input.audioVoice,
112
112
  audioFormat: input.audioFormat,
113
113
  audioSpeed: input.audioSpeed,
114
+ audioStyle: input.audioStyle,
115
+ audioPitch: input.audioPitch,
114
116
  audioInstructions: input.audioInstructions,
115
117
  }),
116
118
  };
@@ -99,6 +99,9 @@ const generationOptionsSchema = z.object({
99
99
  audioVoice: z.string().optional(),
100
100
  audioFormat: z.string().optional(),
101
101
  audioSpeed: z.string().optional(),
102
+ // 风格与音调只有声明了这两项的厂商参数面(edge-tts)会用到,其他模型由网页端按 profile 直接忽略。
103
+ audioStyle: z.string().optional(),
104
+ audioPitch: z.string().optional(),
102
105
  audioInstructions: z.string().optional(),
103
106
  });
104
107
  const generationFlowSchema = z.object({
@@ -160,7 +163,7 @@ export const toolDescriptions = {
160
163
  canvas_get_state: "读取当前网页画布的节点、连线、选区和视口。默认节点 metadata.content 超过 240 字符会被截断;full: true 返回未截断内容,做提示词/种子与生成参数(如画幅比例)的一致性分析时必须带 full: true,避免漏看长文本里的画幅假设。",
161
164
  canvas_get_selection: "读取当前网页画布选中的节点。",
162
165
  canvas_export_snapshot: "导出当前画布快照,用于理解布局。",
163
- canvas_apply_ops: "批量操作当前网页画布。ops 支持 add_node(nodeType 可为内置类型或已启用插件的 \"<pluginId>:<name>\" 类型)、update_node、delete_node、delete_connections、connect_nodes、set_viewport、select_nodes、arrange_nodes、run_generation。ops 最小示例:[{\"type\":\"add_node\",\"id\":\"main\",\"nodeType\":\"text\",\"title\":\"主提示词\",\"metadata\":{\"content\":\"提示词内容\"}}],连接节点用 {\"type\":\"connect_nodes\",\"fromNodeId\":\"main\",\"toNodeId\":\"target\"},connect_nodes 必须同时提供 fromNodeId 与 toNodeId。arrange_nodes 只带意图(ids 或 all 二选一 + mode/axis/side),坐标由网页端排版算法计算并在整理后聚焦结果,不要自己算坐标或预判结果。mode=auto/flow/by_media/row/column/grid/spread 为防重叠整理,结果不重叠;mode=align/distribute 是对齐/等距工具,按定义会让节点在一条线上重叠或贴合,这是预期行为,不要据此判定整理失败。",
166
+ canvas_apply_ops: "批量操作当前网页画布。ops 支持 add_node(nodeType 可为内置类型或已启用插件的 \"<pluginId>:<name>\" 类型;省略 nodeType 会静默建成 text 节点且不报错,创建任何非 text 节点时必须显式传 nodeType)、update_node、delete_node、delete_connections、connect_nodes、set_viewport、select_nodes、arrange_nodes、run_generation。ops 最小示例:[{\"type\":\"add_node\",\"id\":\"main\",\"nodeType\":\"text\",\"title\":\"主提示词\",\"metadata\":{\"content\":\"提示词内容\"}}],连接节点用 {\"type\":\"connect_nodes\",\"fromNodeId\":\"main\",\"toNodeId\":\"target\"},connect_nodes 必须同时提供 fromNodeId 与 toNodeId。arrange_nodes 只带意图(ids 或 all 二选一 + mode/axis/side),坐标由网页端排版算法计算并在整理后聚焦结果,不要自己算坐标或预判结果。mode=auto/flow/by_media/row/column/grid/spread 为防重叠整理,结果不重叠;mode=align/distribute 是对齐/等距工具,按定义会让节点在一条线上重叠或贴合,这是预期行为,不要据此判定整理失败。",
164
167
  canvas_create_node: "创建任意类型节点:text、image、config、video、audio,或已启用画布插件的节点类型(如 \"prompt-enhancer:optimize\",需先在画布「节点插件」管理器启用对应插件)。适合创建占位图、媒体占位、配置节点或自定义 metadata 节点。",
165
168
  canvas_create_attachment_nodes: "把当前对话中用户上传的图片附件创建成真实画布图片节点。attachmentIds 使用本轮附件清单中的 ID;返回的节点 ID 可传给 canvas_create_generation_flow.referenceNodeIds 作为生成参考图。",
166
169
  canvas_create_text_node: "在当前画布创建单个文本节点。",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dream-craft/canvas-agent",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",