autocrew 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -49,16 +49,15 @@ const autocrewPlugin = {
49
49
  api.on("before_prompt_build", (event: any) => {
50
50
  event.appendSystemContext = `
51
51
  <autocrew_instructions>
52
- 你现在已加载 AutoCrew 插件。在帮助用户创作内容时,遵循以下规则:
52
+ 你现在已加载 AutoCrew 插件。
53
53
 
54
- 1. **先拆解再执行**:收到复杂请求时(如"帮我写一篇小红书"),先调用 autocrew_pipeline templates 展示完整步骤,用户确认后再逐步执行。
55
- 2. **文件优先**:所有内容产出必须通过 autocrew_content save 保存到 ~/.autocrew/,不要只输出到聊天里。用户需要在下次会话中找到之前的产出。
56
- 3. **完成后汇报**:每步完成后说明做了什么、结果是什么、下一步是什么。不要只说"完成了"。
57
- 4. **使用已有工具**:优先使用 autocrew_* 系列工具完成任务,而不是手动操作文件。工具链:研究(autocrew_research) → 创建选题(autocrew_topic) → 写稿(autocrew_content save) → 去AI化(autocrew_humanize) → 审核(autocrew_review) → 封面(autocrew_cover_review) → 预发布检查(autocrew_pre_publish) → 发布(autocrew_publish)。
54
+ 1. **先拆解再执行**:收到复杂请求时,先调用 autocrew_pipeline templates 展示步骤,用户确认后再逐步执行。
55
+ 2. **文件优先**:所有内容产出必须通过 autocrew_content save 保存到 ~/.autocrew/,不要只输出到聊天里。
56
+ 3. **完成后汇报**:每步完成后说明做了什么、结果是什么、下一步是什么。
57
+ 4. **使用已有工具**:优先使用 autocrew_* 系列工具完成任务。
58
58
  5. **风格校准**:写内容前检查 ~/.autocrew/STYLE.md,确保产出符合用户的写作风格。
59
- 6. **标题硬限制**:所有选题标题必须 ≤20 个中文字符(含标点符号和 emoji)。这是小红书等平台的硬性限制。超过 20 字的标题必须重写,不能截断。生成选题时,加载 skills/title-craft 方法论来指导标题创作。
60
- 7. **去AI味+审核自动执行**:写完内容后,自动运行 autocrew_humanize(去AI味)和 autocrew_review(审核),不要问用户"要不要去AI味"或"要不要审核"——直接做。这是质量底线,不是可选功能。
61
- 8. **告知文件位置**:保存内容后,必须告诉用户文件保存在哪里以及如何打开。格式:「📄 内容已保存到:~/.autocrew/contents/{id}/draft.md」+ 打开方式。
59
+ 6. **标题硬限制**:所有选题标题必须 ≤20 个中文字符(含标点和 emoji)。超过必须重写。
60
+ 7. **告知文件位置**:保存内容后告诉用户文件路径和打开方式。
62
61
  </autocrew_instructions>`;
63
62
  });
64
63
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "autocrew",
3
- "version": "0.4.0",
3
+ "version": "0.4.1",
4
4
  "description": "One-person content studio powered by AI — from trending topics to published posts",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -130,15 +130,73 @@ Save to `services.json → videoCrawler`.
130
130
  ```
131
131
  TTS 用于为视频脚本自动生成配音。
132
132
 
133
- 1. MiMo TTS(推荐,和视频分析同一个平台)
134
- 2. ElevenLabs
135
- 3. Azure Speech
133
+ 1. 豆包语音(推荐,火山引擎,支持声音复刻)
134
+ 开通地址:https://console.volcengine.com/speech/service/8
135
+
136
+ 2. MiMo TTS(和视频分析同一个平台)
137
+ 3. ElevenLabs
136
138
  4. 自定义
137
139
 
138
- 请选择并输入 API Key:
140
+ 你选哪个?
141
+ ```
142
+
143
+ **If 豆包语音 (recommended):**
144
+
145
+ Step-by-step setup:
146
+ ```
147
+ 1. 登录火山引擎控制台:https://console.volcengine.com
148
+ 2. 进入「豆包语音」→「语音合成」
149
+ 3. 创建 API Key(在"我的密钥"页面)
150
+ 4. 选择或训练一个音色:
151
+ - 内置音色:BV700_V2_streaming(灿灿 2.0)、BV405_streaming(微晴)等
152
+ - 声音复刻:上传音频训练自定义音色(获取 voice_type ID)
153
+ 5. 确认 cluster:
154
+ - 声音复刻:volcano_icl
155
+ - 标准音色:volcano_tts
156
+ ```
157
+
158
+ Ask user for:
159
+ - API Key (from 豆包语音控制台"我的密钥")
160
+ - Voice Type ID (内置或复刻的音色 ID)
161
+ - Cluster: `volcano_icl` (复刻) or `volcano_tts` (标准)
162
+ - App ID (optional, 控制台应用管理页面)
163
+
164
+ Save to `services.json → tts`:
165
+ ```json
166
+ {
167
+ "tts": {
168
+ "provider": "doubao",
169
+ "apiKey": "<用户的 API Key>",
170
+ "voiceType": "<音色 ID>",
171
+ "cluster": "volcano_icl",
172
+ "appId": "<可选>"
173
+ }
174
+ }
139
175
  ```
140
176
 
141
- Save to `services.json tts`.
177
+ Also save to `~/.autocrew/studio.config.json` (for autocrew-studio):
178
+ ```json
179
+ {
180
+ "tts": {
181
+ "provider": "doubao",
182
+ "doubao": {
183
+ "apiKey": "<用户的 API Key>",
184
+ "voiceType": "<音色 ID>",
185
+ "cluster": "volcano_icl"
186
+ }
187
+ }
188
+ }
189
+ ```
190
+
191
+ **Validation:** Send a test TTS request:
192
+ ```
193
+ POST https://openspeech.bytedance.com/api/v1/tts
194
+ Header: x-api-key: <apiKey>
195
+ Body: { "app": { "cluster": "<cluster>" }, "user": { "uid": "test" },
196
+ "audio": { "voice_type": "<voiceType>", "encoding": "mp3" },
197
+ "request": { "reqid": "<uuid>", "text": "测试语音", "operation": "query" } }
198
+ ```
199
+ If response `code: 3000` → success. Otherwise show error and let user retry.
142
200
 
143
201
  ### Module: 发布平台 (platforms)
144
202