agency-orchestrator 0.3.2 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.en.md +539 -0
- package/README.md +391 -256
- package/dist/cli/compose.d.ts +4 -2
- package/dist/cli/compose.js +35 -39
- package/dist/cli/demo.d.ts +8 -0
- package/dist/cli/demo.js +301 -0
- package/dist/cli.js +47 -10
- package/dist/connectors/claude-code.d.ts +11 -0
- package/dist/connectors/claude-code.js +23 -0
- package/dist/connectors/cli-base.d.ts +16 -0
- package/dist/connectors/cli-base.js +53 -0
- package/dist/connectors/codex-cli.d.ts +11 -0
- package/dist/connectors/codex-cli.js +19 -0
- package/dist/connectors/copilot-cli.d.ts +11 -0
- package/dist/connectors/copilot-cli.js +19 -0
- package/dist/connectors/factory.d.ts +5 -0
- package/dist/connectors/factory.js +42 -0
- package/dist/connectors/gemini-cli.d.ts +11 -0
- package/dist/connectors/gemini-cli.js +19 -0
- package/dist/connectors/ollama.js +1 -1
- package/dist/connectors/openclaw-cli.d.ts +15 -0
- package/dist/connectors/openclaw-cli.js +37 -0
- package/dist/core/parser.js +7 -2
- package/dist/index.d.ts +3 -0
- package/dist/index.js +8 -27
- package/dist/mcp/server.d.ts +1 -0
- package/dist/mcp/server.js +288 -0
- package/dist/types.d.ts +2 -2
- package/examples/sample-code-for-review.md +43 -0
- package/examples/sample-prd.md +31 -0
- package/examples/sample-premise.txt +1 -0
- package/integrations/aider/CONVENTIONS.md +50 -0
- package/integrations/aider/README.md +112 -0
- package/integrations/antigravity/AGENTS.md +1 -1
- package/integrations/antigravity/README.md +2 -2
- package/integrations/claude-code/README.md +27 -11
- package/integrations/codex/README.md +2 -2
- package/integrations/codex/instructions.md +1 -1
- package/integrations/copilot/README.md +111 -0
- package/integrations/copilot/copilot-instructions.md +50 -0
- package/integrations/cursor/README.md +31 -3
- package/integrations/cursor/workflow-runner.mdc +1 -1
- package/integrations/deerflow/README.md +2 -2
- package/integrations/deerflow/SKILL.md +1 -1
- package/integrations/gemini-cli/GEMINI.md +1 -1
- package/integrations/gemini-cli/README.md +2 -2
- package/integrations/kiro/README.md +1 -1
- package/integrations/kiro/ao-workflow-runner.md +1 -1
- package/integrations/openclaw/README.md +2 -2
- package/integrations/opencode/README.md +72 -0
- package/integrations/opencode/instructions.md +50 -0
- package/integrations/qwen/README.md +104 -0
- package/integrations/qwen/ao-workflow-runner.md +50 -0
- package/integrations/trae/README.md +1 -1
- package/integrations/trae/ao-workflow-runner.md +1 -1
- package/integrations/windsurf/.windsurfrules +50 -0
- package/integrations/windsurf/README.md +110 -0
- package/package.json +26 -4
- package/workflows/ai-opinion-article.yaml +122 -0
- package/workflows/content-pipeline.yaml +1 -1
- package/workflows/department-collab/ceo-org-delegation.yaml +189 -0
- package/workflows/dev/pr-review.yaml +20 -10
- package/workflows/dev/tech-design-review.yaml +115 -0
- package/workflows/hr/interview-questions.yaml +108 -0
- package/workflows/legal/contract-review.yaml +106 -0
- package/workflows/marketing/competitor-analysis.yaml +99 -0
- package/workflows/marketing/seo-content-matrix.yaml +98 -0
- package/workflows/marketing/xiaohongshu-content.yaml +103 -0
- package/workflows/ops/weekly-report.yaml +90 -0
- package/workflows/product-review.yaml +56 -21
- package/workflows/story-creation.yaml +48 -33
- package/workflows/strategy/business-plan.yaml +122 -0
- package/README.zh-CN.md +0 -471
package/README.md
CHANGED
|
@@ -1,107 +1,144 @@
|
|
|
1
1
|
# Agency Orchestrator
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**中文** | [English](./README.en.md)
|
|
4
4
|
|
|
5
|
-
>
|
|
5
|
+
> **你已经为 AI 付了月费。为什么跑个工作流还要再掏 API key 的钱?**
|
|
6
6
|
|
|
7
7
|
[](https://github.com/jnMetaCode/agency-orchestrator/actions)
|
|
8
8
|
[](https://www.npmjs.com/package/agency-orchestrator)
|
|
9
9
|
[](./LICENSE)
|
|
10
10
|
[](./CONTRIBUTING.md)
|
|
11
11
|
|
|
12
|
+
**186 个专业 AI 角色 · YAML 零代码编排 · 有会员就能跑 · 免 API key**
|
|
13
|
+
|
|
14
|
+
```
|
|
15
|
+
Claude Max ✓ ChatGPT Plus ✓ GitHub Copilot ✓ Google 账号(免费)✓ Ollama ✓
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
> 觉得有用?请点个 **Star** — 帮助更多人发现这个项目。
|
|
19
|
+
|
|
12
20
|
---
|
|
13
21
|
|
|
14
|
-
##
|
|
22
|
+
## 为什么需要 Agency Orchestrator
|
|
15
23
|
|
|
16
|
-
|
|
24
|
+
**你遇到过这些问题吗?**
|
|
17
25
|
|
|
18
|
-
|
|
26
|
+
- 想让多个 AI 角色协作,但 CrewAI/LangGraph 要写 Python,还要花时间定义每个角色
|
|
27
|
+
- 装好了框架,发现**还要去申请 API key、充值、管额度**
|
|
28
|
+
- 你明明已经有 Claude Max / ChatGPT Plus / Copilot 会员了,却用不上
|
|
29
|
+
|
|
30
|
+
**Agency Orchestrator 的答案:**
|
|
31
|
+
|
|
32
|
+
写一个 YAML 文件 → 186 个专业角色自动协作 → 用你**已有的会员**直接跑。
|
|
33
|
+
|
|
34
|
+
> **行业首创:全球所有多智能体框架(CrewAI / LangGraph / AutoGen / Dify / n8n / Agency Swarm / MetaGPT / Google ADK / OpenAI Agents SDK)都要求 API key。只有 Agency Orchestrator 让你带着订阅来用。**
|
|
35
|
+
|
|
36
|
+
### 30 秒对比
|
|
37
|
+
|
|
38
|
+
```python
|
|
39
|
+
# CrewAI: ~50 行 Python,角色从零写,必须有 API key
|
|
40
|
+
researcher = Agent(role="PM", goal="...", backstory="...(你自己写)...")
|
|
41
|
+
task = Task(description="...", agent=researcher)
|
|
42
|
+
crew = Crew(agents=[researcher], tasks=[task])
|
|
43
|
+
crew.kickoff()
|
|
44
|
+
```
|
|
19
45
|
|
|
20
46
|
```yaml
|
|
47
|
+
# Agency Orchestrator: 10 行 YAML,186 个角色开箱即用,无需 API key
|
|
21
48
|
steps:
|
|
22
49
|
- id: analyze
|
|
23
|
-
role: "product/product-manager"
|
|
24
|
-
task: "
|
|
25
|
-
output: requirements
|
|
26
|
-
|
|
27
|
-
- id: tech_review
|
|
28
|
-
role: "engineering/engineering-software-architect"
|
|
29
|
-
task: "Evaluate feasibility:\n\n{{requirements}}"
|
|
30
|
-
depends_on: [analyze] # auto DAG detection
|
|
50
|
+
role: "product/product-manager" # 现成角色,专业 prompt 已写好
|
|
51
|
+
task: "分析这个 PRD:{{prd_content}}"
|
|
31
52
|
```
|
|
32
53
|
|
|
33
|
-
|
|
54
|
+
| | CrewAI | LangGraph | AutoGen | **Agency Orchestrator** |
|
|
55
|
+
|---|--------|-----------|---------|---------------------|
|
|
56
|
+
| 语言 | Python | Python | Python | **YAML(零代码)** |
|
|
57
|
+
| 角色 | 自己写 | 自己写 | 自己写 | **186 个现成** |
|
|
58
|
+
| API key | 必须 | 必须 | 必须 | **6 种免 API key** |
|
|
59
|
+
| 依赖 | pip + LiteLLM + 几十个包 | pip + LangChain | pip + AutoGen | **npm + 2 个依赖** |
|
|
60
|
+
| 中文角色 | 无 | 无 | 无 | **186 个(44 个中国原创)** |
|
|
61
|
+
| 并行 | Manager 模式 | 手动建图 | 手动 | **DAG 自动检测** |
|
|
62
|
+
| 价格 | 开源 + $25-99/月云版 | 开源 | 开源 | **完全免费** |
|
|
34
63
|
|
|
35
|
-
|
|
36
|
-
|---|--------|-----------|---------------------|
|
|
37
|
-
| Language | Python | Python | **YAML (zero code)** |
|
|
38
|
-
| Roles | Write your own | Write your own | **186 ready-to-use** |
|
|
39
|
-
| Dependencies | pip + LiteLLM + dozens | pip + LangChain | **npm + 2 deps** |
|
|
40
|
-
| Models | LiteLLM | LangChain | **Native: DeepSeek, Claude, OpenAI, Ollama** |
|
|
41
|
-
| Parallelism | Manager mode | Manual graph | **Auto DAG detection** |
|
|
42
|
-
| Branching | None | Manual | **Condition expressions** |
|
|
43
|
-
| Loops | None | Manual | **Declarative loop/exit** |
|
|
44
|
-
| Resume | None | Checkpointers | **Built-in `--resume` + `--from`** |
|
|
45
|
-
| Price | Open-source + $25-99/mo cloud | Open-source | **Completely free** |
|
|
64
|
+
## 3 步开始
|
|
46
65
|
|
|
47
|
-
|
|
66
|
+
### 第 1 步:5 秒体验
|
|
48
67
|
|
|
49
|
-
|
|
68
|
+
```bash
|
|
69
|
+
npx agency-orchestrator demo
|
|
70
|
+
```
|
|
50
71
|
|
|
51
|
-
|
|
72
|
+
4 个 AI 角色协作写小说。无需安装、无需配置、无需 API key。
|
|
73
|
+
|
|
74
|
+
### 第 2 步:用你的会员跑真实工作流
|
|
52
75
|
|
|
53
76
|
```bash
|
|
54
|
-
|
|
55
|
-
npx
|
|
77
|
+
npm install agency-orchestrator
|
|
78
|
+
npx ao init # 下载 186 个 AI 角色
|
|
79
|
+
|
|
80
|
+
# 用你已有的 Claude Max 会员(无需 API key!)
|
|
81
|
+
npx ao run workflows/story-creation.yaml --input premise='一个时间旅行的故事'
|
|
56
82
|
```
|
|
57
83
|
|
|
58
|
-
|
|
84
|
+
只需在 YAML 中写 `provider: "claude-code"`。没有 Claude?用 `gemini-cli`(Google 账号免费)、`copilot-cli`、`codex-cli` 都行。
|
|
59
85
|
|
|
60
|
-
###
|
|
86
|
+
### 第 3 步:在 AI 编程工具中直接说
|
|
61
87
|
|
|
62
88
|
```bash
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
89
|
+
./scripts/install.sh # 一键安装到你的 AI 编程工具
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
然后在 Cursor / Claude Code / Copilot 中直接说:
|
|
93
|
+
|
|
67
94
|
```
|
|
95
|
+
运行 workflows/story-creation.yaml,创意是"一个程序员在凌晨发现AI回复不该知道的事"
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
AI 会自动解析 YAML → 加载角色 → 按 DAG 顺序执行 → 保存结果。
|
|
99
|
+
|
|
100
|
+
**支持 14 个 AI 编程工具**([集成指南](./integrations/)):Claude Code · GitHub Copilot · Cursor · Windsurf · Kiro · Trae · Aider · Gemini CLI · Codex CLI · OpenCode · Qwen Code · DeerFlow 2.0 · Antigravity · OpenClaw
|
|
68
101
|
|
|
69
|
-
##
|
|
102
|
+
## 真实演示:4 个 AI 角色 2 分钟写出完整小说
|
|
70
103
|
|
|
71
104
|
```
|
|
72
|
-
$ ao run workflows/story-creation.yaml -i "premise
|
|
105
|
+
$ ao run workflows/story-creation.yaml -i "premise=一个程序员在凌晨三点发现AI开始回复不该知道的事情"
|
|
73
106
|
|
|
74
|
-
|
|
75
|
-
|
|
107
|
+
工作流: 短篇小说创作
|
|
108
|
+
步骤数: 4 | 并发: 2 | 模型: deepseek-chat
|
|
76
109
|
──────────────────────────────────────────────────
|
|
77
110
|
|
|
78
|
-
── [1/4] story_structure (
|
|
79
|
-
|
|
111
|
+
── [1/4] story_structure (叙事学家) ──
|
|
112
|
+
完成 | 14.9s | 1,919 tokens
|
|
113
|
+
核心冲突:程序员与一个似乎拥有超越其代码权限的自主意识之间的认知对抗...
|
|
80
114
|
|
|
81
|
-
── [2/4] character_design (
|
|
82
|
-
|
|
115
|
+
── [2/4] character_design (心理学家) ── ← 并行执行
|
|
116
|
+
完成 | 65.5s | 4,016 tokens
|
|
117
|
+
人物心理档案:林深——一个信奉逻辑与控制的资深AI工程师...
|
|
83
118
|
|
|
84
|
-
── [3/4] conflict_design (
|
|
85
|
-
|
|
119
|
+
── [3/4] conflict_design (叙事设计师) ── ← 并行执行
|
|
120
|
+
完成 | 65.5s | 3,607 tokens
|
|
121
|
+
凌晨三点,屏幕的冷光映着陈默疲惫的脸...
|
|
86
122
|
|
|
87
|
-
── [4/4] write_story (
|
|
88
|
-
|
|
123
|
+
── [4/4] write_story (内容创作者) ──
|
|
124
|
+
完成 | 33.9s | 5,330 tokens
|
|
125
|
+
凌晨三点,调试日志的蓝色荧光是房间里唯一的光源。陈默灌下今晚第三杯黑咖啡...
|
|
89
126
|
|
|
90
127
|
==================================================
|
|
91
|
-
|
|
128
|
+
完成: 4/4 步 | 114.3s | 14,872 tokens
|
|
92
129
|
==================================================
|
|
93
130
|
```
|
|
94
131
|
|
|
95
|
-
|
|
132
|
+
第 2、3 步**自动并行执行**(从 DAG 依赖关系检测)。4 个专业 AI 角色协作,产出一篇完整的悬疑短篇小说。
|
|
96
133
|
|
|
97
|
-
##
|
|
134
|
+
## 工作原理
|
|
98
135
|
|
|
99
136
|
```yaml
|
|
100
|
-
name: "
|
|
137
|
+
name: "产品需求评审"
|
|
101
138
|
agents_dir: "agency-agents-zh"
|
|
102
139
|
|
|
103
140
|
llm:
|
|
104
|
-
provider: "deepseek"
|
|
141
|
+
provider: "deepseek" # 免 API key: claude-code / gemini-cli / copilot-cli / codex-cli / ollama
|
|
105
142
|
model: "deepseek-chat"
|
|
106
143
|
|
|
107
144
|
concurrency: 2
|
|
@@ -113,300 +150,398 @@ inputs:
|
|
|
113
150
|
steps:
|
|
114
151
|
- id: analyze
|
|
115
152
|
role: "product/product-manager"
|
|
116
|
-
task: "
|
|
153
|
+
task: "分析以下 PRD,提取核心需求:\n\n{{prd_content}}"
|
|
117
154
|
output: requirements
|
|
118
155
|
|
|
119
156
|
- id: tech_review
|
|
120
157
|
role: "engineering/engineering-software-architect"
|
|
121
|
-
task: "
|
|
158
|
+
task: "评估技术可行性:\n\n{{requirements}}"
|
|
122
159
|
output: tech_report
|
|
123
160
|
depends_on: [analyze]
|
|
124
161
|
|
|
125
162
|
- id: design_review
|
|
126
163
|
role: "design/design-ux-researcher"
|
|
127
|
-
task: "
|
|
164
|
+
task: "评估用户体验风险:\n\n{{requirements}}"
|
|
128
165
|
output: design_report
|
|
129
166
|
depends_on: [analyze]
|
|
130
167
|
|
|
131
168
|
- id: summary
|
|
132
169
|
role: "product/product-manager"
|
|
133
|
-
task: "
|
|
170
|
+
task: "综合反馈输出结论:\n\n{{tech_report}}\n\n{{design_report}}"
|
|
134
171
|
depends_on: [tech_review, design_review]
|
|
135
172
|
```
|
|
136
173
|
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
174
|
+
引擎自动:
|
|
175
|
+
|
|
176
|
+
1. 解析 YAML → 构建 **DAG**(有向无环图)
|
|
177
|
+
2. 检测并行 — `tech_review` 和 `design_review` 并发执行
|
|
178
|
+
3. 通过 `{{变量}}` 在步骤间传递输出
|
|
179
|
+
4. 从 [agency-agents-zh](https://github.com/jnMetaCode/agency-agents-zh) 加载角色定义作为 system prompt
|
|
180
|
+
5. 失败自动重试(指数退避)
|
|
181
|
+
6. 保存所有输出到 `ao-output/`
|
|
144
182
|
|
|
145
183
|
```
|
|
146
184
|
analyze ──→ tech_review ──→ summary
|
|
147
185
|
└→ design_review ──┘
|
|
148
|
-
(
|
|
186
|
+
(并行)
|
|
149
187
|
```
|
|
150
188
|
|
|
151
|
-
##
|
|
189
|
+
## 9 种 LLM — 6 种不需要 API key
|
|
190
|
+
|
|
191
|
+
**你已经有这些会员了吧?直接就能跑:**
|
|
152
192
|
|
|
153
|
-
|
|
193
|
+
| 你有... | YAML 配置 | 安装 CLI | 额外费用 |
|
|
194
|
+
|---------|----------|---------|---------|
|
|
195
|
+
| Claude Max/Pro($20/月) | `provider: "claude-code"` | `npm i -g @anthropic-ai/claude-code` | **不花钱** |
|
|
196
|
+
| Google 账号 | `provider: "gemini-cli"` | `npm i -g @google/gemini-cli` | **免费**(1000 次/天,Gemini 2.5 Pro) |
|
|
197
|
+
| GitHub Copilot($10/月) | `provider: "copilot-cli"` | `npm i -g @github/copilot` | **不花钱** |
|
|
198
|
+
| ChatGPT Plus/Pro($20/月) | `provider: "codex-cli"` | `npm i -g @openai/codex` | **不花钱** |
|
|
199
|
+
| OpenClaw 账号 | `provider: "openclaw-cli"` | `npm i -g openclaw` | **不花钱** |
|
|
200
|
+
| 一台电脑 | `provider: "ollama"` | [ollama.ai](https://ollama.ai) | **免费**(本地模型) |
|
|
154
201
|
|
|
155
|
-
|
|
202
|
+
**也支持传统 API key:**
|
|
203
|
+
|
|
204
|
+
| 提供商 | 配置 | 环境变量 |
|
|
205
|
+
|--------|------|---------|
|
|
206
|
+
| DeepSeek | `provider: "deepseek"` | `DEEPSEEK_API_KEY` |
|
|
207
|
+
| Claude API | `provider: "claude"` | `ANTHROPIC_API_KEY` |
|
|
208
|
+
| OpenAI | `provider: "openai"` | `OPENAI_API_KEY` |
|
|
209
|
+
|
|
210
|
+
所有 API 提供商支持自定义 `base_url` 和 `api_key`,兼容智谱、月之暗面等 OpenAI 兼容 API。
|
|
211
|
+
|
|
212
|
+
## CLI 命令
|
|
156
213
|
|
|
157
214
|
```bash
|
|
158
|
-
ao
|
|
215
|
+
ao demo # 零配置体验多智能体协作
|
|
216
|
+
ao init # 下载 186 个 AI 角色
|
|
217
|
+
ao init --workflow # 交互式创建工作流
|
|
218
|
+
ao compose "一句话描述" # AI 智能编排工作流
|
|
219
|
+
ao run <workflow.yaml> [选项] # 执行工作流
|
|
220
|
+
ao validate <workflow.yaml> # 校验(不执行)
|
|
221
|
+
ao plan <workflow.yaml> # 查看执行计划(DAG)
|
|
222
|
+
ao explain <workflow.yaml> # 用自然语言解释执行计划
|
|
223
|
+
ao roles # 列出所有角色
|
|
224
|
+
ao serve # 启动 MCP Server(供 Claude Code / Cursor 调用)
|
|
159
225
|
```
|
|
160
226
|
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
227
|
+
| 参数 | 说明 |
|
|
228
|
+
|------|------|
|
|
229
|
+
| `--input key=value` | 传入输入变量 |
|
|
230
|
+
| `--input key=@file` | 从文件读取变量值 |
|
|
231
|
+
| `--output dir` | 输出目录(默认 `ao-output/`) |
|
|
232
|
+
| `--resume <dir\|last>` | 从上次运行恢复(加载已完成步骤的输出) |
|
|
233
|
+
| `--from <step-id>` | 配合 `--resume`,从指定步骤重新执行 |
|
|
234
|
+
| `--watch` | 实时终端进度显示 |
|
|
235
|
+
| `--quiet` | 静默模式 |
|
|
166
236
|
|
|
167
|
-
|
|
237
|
+
### AI 智能编排(Compose)
|
|
168
238
|
|
|
169
|
-
|
|
239
|
+
一句话描述需求,AI 自动从 186 个角色中选角色、设计 DAG、生成完整 workflow YAML:
|
|
170
240
|
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
task: "Technical evaluation: {{requirements}}"
|
|
175
|
-
depends_on: [classify]
|
|
176
|
-
condition: "{{job_type}} contains technical"
|
|
241
|
+
```bash
|
|
242
|
+
ao compose "PR 代码审查,要覆盖安全和性能"
|
|
243
|
+
```
|
|
177
244
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
245
|
+
AI 会自动:
|
|
246
|
+
1. 从 186 角色中匹配出 Code Reviewer、Security Engineer、Performance Benchmarker
|
|
247
|
+
2. 设计 DAG(三路并行 → 汇总)
|
|
248
|
+
3. 生成带 `depends_on`、变量串联的完整 YAML
|
|
249
|
+
4. 保存到 `workflows/` — 直接 `ao run` 就能跑
|
|
183
250
|
|
|
184
|
-
|
|
185
|
-
depends_on: [tech_path, biz_path]
|
|
186
|
-
depends_on_mode: "any_completed" # proceeds when ANY upstream completes
|
|
187
|
-
```
|
|
251
|
+
支持 `--provider` 和 `--model` 参数(默认使用 DeepSeek)。
|
|
188
252
|
|
|
189
|
-
|
|
253
|
+
### 迭代优化(Resume)
|
|
190
254
|
|
|
191
|
-
|
|
255
|
+
**问题**:`ao run` 跑完一轮后,所有步骤的输出都丢了。想基于叙事学家的结构重写小说,只能整个工作流从头跑。
|
|
192
256
|
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
task: "Write article: {{topic}}"
|
|
197
|
-
output: draft
|
|
257
|
+
**解决**:`--resume` 会自动加载上一轮所有步骤的输出,`--from` 指定从哪步开始重跑。之前的步骤直接用缓存结果,不会重新执行。
|
|
258
|
+
|
|
259
|
+
#### 完整示例:小说创作 4 轮迭代
|
|
198
260
|
|
|
199
|
-
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
261
|
+
以 `story-creation.yaml` 为例,DAG 结构如下:
|
|
262
|
+
|
|
263
|
+
```
|
|
264
|
+
story_structure ──→ character_design ──→ write_story
|
|
265
|
+
└→ conflict_design ──┘
|
|
266
|
+
(并行)
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
**第一轮:正常运行**
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
ao run workflows/story-creation.yaml \
|
|
273
|
+
-i premise='一个程序员在凌晨三点发现AI开始回复不该知道的事情'
|
|
208
274
|
```
|
|
209
275
|
|
|
210
|
-
|
|
276
|
+
运行完后,每步输出保存在 `ao-output/` 下:
|
|
211
277
|
|
|
212
|
-
|
|
278
|
+
```
|
|
279
|
+
ao-output/短篇小说创作-2026-03-24T14-30-00/
|
|
280
|
+
├── summary.md ← 最终小说
|
|
281
|
+
├── metadata.json ← 每步状态 + 变量映射
|
|
282
|
+
├── steps/
|
|
283
|
+
│ ├── 1-story_structure.md ← 叙事学家的结构设计
|
|
284
|
+
│ ├── 2-character_design.md ← 心理学家的人物设定
|
|
285
|
+
│ ├── 3-conflict_design.md ← 叙事设计师的冲突场景
|
|
286
|
+
│ └── 4-write_story.md ← 最终小说
|
|
287
|
+
```
|
|
213
288
|
|
|
214
|
-
|
|
289
|
+
打开这些文件看每步输出,觉得哪里不满意就重跑那步。
|
|
215
290
|
|
|
216
|
-
|
|
291
|
+
**第二轮:人物太单薄,从人物设计开始重跑**
|
|
217
292
|
|
|
218
293
|
```bash
|
|
219
|
-
# Round 1: Normal run
|
|
220
|
-
ao run workflows/story-creation.yaml -i premise="A time travel story"
|
|
221
|
-
|
|
222
|
-
# Round 2: Characters feel flat — re-run from character_design
|
|
223
294
|
ao run workflows/story-creation.yaml --resume last --from character_design
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
- `--resume last`:自动找到最近一次输出
|
|
298
|
+
- `--from character_design`:从人物设计开始重跑
|
|
299
|
+
- `story_structure` 的输出(叙事结构)直接复用,不重新执行
|
|
300
|
+
- `character_design` → `conflict_design` → `write_story` 重新执行
|
|
301
|
+
- 新的输出保存到新的时间戳目录
|
|
302
|
+
|
|
303
|
+
**第三轮:结构和人物都好,只改最终写作**
|
|
224
304
|
|
|
225
|
-
|
|
305
|
+
```bash
|
|
226
306
|
ao run workflows/story-creation.yaml --resume last --from write_story
|
|
307
|
+
```
|
|
227
308
|
|
|
228
|
-
|
|
229
|
-
|
|
309
|
+
只重跑最后一步。叙事结构、人物设定、冲突设计全部复用,只让内容创作者重写。
|
|
310
|
+
|
|
311
|
+
**第四轮:想回到第二轮的版本继续改**
|
|
312
|
+
|
|
313
|
+
```bash
|
|
314
|
+
ao run workflows/story-creation.yaml \
|
|
315
|
+
--resume ao-output/短篇小说创作-2026-03-24T14-35-00/ \
|
|
316
|
+
--from write_story
|
|
230
317
|
```
|
|
231
318
|
|
|
232
|
-
|
|
319
|
+
指定具体目录,基于那个版本继续迭代。
|
|
233
320
|
|
|
234
|
-
|
|
235
|
-
|----------|---------|
|
|
236
|
-
| First run | `ao run workflow.yaml -i key=value` |
|
|
237
|
-
| Re-run from a step | `ao run workflow.yaml --resume last --from <step-id>` |
|
|
238
|
-
| Re-run only failed steps | `ao run workflow.yaml --resume last` |
|
|
239
|
-
| Resume specific version | `ao run workflow.yaml --resume .ao-output/<dir>/ --from <step-id>` |
|
|
321
|
+
#### 所有历史版本都保留
|
|
240
322
|
|
|
241
|
-
|
|
323
|
+
```bash
|
|
324
|
+
ls ao-output/
|
|
325
|
+
# 短篇小说创作-2026-03-24T14-30-00/ ← 第一轮
|
|
326
|
+
# 短篇小说创作-2026-03-24T14-35-00/ ← 第二轮
|
|
327
|
+
# 短篇小说创作-2026-03-24T14-38-00/ ← 第三轮
|
|
328
|
+
# 短篇小说创作-2026-03-24T14-40-00/ ← 第四轮
|
|
329
|
+
```
|
|
242
330
|
|
|
243
|
-
|
|
244
|
-
|----------|--------|-------------|
|
|
245
|
-
| **DeepSeek** | `provider: "deepseek"` | `DEEPSEEK_API_KEY` |
|
|
246
|
-
| **Claude** | `provider: "claude"` | `ANTHROPIC_API_KEY` |
|
|
247
|
-
| **OpenAI** | `provider: "openai"` | `OPENAI_API_KEY` |
|
|
248
|
-
| **Ollama** (local) | `provider: "ollama"` | None needed |
|
|
331
|
+
#### 用法速查
|
|
249
332
|
|
|
250
|
-
|
|
333
|
+
| 场景 | 命令 |
|
|
334
|
+
|------|------|
|
|
335
|
+
| 第一次运行 | `ao run workflow.yaml -i key=value` |
|
|
336
|
+
| 从某步重跑(基于上次结果) | `ao run workflow.yaml --resume last --from <步骤ID>` |
|
|
337
|
+
| 只重跑失败的步骤 | `ao run workflow.yaml --resume last` |
|
|
338
|
+
| 基于指定版本重跑 | `ao run workflow.yaml --resume ao-output/具体目录/ --from <步骤ID>` |
|
|
251
339
|
|
|
252
|
-
|
|
340
|
+
#### 原理
|
|
253
341
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
ao run <workflow.yaml> [options] # Execute workflow
|
|
259
|
-
ao validate <workflow.yaml> # Validate without running
|
|
260
|
-
ao plan <workflow.yaml> # Show execution plan (DAG)
|
|
261
|
-
ao explain <workflow.yaml> # Explain execution plan in natural language
|
|
262
|
-
ao roles # List all available roles
|
|
263
|
-
```
|
|
264
|
-
|
|
265
|
-
| Option | Description |
|
|
266
|
-
|--------|-------------|
|
|
267
|
-
| `--input key=value` | Pass input variables |
|
|
268
|
-
| `--input key=@file` | Read variable value from file |
|
|
269
|
-
| `--output dir` | Output directory (default `.ao-output/`) |
|
|
270
|
-
| `--resume <dir\|last>` | Resume from previous run |
|
|
271
|
-
| `--from <step-id>` | With `--resume`, restart from a specific step |
|
|
272
|
-
| `--watch` | Real-time terminal progress display |
|
|
273
|
-
| `--quiet` | Quiet mode |
|
|
342
|
+
`--resume` 做了三件事:
|
|
343
|
+
1. 读取指定目录的 `metadata.json`,获取每步的状态和输出变量名
|
|
344
|
+
2. 从 `steps/` 目录读取已完成步骤的输出内容,注入回 `{{变量}}` 上下文
|
|
345
|
+
3. 标记 `--from` 之前的步骤为"已完成",跳过执行
|
|
274
346
|
|
|
275
|
-
|
|
347
|
+
智能体结构(角色分工、DAG 依赖、变量传递)不会丢失 — 它定义在 YAML 里,每次都会重新加载。丢失的只是上一轮的**输出内容**,`--resume` 就是把这些内容恢复回来。
|
|
276
348
|
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
| Field | Type | Required | Description |
|
|
280
|
-
|-------|------|----------|-------------|
|
|
281
|
-
| `name` | string | Yes | Workflow name |
|
|
282
|
-
| `agents_dir` | string | Yes | Path to role definitions directory |
|
|
283
|
-
| `llm.provider` | string | Yes | `claude` / `deepseek` / `openai` / `ollama` |
|
|
284
|
-
| `llm.model` | string | Yes | Model name |
|
|
285
|
-
| `llm.max_tokens` | number | No | Default 4096 |
|
|
286
|
-
| `llm.timeout` | number | No | Step timeout in ms (default 120000) |
|
|
287
|
-
| `llm.retry` | number | No | Retry count (default 3) |
|
|
288
|
-
| `concurrency` | number | No | Max parallel steps (default 2) |
|
|
289
|
-
| `inputs` | array | No | Input variable definitions |
|
|
290
|
-
| `steps` | array | Yes | Workflow steps |
|
|
291
|
-
|
|
292
|
-
### Step
|
|
293
|
-
|
|
294
|
-
| Field | Type | Required | Description |
|
|
295
|
-
|-------|------|----------|-------------|
|
|
296
|
-
| `id` | string | Yes | Unique step identifier |
|
|
297
|
-
| `role` | string | Yes | Role path (e.g. `"engineering/engineering-sre"`) |
|
|
298
|
-
| `task` | string | Yes | Task description, supports `{{variables}}` |
|
|
299
|
-
| `output` | string | No | Output variable name |
|
|
300
|
-
| `depends_on` | string[] | No | Dependent step IDs |
|
|
301
|
-
| `depends_on_mode` | string | No | `"all"` (default) or `"any_completed"` |
|
|
302
|
-
| `condition` | string | No | Condition expression; step skipped if not met |
|
|
303
|
-
| `type` | string | No | `"approval"` for human approval gate |
|
|
304
|
-
| `prompt` | string | No | Prompt text for approval nodes |
|
|
305
|
-
| `loop` | object | No | Loop config |
|
|
306
|
-
| `loop.back_to` | string | No | Step ID to loop back to |
|
|
307
|
-
| `loop.max_iterations` | number | No | Max loop rounds (1-10) |
|
|
308
|
-
| `loop.exit_condition` | string | No | Exit condition expression |
|
|
309
|
-
|
|
310
|
-
## Programmatic API
|
|
349
|
+
## 编程 API
|
|
311
350
|
|
|
312
351
|
```typescript
|
|
313
352
|
import { run } from 'agency-orchestrator';
|
|
314
353
|
|
|
315
354
|
const result = await run('workflow.yaml', {
|
|
316
|
-
prd_content: '
|
|
355
|
+
prd_content: '你的 PRD 内容...',
|
|
317
356
|
});
|
|
318
357
|
|
|
319
358
|
console.log(result.success); // true/false
|
|
320
359
|
console.log(result.totalTokens); // { input: 1234, output: 5678 }
|
|
321
360
|
```
|
|
322
361
|
|
|
323
|
-
##
|
|
324
|
-
|
|
325
|
-
Works with **9 AI coding tools** — each tool gets a workflow-runner skill file:
|
|
326
|
-
|
|
327
|
-
| Tool | Integration | Docs |
|
|
328
|
-
|------|------------|------|
|
|
329
|
-
| **Claude Code** | Skill mode / CLI | [Guide](./integrations/claude-code/) |
|
|
330
|
-
| **Cursor** | `.cursor/rules` | [Guide](./integrations/cursor/) |
|
|
331
|
-
| **Kiro** | `.kiro/steering` | [Guide](./integrations/kiro/) |
|
|
332
|
-
| **Trae** | `.trae/rules` | [Guide](./integrations/trae/) |
|
|
333
|
-
| **Gemini CLI** | `GEMINI.md` | [Guide](./integrations/gemini-cli/) |
|
|
334
|
-
| **Codex CLI** | `.codex/instructions` | [Guide](./integrations/codex/) |
|
|
335
|
-
| **DeerFlow 2.0** | `skills/custom` | [Guide](./integrations/deerflow/) |
|
|
336
|
-
| **Antigravity** | `AGENTS.md` | [Guide](./integrations/antigravity/) |
|
|
337
|
-
| **OpenClaw** | Skill mode / CLI | [Guide](./integrations/openclaw/) |
|
|
362
|
+
## MCP Server 模式
|
|
338
363
|
|
|
339
|
-
|
|
364
|
+
AI 编程工具(Claude Code、Cursor 等)可通过 MCP 协议直接调用工作流操作,无需手动集成:
|
|
340
365
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
| `dev/pr-review.yaml` | Code Reviewer, Security Engineer, Performance Benchmarker | PR review (3-way parallel → summary) |
|
|
346
|
-
| `dev/tech-debt-audit.yaml` | Architect, Code Reviewer, Test Analyst, Sprint Prioritizer | Tech debt audit (parallel → prioritize) |
|
|
347
|
-
| `dev/api-doc-gen.yaml` | Tech Writer, API Tester | API doc generation (analyze → validate → finalize) |
|
|
348
|
-
| `dev/readme-i18n.yaml` | Content Creator, Tech Writer | README internationalization |
|
|
349
|
-
| `dev/security-audit.yaml` | Security Engineer, Threat Detection Engineer | Security audit (parallel → report) |
|
|
350
|
-
| `dev/release-checklist.yaml` | SRE, Performance Benchmarker, Security Engineer, PM | Release Go/No-Go decision |
|
|
351
|
-
|
|
352
|
-
### Data / Design / Ops Workflows
|
|
366
|
+
```bash
|
|
367
|
+
ao serve # 启动 MCP stdio 服务器
|
|
368
|
+
ao serve --verbose # 带调试日志
|
|
369
|
+
```
|
|
353
370
|
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
371
|
+
配置 Claude Code(`settings.json`):
|
|
372
|
+
|
|
373
|
+
```json
|
|
374
|
+
{
|
|
375
|
+
"mcpServers": {
|
|
376
|
+
"agency-orchestrator": {
|
|
377
|
+
"command": "npx",
|
|
378
|
+
"args": ["agency-orchestrator", "serve"]
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
```
|
|
362
383
|
|
|
363
|
-
|
|
384
|
+
配置 Cursor(`.cursor/mcp.json`):
|
|
385
|
+
|
|
386
|
+
```json
|
|
387
|
+
{
|
|
388
|
+
"mcpServers": {
|
|
389
|
+
"agency-orchestrator": {
|
|
390
|
+
"command": "npx",
|
|
391
|
+
"args": ["agency-orchestrator", "serve"]
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
```
|
|
364
396
|
|
|
365
|
-
|
|
366
|
-
|----------|-------|-------------|
|
|
367
|
-
| `product-review.yaml` | PM, Architect, UX Researcher | Product requirements review |
|
|
368
|
-
| `content-pipeline.yaml` | Strategist, Creator, Growth Hacker | Content creation pipeline |
|
|
369
|
-
| `story-creation.yaml` | Narratologist, Psychologist, Narrative Designer, Creator | Collaborative fiction (4 roles) |
|
|
370
|
-
| `department-collab/code-review.yaml` | Code Reviewer, Security Engineer | Code review (review loop) |
|
|
371
|
-
| `department-collab/hiring-pipeline.yaml` | HR, Tech Interviewer, Biz Interviewer | Hiring pipeline |
|
|
372
|
-
| `department-collab/content-publish.yaml` | Content Creator, Brand Guardian | Content publishing (review loop) |
|
|
373
|
-
| `department-collab/incident-response.yaml` | SRE, Security Engineer, Backend Architect | Incident response |
|
|
374
|
-
| `department-collab/marketing-campaign.yaml` | Strategist, Creator, Approver | Marketing campaign (human approval) |
|
|
397
|
+
提供 6 个工具:`run_workflow`、`validate_workflow`、`list_workflows`、`plan_workflow`、`compose_workflow`、`list_roles`。
|
|
375
398
|
|
|
376
|
-
##
|
|
399
|
+
## YAML Schema
|
|
377
400
|
|
|
378
|
-
|
|
401
|
+
### 工作流
|
|
402
|
+
|
|
403
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
404
|
+
|------|------|------|------|
|
|
405
|
+
| `name` | string | 是 | 工作流名称 |
|
|
406
|
+
| `agents_dir` | string | 是 | 角色目录路径 |
|
|
407
|
+
| `llm.provider` | string | 是 | `claude-code` / `gemini-cli` / `copilot-cli` / `codex-cli` / `openclaw-cli` / `ollama` / `claude` / `deepseek` / `openai` |
|
|
408
|
+
| `llm.model` | string | 是 | 模型名称 |
|
|
409
|
+
| `llm.max_tokens` | number | 否 | 默认 4096 |
|
|
410
|
+
| `llm.timeout` | number | 否 | 步骤超时毫秒数(默认 120000) |
|
|
411
|
+
| `llm.retry` | number | 否 | 重试次数(默认 3) |
|
|
412
|
+
| `concurrency` | number | 否 | 最大并行步骤数(默认 2) |
|
|
413
|
+
| `inputs` | array | 否 | 输入变量定义 |
|
|
414
|
+
| `steps` | array | 是 | 工作流步骤 |
|
|
415
|
+
|
|
416
|
+
### 步骤
|
|
417
|
+
|
|
418
|
+
| 字段 | 类型 | 必填 | 说明 |
|
|
419
|
+
|------|------|------|------|
|
|
420
|
+
| `id` | string | 是 | 步骤唯一标识 |
|
|
421
|
+
| `role` | string | 是 | 角色路径(如 `"engineering/engineering-sre"`) |
|
|
422
|
+
| `task` | string | 是 | 任务描述,支持 `{{变量}}` |
|
|
423
|
+
| `output` | string | 否 | 输出变量名 |
|
|
424
|
+
| `depends_on` | string[] | 否 | 依赖的步骤 ID |
|
|
425
|
+
| `depends_on_mode` | string | 否 | `"all"`(默认)或 `"any_completed"`(任一完成即可) |
|
|
426
|
+
| `condition` | string | 否 | 条件表达式,不满足则跳过(如 `"{{var}} contains 技术"`) |
|
|
427
|
+
| `type` | string | 否 | `"approval"` 表示人工审批节点 |
|
|
428
|
+
| `prompt` | string | 否 | 审批节点的提示文本 |
|
|
429
|
+
| `loop` | object | 否 | 循环配置 |
|
|
430
|
+
| `loop.back_to` | string | 否 | 循环回到的步骤 ID |
|
|
431
|
+
| `loop.max_iterations` | number | 否 | 最大循环次数(1-10) |
|
|
432
|
+
| `loop.exit_condition` | string | 否 | 退出条件表达式 |
|
|
433
|
+
|
|
434
|
+
## 输出
|
|
435
|
+
|
|
436
|
+
每次运行保存到 `ao-output/<名称>-<时间戳>/`:
|
|
379
437
|
|
|
380
438
|
```
|
|
381
|
-
|
|
382
|
-
├── summary.md #
|
|
439
|
+
ao-output/产品需求评审-2026-03-22/
|
|
440
|
+
├── summary.md # 最终步骤输出
|
|
383
441
|
├── steps/
|
|
384
442
|
│ ├── 1-analyze.md
|
|
385
443
|
│ ├── 2-tech_review.md
|
|
386
444
|
│ ├── 3-design_review.md
|
|
387
445
|
│ └── 4-summary.md
|
|
388
|
-
└── metadata.json #
|
|
446
|
+
└── metadata.json # 耗时、token 用量、步骤状态
|
|
389
447
|
```
|
|
390
448
|
|
|
391
|
-
##
|
|
449
|
+
## 内置工作流模板(30 个)
|
|
450
|
+
|
|
451
|
+
### 开发类(7 个)
|
|
452
|
+
|
|
453
|
+
| 模板 | 角色 | 说明 |
|
|
454
|
+
|------|------|------|
|
|
455
|
+
| `dev/tech-design-review.yaml` | 架构师、后端架构师、安全工程师、代码审查员 | **技术方案评审**(设计→并行评审→结论) |
|
|
456
|
+
| `dev/pr-review.yaml` | 代码审查员、安全工程师、性能基准师 | PR 评审(3 路并行→汇总) |
|
|
457
|
+
| `dev/tech-debt-audit.yaml` | 架构师、代码审查员、测试分析师、Sprint 排序师 | 技术债务审计(并行→优先级排序) |
|
|
458
|
+
| `dev/api-doc-gen.yaml` | 技术文档工程师、API 测试员 | API 文档生成(分析→验证→定稿) |
|
|
459
|
+
| `dev/readme-i18n.yaml` | 内容创作者、技术文档工程师 | README 国际化 |
|
|
460
|
+
| `dev/security-audit.yaml` | 安全工程师、威胁检测工程师 | 安全审计(并行→报告) |
|
|
461
|
+
| `dev/release-checklist.yaml` | SRE、性能基准师、安全工程师、产品经理 | 发布 Go/No-Go 决策 |
|
|
462
|
+
|
|
463
|
+
### 营销类(3 个)
|
|
464
|
+
|
|
465
|
+
| 模板 | 角色 | 说明 |
|
|
466
|
+
|------|------|------|
|
|
467
|
+
| `marketing/competitor-analysis.yaml` | 趋势研究员、数据分析师、SEO 专家、高管摘要师 | **竞品分析报告**(研究→并行分析→摘要) |
|
|
468
|
+
| `marketing/xiaohongshu-content.yaml` | 小红书专家、内容创作者、视觉叙事师、小红书运营 | **小红书种草笔记**(选题→并行创作→优化) |
|
|
469
|
+
| `marketing/seo-content-matrix.yaml` | SEO 专家、策略师、内容创作者 | **SEO 内容矩阵**(关键词→策略→批量生成→审核) |
|
|
470
|
+
|
|
471
|
+
### 数据 / 设计 / 运维类(7 个)
|
|
472
|
+
|
|
473
|
+
| 模板 | 角色 | 说明 |
|
|
474
|
+
|------|------|------|
|
|
475
|
+
| `data/data-pipeline-review.yaml` | 数据工程师、数据库优化师、数据分析师 | 数据管道评审 |
|
|
476
|
+
| `data/dashboard-design.yaml` | 数据分析师、UX 研究员、UI 设计师 | 仪表盘设计 |
|
|
477
|
+
| `design/requirement-to-plan.yaml` | 产品经理、架构师、项目经理 | 需求→技术设计→任务拆分 |
|
|
478
|
+
| `design/ux-review.yaml` | UX 研究员、无障碍审核员、UX 架构师 | UX 评审 |
|
|
479
|
+
| `ops/incident-postmortem.yaml` | 事故指挥官、SRE、产品经理 | 事故复盘 |
|
|
480
|
+
| `ops/sre-health-check.yaml` | SRE、性能基准师、基础设施运维师 | SRE 健康检查(3 路并行) |
|
|
481
|
+
| `ops/weekly-report.yaml` | 会议助手、内容创作者、高管摘要师 | **周报/月报生成**(整理→亮点→定稿) |
|
|
482
|
+
|
|
483
|
+
### 战略 / 法务 / HR 类(3 个)
|
|
484
|
+
|
|
485
|
+
| 模板 | 角色 | 说明 |
|
|
486
|
+
|------|------|------|
|
|
487
|
+
| `strategy/business-plan.yaml` | 趋势研究员、财务预测师、产品经理、高管摘要师 | **商业计划书**(市场→并行分析→整合) |
|
|
488
|
+
| `legal/contract-review.yaml` | 合同审查专家、法务合规员 | **合同审查**(逐条分析→合规检查→意见书) |
|
|
489
|
+
| `hr/interview-questions.yaml` | 招聘专家、心理学家、后端架构师 | **面试题设计**(维度→并行出题→评分表) |
|
|
490
|
+
|
|
491
|
+
### 通用类(10 个)
|
|
492
|
+
|
|
493
|
+
| 模板 | 角色 | 说明 |
|
|
494
|
+
|------|------|------|
|
|
495
|
+
| `product-review.yaml` | 产品经理、架构师、UX 研究员 | 产品需求评审 |
|
|
496
|
+
| `content-pipeline.yaml` | 策略师、创作者、增长黑客 | 内容创作流水线 |
|
|
497
|
+
| `story-creation.yaml` | 叙事学家、心理学家、叙事设计师、创作者 | 协作小说创作(4 角色) |
|
|
498
|
+
| `ai-opinion-article.yaml` | 趋势研究员、叙事设计师、心理学家、创作者 | AI 观点长文 |
|
|
499
|
+
| `department-collab/code-review.yaml` | 代码审查员、安全工程师 | 代码评审(循环) |
|
|
500
|
+
| `department-collab/hiring-pipeline.yaml` | HR、技术面试官、业务面试官 | 招聘流程 |
|
|
501
|
+
| `department-collab/content-publish.yaml` | 内容创作者、品牌守护者 | 内容发布(循环) |
|
|
502
|
+
| `department-collab/incident-response.yaml` | SRE、安全工程师、后端架构师 | 事故响应 |
|
|
503
|
+
| `department-collab/marketing-campaign.yaml` | 策略师、创作者、审批人 | 营销活动(人工审批) |
|
|
504
|
+
| `department-collab/ceo-org-delegation.yaml` | CEO、工程/市场/产品/HR 部门负责人 | **CEO 组织架构协作**(决策→部门并行→汇总) |
|
|
505
|
+
|
|
506
|
+
## 项目生态
|
|
507
|
+
|
|
508
|
+
```
|
|
509
|
+
你的 AI 会员 ──→ agency-orchestrator ──→ 186 个专业角色协作 ──→ 高质量输出
|
|
510
|
+
│
|
|
511
|
+
┌────────────────┼────────────────┐
|
|
512
|
+
▼ ▼ ▼
|
|
513
|
+
14 个 AI 编程工具 CLI 模式 MCP Server
|
|
514
|
+
(Cursor/Claude (自动化/CI/CD) (Claude Code/
|
|
515
|
+
Code/Copilot...) Cursor 直接调用)
|
|
516
|
+
```
|
|
517
|
+
|
|
518
|
+
## 社区交流
|
|
519
|
+
|
|
520
|
+
| 群名 | 群号 | 加入方式 |
|
|
521
|
+
|------|------|---------|
|
|
522
|
+
| AI 编程 & Agent 中文实践群 | **1071280067** | [点击加入](https://qm.qq.com/q/EeNQA9xCxy) |
|
|
523
|
+
|
|
524
|
+
## 姊妹项目
|
|
392
525
|
|
|
393
|
-
|
|
|
394
|
-
|
|
395
|
-
| [
|
|
396
|
-
| [
|
|
397
|
-
| [
|
|
526
|
+
| 项目 | 说明 |
|
|
527
|
+
|------|------|
|
|
528
|
+
| [ai-coding-guide](https://github.com/jnMetaCode/ai-coding-guide) | AI 编程工具实战指南 — 66 个 Claude Code 技巧 + 9 款工具最佳实践 + 可复制配置模板 |
|
|
529
|
+
| [agency-agents-zh](https://github.com/jnMetaCode/agency-agents-zh) | 187 个专业角色,让 AI 变成安全工程师、DBA、产品经理等 |
|
|
530
|
+
| [superpowers-zh](https://github.com/jnMetaCode/superpowers-zh) | AI 编程超能力 · 中文版 — 20 个 skills,让你的 AI 编程助手真正会干活 |
|
|
531
|
+
| [shellward](https://github.com/jnMetaCode/shellward) | AI 智能体安全中间件 — 注入检测、数据防泄露、命令安全、零依赖、MCP Server |
|
|
398
532
|
|
|
399
|
-
##
|
|
533
|
+
## 路线图
|
|
400
534
|
|
|
401
|
-
- [x] **v0.1** — YAML
|
|
402
|
-
- [x] **v0.2** —
|
|
403
|
-
- [x] **v0.3** — 9 AI
|
|
404
|
-
- [
|
|
535
|
+
- [x] **v0.1** — YAML 工作流、DAG 引擎、4 个 LLM 连接器、CLI、实时输出
|
|
536
|
+
- [x] **v0.2** — 条件分支、循环迭代、人工审批、Resume 断点续跑、5 个部门协作模板
|
|
537
|
+
- [x] **v0.3** — 9 个 AI 工具集成、20+ 工作流模板、`ao explain`、`ao init --workflow`、`--watch` 模式
|
|
538
|
+
- [x] **v0.4** — MCP Server 模式(`ao serve`)、14 个 AI 工具集成、一键安装脚本、30 个工作流模板、**9 种 LLM(6 种免 API key:Claude Code / Gemini / Copilot / Codex / OpenClaw / Ollama)**
|
|
539
|
+
- [ ] **v0.5** — Web UI、可视化 DAG 编辑器、英文角色支持、工作流市场
|
|
405
540
|
|
|
406
|
-
##
|
|
541
|
+
## 贡献
|
|
407
542
|
|
|
408
|
-
|
|
543
|
+
参见 [CONTRIBUTING.md](./CONTRIBUTING.md),欢迎 PR!
|
|
409
544
|
|
|
410
|
-
##
|
|
545
|
+
## 许可证
|
|
411
546
|
|
|
412
547
|
[Apache-2.0](./LICENSE)
|