@coze/cli 0.1.8 → 0.2.0-alpha.bdb5d3

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.
Files changed (43) hide show
  1. package/README.md +344 -25
  2. package/lib/cli.js +3 -3
  3. package/lib/fetch-client-BrXOi9r2.js +1 -0
  4. package/lib/index-CTFuRdpB.js +1 -0
  5. package/lib/send-message.worker.js +1 -1
  6. package/lib/session-task-refresh.worker.js +1 -1
  7. package/lib/{task-worker-DhR5dnFi.js → task-worker-CP9sbTju.js} +1 -1
  8. package/package.json +6 -1
  9. package/skills/manifest.json +29 -0
  10. package/skills/using-coze-cli/SKILL.md +450 -0
  11. package/skills/using-coze-cli/coze-claw/MODULE.md +189 -0
  12. package/skills/using-coze-cli/coze-claw/references/coze-claw-agent-routing.md +45 -0
  13. package/skills/using-coze-cli/coze-claw/references/coze-claw-artifacts.md +52 -0
  14. package/skills/using-coze-cli/coze-claw/references/coze-claw-async-followup.md +266 -0
  15. package/skills/using-coze-cli/coze-claw/references/coze-claw-message.md +176 -0
  16. package/skills/using-coze-cli/coze-claw/references/coze-claw-podcast.md +73 -0
  17. package/skills/using-coze-cli/coze-claw/references/coze-claw-ppt.md +78 -0
  18. package/skills/using-coze-cli/coze-claw/references/coze-claw-progress.md +112 -0
  19. package/skills/using-coze-cli/coze-claw/references/coze-claw-session.md +144 -0
  20. package/skills/using-coze-cli/coze-code/MODULE.md +252 -0
  21. package/skills/using-coze-cli/coze-code/references/coze-code-db.md +537 -0
  22. package/skills/using-coze-cli/coze-code/references/coze-code-deploy.md +258 -0
  23. package/skills/using-coze-cli/coze-code/references/coze-code-domain.md +73 -0
  24. package/skills/using-coze-cli/coze-code/references/coze-code-env.md +82 -0
  25. package/skills/using-coze-cli/coze-code/references/coze-code-git.md +181 -0
  26. package/skills/using-coze-cli/coze-code/references/coze-code-message.md +240 -0
  27. package/skills/using-coze-cli/coze-code/references/coze-code-model.md +51 -0
  28. package/skills/using-coze-cli/coze-code/references/coze-code-preview.md +33 -0
  29. package/skills/using-coze-cli/coze-code/references/coze-code-project.md +176 -0
  30. package/skills/using-coze-cli/coze-code/references/coze-code-repo.md +285 -0
  31. package/skills/using-coze-cli/coze-code/references/coze-code-skill.md +117 -0
  32. package/skills/using-coze-cli/coze-code/references/coze-code-tools.md +47 -0
  33. package/skills/using-coze-cli/coze-file/MODULE.md +46 -0
  34. package/skills/using-coze-cli/coze-file/references/coze-file-upload.md +59 -0
  35. package/skills/using-coze-cli/coze-generate/MODULE.md +84 -0
  36. package/skills/using-coze-cli/coze-generate/references/coze-generate-audio.md +105 -0
  37. package/skills/using-coze-cli/coze-generate/references/coze-generate-image.md +80 -0
  38. package/skills/using-coze-cli/coze-generate/references/coze-generate-video.md +125 -0
  39. package/skills/using-coze-cli/coze-project/MODULE.md +125 -0
  40. package/skills/using-coze-cli/coze-project/references/coze-project-files.md +284 -0
  41. package/skills/using-coze-cli/coze-project/references/coze-project-query.md +177 -0
  42. package/lib/fetch-client-Qn1wyhrf.js +0 -1
  43. package/lib/index-Bl0Pqb9j.js +0 -1
@@ -0,0 +1,285 @@
1
+ # code repo commands
2
+
3
+ > **前置条件:** 先阅读 [`../../SKILL.md`](../../SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 远程仓库管理命令。用于创建、绑定、解绑远程仓库,以及推送/拉取代码和查询同步状态。
6
+
7
+ ## 命令导航
8
+
9
+ | 文档 | 命令 | 说明 |
10
+ |------|------|------|
11
+ | 本文档 | `coze code repo create` | 在 Git 平台创建新仓库 |
12
+ | 本文档 | `coze code repo bind` | 绑定远程仓库到项目 |
13
+ | 本文档 | `coze code repo unbind` | 解绑远程仓库 |
14
+ | 本文档 | `coze code repo push` | 推送本地提交到远程 |
15
+ | 本文档 | `coze code repo pull` | 拉取远程变更到本地 |
16
+ | 本文档 | `coze code repo status` | 查看绑定和同步状态 |
17
+
18
+ > 注意:所有命令均需先完成认证和组织/空间上下文配置。仓库操作需要先完成 Git 平台 OAuth 授权(`coze code git auth login`)。
19
+
20
+ ### 共享参数
21
+
22
+ | 参数 | 必填 | 说明 |
23
+ |------|------|------|
24
+ | `--provider` | 否 | Git 平台:`github` / `gitlab`(默认 `github`) |
25
+
26
+ ---
27
+
28
+ ## repo create
29
+
30
+ 在已授权的 Git 平台上创建新的空仓库。创建的仓库可通过 `repo bind` 绑定到项目。
31
+
32
+ ### 参数
33
+
34
+ | 参数 | 必填 | 说明 |
35
+ |------|------|------|
36
+ | `-n, --name <name>` | 是 | 仓库名称 |
37
+ | `--private` | 否 | 创建为私有仓库(推荐) |
38
+
39
+ ### 推荐命令模板
40
+
41
+ ```bash
42
+ # 创建公开仓库
43
+ coze code repo create --name my-app
44
+
45
+ # 创建私有仓库(推荐)
46
+ coze code repo create -n my-app --private
47
+
48
+ # 创建后立即绑定
49
+ coze code repo create -n my-repo --private && coze code repo bind -p <projectId> -r user/my-repo
50
+ ```
51
+
52
+ ### 返回值
53
+
54
+ | 字段 | 说明 |
55
+ |------|------|
56
+ | `full_name` | 仓库全名(如 `user/my-app`) |
57
+ | `html_url` | 仓库 URL |
58
+ | `private` | 是否私有 |
59
+
60
+ ### 错误速查
61
+
62
+ | 错误码 | 名称 | 说明 | 修复方式 |
63
+ |--------|------|------|---------|
64
+ | E1014 | MISSING_REPO_CREATION_NAME | 未提供仓库名 | 使用 `--name <name>` |
65
+ | E2004 | GIT_NOT_AUTHORIZED | Git 平台未授权 | 先执行 `coze code git auth login` |
66
+ | E3009 | CONFLICT | 仓库名已存在 | 使用不同的名称 |
67
+
68
+ ---
69
+
70
+ ## repo bind
71
+
72
+ 将空的远程仓库绑定到指定项目。
73
+
74
+ ### 参数
75
+
76
+ | 参数 | 必填 | 说明 |
77
+ |------|------|------|
78
+ | `-p, --project-id <projectId>` | 是 | 项目 ID |
79
+ | `-r, --repo <fullName>` | 是 | 远程仓库全名(如 `user/repo`) |
80
+
81
+ ### 推荐命令模板
82
+
83
+ ```bash
84
+ # 绑定仓库到项目
85
+ coze code repo bind -p <projectId> -r user/my-repo
86
+
87
+ # 创建新仓库后绑定(推荐流程)
88
+ coze code repo create --name my-repo --private
89
+ coze code repo bind -p <projectId> -r user/my-repo
90
+ ```
91
+
92
+ ### 返回值
93
+
94
+ | 字段 | 说明 |
95
+ |------|------|
96
+ | `project_id` | 项目 ID |
97
+ | `repo_full_name` | 绑定的仓库全名 |
98
+ | `status` | `bound` |
99
+
100
+ ### 坑点
101
+
102
+ - **仅支持空仓库**:非空仓库绑定会失败
103
+ - **一个项目只能绑定一个仓库**:需要先 unbind 再绑定新仓库
104
+ - 通过 GitHub 导入创建的项目会自动绑定来源仓库,无需手动 bind
105
+ - 绑定前会先查 `GetRemote` 状态:`bindStatus=3`(已绑定)报 E3016;`bindStatus=1`(未授权)报 E2004;`bindStatus=2`(已授权未绑定)才放行
106
+
107
+ ### 错误速查
108
+
109
+ | 错误码 | 名称 | 说明 | 修复方式 |
110
+ |--------|------|------|---------|
111
+ | E1013 | MISSING_REPO_NAME | 未提供仓库全名 | 使用 `--repo <owner/name>` |
112
+ | E2004 | GIT_NOT_AUTHORIZED | Git 平台未授权(bindStatus=1) | 先执行 `coze code git auth login` |
113
+ | E3015 | REPO_NOT_EMPTY | 仓库非空 | 使用 `repo create` 创建空仓库 |
114
+ | E3016 | REPO_ALREADY_BOUND | 项目已绑定仓库(bindStatus=3) | 先执行 `repo unbind` |
115
+
116
+ ---
117
+
118
+ ## repo unbind
119
+
120
+ 解除项目与远程仓库的绑定关系。不会删除远程仓库本身。
121
+
122
+ ### 参数
123
+
124
+ | 参数 | 必填 | 说明 |
125
+ |------|------|------|
126
+ | `-p, --project-id <projectId>` | 是 | 项目 ID |
127
+ | `--force` | 否 | 跳过确认直接解绑(**当前实现未读取该选项,暂无实际作用,也无确认交互**) |
128
+
129
+ ### 推荐命令模板
130
+
131
+ ```bash
132
+ # 解绑(仅 bindStatus=3 即已绑定时可解绑,否则报 E3014)
133
+ coze code repo unbind -p <projectId>
134
+ ```
135
+
136
+ ### 返回值
137
+
138
+ | 字段 | 说明 |
139
+ |------|------|
140
+ | `project_id` | 项目 ID |
141
+ | `status` | `unbound` |
142
+
143
+ ### 错误速查
144
+
145
+ | 错误码 | 名称 | 说明 | 修复方式 |
146
+ |--------|------|------|---------|
147
+ | E3014 | REPO_NOT_BOUND | 项目未绑定仓库 | 用 `coze code repo status -p <id>` 查看状态 |
148
+
149
+ ---
150
+
151
+ ## repo push
152
+
153
+ 将本地提交推送到已绑定的远程仓库。
154
+
155
+ ### 参数
156
+
157
+ | 参数 | 必填 | 说明 |
158
+ |------|------|------|
159
+ | `-p, --project-id <projectId>` | 是 | 项目 ID |
160
+
161
+ ### 推荐命令模板
162
+
163
+ ```bash
164
+ # 推送变更
165
+ coze code repo push -p <projectId>
166
+
167
+ # 推送后检查状态
168
+ coze code repo push -p <projectId> && coze code repo status -p <projectId>
169
+ ```
170
+
171
+ ### 返回值
172
+
173
+ | 字段 | 说明 |
174
+ |------|------|
175
+ | `status` | `success` 或 `failed` |
176
+ | `pushed_commits` | 推送的提交数量 |
177
+
178
+ ### 错误速查
179
+
180
+ | 错误码 | 名称 | 说明 | 修复方式 |
181
+ |--------|------|------|---------|
182
+ | E3014 | REPO_NOT_BOUND | 项目未绑定仓库 | 先执行 `repo bind` |
183
+ | E3017 | NOTHING_TO_PUSH | 无需推送 | 已与远程同步 |
184
+ | E3018 | REMOTE_HAS_UPDATES | 远程有更新 | 先执行 `repo pull` |
185
+
186
+ ### 坑点
187
+
188
+ - 当远程有新提交时,必须先 pull 再 push
189
+ - **当前为 placeholder 实现**:仅做绑定状态校验后恒返回 `{ status: 'success', pushed_commits: 0 }`,实际 push 走 Web 端 WebSocket,尚未接入
190
+
191
+ ---
192
+
193
+ ## repo pull
194
+
195
+ 从已绑定的远程仓库拉取最新变更。
196
+
197
+ ### 参数
198
+
199
+ | 参数 | 必填 | 说明 |
200
+ |------|------|------|
201
+ | `-p, --project-id <projectId>` | 是 | 项目 ID |
202
+ | `--conflict-strategy <strategy>` | 否 | 冲突解决策略:`ours`(保留本地)/ `theirs`(使用远程) |
203
+
204
+ ### 推荐命令模板
205
+
206
+ ```bash
207
+ # 拉取变更
208
+ coze code repo pull -p <projectId>
209
+
210
+ # 自动解决冲突(保留本地)
211
+ coze code repo pull -p <projectId> --conflict-strategy ours
212
+
213
+ # 自动解决冲突(使用远程)
214
+ coze code repo pull -p <projectId> --conflict-strategy theirs
215
+
216
+ # 拉取后推送
217
+ coze code repo pull -p <projectId> --conflict-strategy ours && coze code repo push -p <projectId>
218
+ ```
219
+
220
+ ### 返回值
221
+
222
+ | 字段 | 说明 |
223
+ |------|------|
224
+ | `status` | `success`、`conflict_resolved` 或 `failed` |
225
+ | `conflict_resolved` | 是否解决了冲突 |
226
+ | `conflict_strategy` | 使用的冲突策略 |
227
+ | `conflict_files` | 冲突文件列表 |
228
+
229
+ ### 坑点
230
+
231
+ - **不指定 `--conflict-strategy` 时遇到冲突会失败**
232
+ - 冲突解决策略会应用到所有冲突文件(不支持逐文件选择)
233
+ - `--conflict-strategy` 仅文档声明 `ours`/`theirs`,代码不做运行时校验
234
+ - **当前为 placeholder 实现**:恒返回 `success`,从不真正解决冲突
235
+
236
+ ### 错误速查
237
+
238
+ | 错误码 | 名称 | 说明 | 修复方式 |
239
+ |--------|------|------|---------|
240
+ | E3014 | REPO_NOT_BOUND | 项目未绑定仓库 | 先执行 `repo bind` |
241
+ | E3019 | MERGE_CONFLICT | 未指定策略遇到冲突 | 加 `--conflict-strategy ours` 或 `theirs` |
242
+ | E3020 | WOULD_OVERWRITE | 本地改动会被覆盖 | 先提交本地改动 |
243
+
244
+ ---
245
+
246
+ ## repo status
247
+
248
+ 查看项目的远程仓库绑定状态和同步信息。
249
+
250
+ ### 参数
251
+
252
+ | 参数 | 必填 | 说明 |
253
+ |------|------|------|
254
+ | `-p, --project-id <projectId>` | 是 | 项目 ID |
255
+
256
+ ### 推荐命令模板
257
+
258
+ ```bash
259
+ # 查看状态
260
+ coze code repo status -p <projectId>
261
+
262
+ # JSON 输出
263
+ coze code repo status -p <projectId> --format json
264
+
265
+ # 流水线中判断绑定状态
266
+ coze code repo status -p <projectId> --format json | jq .bind_status
267
+ ```
268
+
269
+ ### 返回值
270
+
271
+ | 字段 | 说明 |
272
+ |------|------|
273
+ | `bind_status` | `unauth`、`not-bound` 或 `bound`(`bindStatus` 1/2/3 映射) |
274
+ | `repo_full_name` | 仓库全名(仅 bound 时输出) |
275
+ | `html_url` | 仓库 URL(仅 bound 时输出) |
276
+
277
+ > 当前实现仅输出上述字段。`ahead` / `behind` / `is_synced` 在 schema 中声明但**实际未输出**,请勿在脚本中依赖(不要用 `jq .is_synced`)。
278
+
279
+ ### 状态枚举
280
+
281
+ | 状态值 | 含义 |
282
+ |--------|------|
283
+ | `unauth` | Git 平台未授权 |
284
+ | `not-bound` | 已授权但未绑定仓库 |
285
+ | `bound` | 已绑定仓库 |
@@ -0,0 +1,117 @@
1
+ # code skill commands
2
+
3
+ > **前置条件:** 先阅读 [`../../SKILL.md`](../../SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 技能管理命令。用于管理项目默认会话挂载的技能,以及上传/删除个人技能。
6
+
7
+ > **语义区分(重要):**
8
+ > - `add` / `remove`:对项目**默认会话**挂载或解绑技能,不创建/删除技能本体。
9
+ > - `delete`:**永久删除个人技能本体**(与 `remove` 不同)。
10
+ > - `upload`:上传本地 `.skill` 文件为个人技能,命名冲突时**自动确认覆盖**。
11
+
12
+ ## 命令概览
13
+
14
+ | 命令 | 说明 |
15
+ |------|------|
16
+ | `coze code skill list -p <id>` | 列出项目可用技能(含 `is_installed` 安装状态) |
17
+ | `coze code skill add <skill-id> -p <id>` | 将技能挂载到默认会话 |
18
+ | `coze code skill remove <skill-id> -p <id>` | 从默认会话解绑技能 |
19
+ | `coze code skill upload <file> -p <id>` | 上传 `.skill` 文件为个人技能 |
20
+ | `coze code skill delete <skill-id> -p <id>` | 永久删除个人技能本体 |
21
+
22
+ ### 共享参数
23
+
24
+ | 参数 | 必填 | 说明 |
25
+ |------|------|------|
26
+ | `-p` / `--project-id` | 是 | 项目 ID(本命令组**不读取** `COZE_PROJECT_ID` 环境变量) |
27
+
28
+ ---
29
+
30
+ ## skill list
31
+
32
+ 列出指定项目类型下所有可用技能,并标注 `is_installed`(是否已挂载到默认会话)。
33
+
34
+ ### 参数
35
+
36
+ | 参数 | 必填 | 说明 |
37
+ |------|------|------|
38
+ | `-p` / `--project-id` | 是 | 项目 ID |
39
+ | `--space-id <spaceId>` | 否 | 空间 ID(缺省读取配置) |
40
+ | `--my` | 否 | 仅列出个人技能(此模式无需 spaceId,`is_installed` 恒为 false) |
41
+ | `--page <page>` | 否 | 页码(个人技能,默认 1) |
42
+ | `--size <size>` | 否 | 每页数量(个人技能,默认 20) |
43
+
44
+ ### 推荐命令模板
45
+
46
+ ```bash
47
+ coze code skill list -p <project-id>
48
+ coze code skill list -p <project-id> --my --page 1 --size 10
49
+ ```
50
+
51
+ ---
52
+
53
+ ## skill add
54
+
55
+ 将指定技能挂载到项目默认会话(`is_preload: true`)。
56
+
57
+ ### 参数
58
+
59
+ | 参数 | 必填 | 说明 |
60
+ |------|------|------|
61
+ | `<skill-id>` | 是 | 技能 ID(位置参数) |
62
+ | `-p` / `--project-id` | 是 | 项目 ID |
63
+
64
+ ```bash
65
+ coze code skill add <skill-id> -p <project-id>
66
+ ```
67
+
68
+ ---
69
+
70
+ ## skill remove
71
+
72
+ 从项目默认会话解绑技能(不删除技能本体)。
73
+
74
+ ### 参数
75
+
76
+ | 参数 | 必填 | 说明 |
77
+ |------|------|------|
78
+ | `<skill-id>` | 是 | 技能 ID(位置参数) |
79
+ | `-p` / `--project-id` | 是 | 项目 ID |
80
+
81
+ ```bash
82
+ coze code skill remove <skill-id> -p <project-id>
83
+ ```
84
+
85
+ ---
86
+
87
+ ## skill upload
88
+
89
+ 上传本地 `.skill` 文件为个人技能。仅校验文件存在;若与已有技能命名冲突,会自动取 `preview_skill_key` 确认覆盖(无交互)。
90
+
91
+ ### 参数
92
+
93
+ | 参数 | 必填 | 说明 |
94
+ |------|------|------|
95
+ | `<filePath>` | 是 | 本地 `.skill` 文件路径(位置参数) |
96
+ | `-p` / `--project-id` | 是 | 项目 ID |
97
+
98
+ ```bash
99
+ coze code skill upload "./my-skill.skill" -p <project-id>
100
+ ```
101
+
102
+ ---
103
+
104
+ ## skill delete
105
+
106
+ 永久删除个人技能本体(不可恢复,区别于仅解绑的 `remove`)。
107
+
108
+ ### 参数
109
+
110
+ | 参数 | 必填 | 说明 |
111
+ |------|------|------|
112
+ | `<skill-id>` | 是 | 技能 ID(位置参数) |
113
+ | `-p` / `--project-id` | 是 | 项目 ID(仅用于回显,删除本体不依赖它) |
114
+
115
+ ```bash
116
+ coze code skill delete <skill-id> -p <project-id>
117
+ ```
@@ -0,0 +1,47 @@
1
+ # code tools commands
2
+
3
+ > **前置条件:** 先阅读 [`../../SKILL.md`](../../SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 工具管理命令。用于管理项目**默认会话**启用的工具(如联网搜索、图片生成等,会话维度)。
6
+
7
+ ## 命令概览
8
+
9
+ | 命令 | 说明 |
10
+ |------|------|
11
+ | `coze code tools list -p <id>` | 列出可用工具及启用状态 |
12
+ | `coze code tools enable <toolName> -p <id>` | 在默认会话启用某工具 |
13
+ | `coze code tools disable <toolName> -p <id>` | 在默认会话禁用某工具 |
14
+
15
+ ### 共享参数
16
+
17
+ | 参数 | 必填 | 说明 |
18
+ |------|------|------|
19
+ | `-p` / `--project-id` | 是 | 项目 ID |
20
+
21
+ ---
22
+
23
+ ## tools list
24
+
25
+ 列出指定项目类型下所有可用工具,`enabled` 字段标注当前默认会话是否启用。
26
+
27
+ ```bash
28
+ coze code tools list -p <project-id>
29
+ ```
30
+
31
+ ---
32
+
33
+ ## tools enable / disable
34
+
35
+ 启用或禁用默认会话中的某个工具。会先校验 `toolName` 是否属于该项目类型的可用工具,不可用报 `E1000`;随后合并更新默认会话的 `agent_tools`(enable 置 `true`,disable 置 `false`)。
36
+
37
+ ### 参数
38
+
39
+ | 参数 | 必填 | 说明 |
40
+ |------|------|------|
41
+ | `<toolName>` | 是 | 工具名(位置参数,如 `enable_image_gen`) |
42
+ | `-p` / `--project-id` | 是 | 项目 ID |
43
+
44
+ ```bash
45
+ coze code tools enable enable_image_gen -p <project-id>
46
+ coze code tools disable enable_image_gen -p <project-id>
47
+ ```
@@ -0,0 +1,46 @@
1
+ ---
2
+ name: coze-file
3
+ version: 0.2.0-alpha.bdb5d3
4
+ description: "Coze 文件操作:上传本地文件获取在线访问地址。当用户需要上传文件、或将本地生成的文件转换为在线可访问链接时触发。"
5
+ metadata:
6
+ requires:
7
+ bins: ["coze"]
8
+ cliHelp: "coze file --help"
9
+ ---
10
+
11
+ # Coze 文件操作
12
+
13
+ > **前置条件:** 先阅读 [`../SKILL.md`](../SKILL.md) 完成认证。
14
+
15
+ ## 核心用途
16
+
17
+ - 为 `coze generate` 产生的本地媒体文件(音频/图片/视频)提供在线访问地址
18
+ - 上传用户提供的本地文件供 Coze 项目中使用
19
+
20
+ ## 命令索引
21
+
22
+ | 意图 | 推荐命令 | Reference |
23
+ |------|---------|-----------|
24
+ | 上传本地文件 | `coze file upload <path>` | [coze-file-upload.md](references/coze-file-upload.md) |
25
+
26
+ ## 关键规则
27
+
28
+ - 上传的文件有大小限制(默认 **512MB**)
29
+ - 返回值中 `url` 是在线访问地址(优先返回给用户),`uri` 仅作为内部标识
30
+ - 使用 `--format json` 获取结构化输出
31
+
32
+ ## 典型使用场景
33
+
34
+ ### 场景 1:媒体生成后的交付闭环
35
+
36
+ ```
37
+ coze generate audio "文本" --output-path /tmp/coze-audio
38
+ → coze file upload /tmp/coze-audio/output.mp3
39
+ → 返回 url 给用户
40
+ ```
41
+
42
+ ### 场景 2:上传用户自定义文件
43
+
44
+ ```bash
45
+ coze file upload ./my-document.pdf --format json
46
+ ```
@@ -0,0 +1,59 @@
1
+ # file upload
2
+
3
+ > **前置条件:** 先阅读 [`../../SKILL.md`](../../SKILL.md) 了解认证、全局参数和安全规则。
4
+
5
+ 上传本地文件到 Coze,获取在线可访问地址。这是媒体生成交付闭环的关键环节。
6
+
7
+ ## 命令概述
8
+
9
+ ```bash
10
+ coze file upload <file-path> [options]
11
+ ```
12
+
13
+ - 业务类型:`cli_attachment`(保存 7 天)
14
+ - 将本地文件上传至对象存储,返回可公开访问的 URL
15
+
16
+ ## 参数
17
+
18
+ | 参数 | 必填 | 说明 |
19
+ |------|------|------|
20
+ | `<file-path>` | 是 | 本地文件路径(位置参数) |
21
+ | `--format` | 否 | 输出格式:`text` / `json` |
22
+
23
+ ## 返回值结构
24
+
25
+ `--format json` 时:
26
+
27
+ ```json
28
+ {
29
+ "url": "https://xxx.coze.cn/...", // 在线访问地址 → 优先返回给用户!
30
+ "uri": "cos://xxx/..." // 内部标识,仅作内部引用
31
+ }
32
+ ```
33
+
34
+ **关键区分**:
35
+ - `url`:用户可直接在浏览器打开的 HTTPS 地址 → **交付给用户时用这个**
36
+ - `uri`:内部存储路径标识 → 不对外暴露
37
+
38
+ ## 推荐命令模板
39
+
40
+ ```bash
41
+ # 上传单个文件
42
+ coze file upload /tmp/coze-audio/output.mp3 --format json
43
+
44
+ # 上传图片
45
+ coze file upload /tmp/coze-image/generated.png --format json
46
+
47
+ # 上传视频
48
+ coze file upload /tmp/coze-video/output.mp4 --format json
49
+
50
+ # 上传用户自定义文件
51
+ coze file upload ./document.pdf --format json
52
+ ```
53
+
54
+ ## 注意事项
55
+
56
+ - **文件大小限制**:默认 512MB,超出会报错
57
+ - `<file-path>` 必须是有效的本地文件路径(不支持目录)
58
+ - 文件保存期限为 **7 天**
59
+ - 上传成功后务必将 `url`(不是 `uri`)返回给用户
@@ -0,0 +1,84 @@
1
+ ---
2
+ name: coze-generate
3
+ version: 0.2.0-alpha.bdb5d3
4
+ description: "Coze 媒体生成:文本生成图片、文本转语音(TTS)、视频生成。当用户需要使用 coze generate image/audio/video 生成音频、图片或视频时触发。"
5
+ metadata:
6
+ requires:
7
+ bins: ["coze"]
8
+ cliHelp: "coze generate --help"
9
+ ---
10
+
11
+ # Coze 媒体生成
12
+
13
+ > **前置条件:** 先阅读 [`../SKILL.md`](../SKILL.md) 完成认证。
14
+ > **执行前必做:** 执行任何 `generate` 命令前,必须先阅读对应媒体的 reference 文档,再调用命令。
15
+
16
+ ## 统一交付闭环(核心规则)
17
+
18
+ 只要通过 `coze generate` 产出了本地文件,就进入固定闭环:
19
+
20
+ ```
21
+ 生成本地文件 → coze file upload → 返回在线 URL
22
+ ```
23
+
24
+ - 该规则适用于**音频、图片、视频**所有媒体类型
25
+ - 禁止返回本地路径给用户(`/tmp/...` 对用户不可访问)
26
+ - 优先使用 `url` 而非 `uri` 作为交付链接
27
+
28
+ 详细上传用法参见 [`../coze-file/references/coze-file-upload.md`](../coze-file/references/coze-file-upload.md)。
29
+
30
+ ## 三种媒体对比总览
31
+
32
+ | 维度 | image (图片) | audio (语音) | video (视频) |
33
+ |------|-------------|-------------|-------------|
34
+ | 命令 | `coze generate image` | `coze generate audio` | `coze generate video create` |
35
+ | 同步/异步 | **同步返回** | **SSE 流式输出** | **异步任务** |
36
+ | 输出路径 | `--output-path` (目录) | `--output-path` (目录) | `--output-path` (目录) |
37
+ | 必须带 --output-path | 推荐 | **必须** | 推荐(配合 --wait) |
38
+ | 轮询机制 | 无 | 无 | `create` → `status` 或 `--wait` |
39
+ | 默认格式 | url | mp3 | — |
40
+
41
+ ## Agent 禁止行为
42
+
43
+ - **不要只执行裸命令不带 `--output-path`**(尤其是 audio!裸命令可能不保存文件)
44
+ - **不要把请求信息/元数据误判为最终结果**
45
+ - **不要把 `--output-path` 当成最终文件名**(它是一个保存目录)
46
+ - **不要在视频生成后不轮询 status 就声称完成**
47
+ - **不要把本地路径发给用户**
48
+
49
+ ## 意图 → 命令索引
50
+
51
+ | 意图 | 推荐命令 | Reference |
52
+ |------|---------|-----------|
53
+ | 生成图片 | `coze generate image` | [coze-generate-image.md](references/coze-generate-image.md) |
54
+ | 语音合成(TTS) | `coze generate audio` | [coze-generate-audio.md](references/coze-generate-audio.md) |
55
+ | 创建视频任务 | `coze generate video create` | [coze-generate-video.md](references/coze-generate-video.md) |
56
+ | 查询视频状态 | `coze generate video status <taskId>` | [coze-generate-video.md](references/coze-generate-video.md) |
57
+
58
+ ## Reference 导航
59
+
60
+ | 文件 | 说明 |
61
+ |------|------|
62
+ | [coze-generate-image.md](references/coze-generate-image.md) | 图片生成详细参数与工作流 |
63
+ | [coze-generate-audio.md](references/coze-generate-audio.md) | 音频/TTS 详细参数与工作流(含 SSE 流式说明) |
64
+ | [coze-generate-video.md](references/coze-generate-video.md) | 视频异步任务模型详解(create + status) |
65
+
66
+ ## 长耗时任务处理
67
+
68
+ | 命令 | 轮询间隔 | 说明 |
69
+ |------|----------|------|
70
+ | `coze generate video create --wait` | 2 秒 | 等待视频生成完成,5 分钟超时 |
71
+
72
+ 对 `video create` 优先采用 `--wait` 参数让 CLI 自动轮询。超时后返回 taskId 供手动查询。不能只把结果留在本地日志里等待用户追问。
73
+
74
+ ## 常见错误速查(Generate 专用)
75
+
76
+ ### 错误 2:把 `coze generate audio` 的请求信息误判为最终结果
77
+
78
+ - 问题:只拿到了请求元数据,没有拿到用户可访问的音频文件。
79
+ - 修正:给命令增加 `--output-path`,然后检查输出目录中的生成文件。
80
+
81
+ ### 错误 4:误把 `--output-path` 当成最终文件名
82
+
83
+ - 问题:CLI 帮助说明其语义更接近保存目录。
84
+ - 修正:优先传入目录路径(如 `/tmp/coze-audio`),并在生成后从目录中定位实际文件名。