by jnMetaCode
The first multi-agent framework that works with your existing AI subscription — no API key needed. 全球首个支持「带着订阅用」的多智能体编排框架,有会员就能跑。
# Add to your Claude Code skills
git clone https://github.com/jnMetaCode/agency-orchestrator中文 | English
你已经为 AI 付了月费。为什么跑个工作流还要再掏 API key 的钱?
186 个专业 AI 角色 · YAML 零代码编排 · 有会员就能跑 · 免 API key
Claude Max ✓ ChatGPT Plus ✓ GitHub Copilot ✓ Google 账号(免费)✓ Ollama ✓
觉得有用?请点个 Star — 帮助更多人发现这个项目。
你遇到过这些问题吗?
Agency Orchestrator 的答案:
写一个 YAML 文件 → 186 个专业角色自动协作 → 用你已有的会员直接跑。
行业首创:全球所有多智能体框架(CrewAI / LangGraph / AutoGen / Dify / n8n / Agency Swarm / MetaGPT / Google ADK / OpenAI Agents SDK)都要求 API key。只有 Agency Orchestrator 让你带着订阅来用。
# CrewAI: ~50 行 Python,角色从零写,必须有 API key
researcher = Agent(role="PM", goal="...", backstory="...(你自己写)...")
task = Task(description="...", agent=researcher)
crew = Crew(agents=[researcher], tasks=[task])
crew.kickoff()
# Agency Orchestrator: 10 行 YAML,186 个角色开箱即用,无需 API key
steps:
- id: analyze
role: "product/product-manager" # 现成角色,专业 prompt 已写好
task: "分析这个 PRD:{{prd_content}}"
| | CrewAI | LangGraph | AutoGen | Agency Orchestrator | |---|--------|-----------|---------|---------------------| | 语言 | Python | Python | Python | YAML(零代码) | | 角色 | 自己写 | 自己写 | 自己写 | 186 个现成 | | API key | 必须 | 必须 | 必须 | 6 种免 API key | | 依赖 | pip + LiteLLM + 几十个包 | pip + LangChain | pip + AutoGen | npm + 2 个依赖 | | 中文角色 | 无 | 无 | 无 | 186 个(44 个中国原创) | | 并行 | Manager 模式 | 手动建图 | 手动 | DAG 自动检测 | | 价格 | 开源 + $25-99/月云版 | 开源 | 开源 | 完全免费 |
npx agency-orchestrator demo
4 个 AI 角色协作写小说。无需安装、无需配置、无需 API key。
npm install agency-orchestrator
npx ao init # 下载 186 个 AI 角色
# 用你已有的 Claude Max 会员(无需 API key!)
npx ao run workflows/story-creation.yaml --input premise='一个时间旅行的故事'
只需在 YAML 中写 provider: "claude-code"。没有 Claude?用 gemini-cli(Google 账号免费)、copilot-cli、codex-cli 都行。
./scripts/install.sh # 一键安装到你的 AI 编程工具
然后在 Cursor / Claude Code / Copilot 中直接说:
运行 workflows/story-creation.yaml,创意是"一个程序员在凌晨发现AI回复不该知道的事"
AI 会自动解析 YAML → 加载角色 → 按 DAG 顺序执行 → 保存结果。
支持 14 个 AI 编程工具(集成指南):Claude Code · GitHub Copilot · Cursor · Windsurf · Kiro · Trae · Aider · Gemini CLI · Codex CLI · OpenCode · Qwen Code · DeerFlow 2.0 · Antigravity · OpenClaw
$ ao run workflows/story-creation.yaml -i "premise=一个程序员在凌晨三点发现AI开始回复不该知道的事情"
工作流: 短篇小说创作
步骤数: 4 | 并发: 2 | 模型: deepseek-chat
──────────────────────────────────────────────────
── [1/4] story_structure (叙事学家) ──
完成 | 14.9s | 1,919 tokens
核心冲突:程序员与一个似乎拥有超越其代码权限的自主意识之间的认知对抗...
── [2/4] character_design (心理学家) ── ← 并行执行
完成 | 65.5s | 4,016 tokens
人物心理档案:林深——一个信奉逻辑与控制的资深AI工程师...
── [3/4] conflict_design (叙事设计师) ── ← 并行执行
完成 | 65.5s | 3,607 tokens
凌晨三点,屏幕的冷光映着陈默疲惫的脸...
── [4/4] write_story (内容创作者) ──
完成 | 33.9s | 5,330 tokens
凌晨三点,调试日志的蓝色荧光是房间里唯一的光源。陈默灌下今晚第三杯黑咖啡...
==================================================
完成: 4/4 步 | 114.3s | 14,872 tokens
==================================================
第 2、3 步自动并行执行(从 DAG 依赖关系检测)。4 个专业 AI 角色协作,产出一篇完整的悬疑短篇小说。
name: "产品需求评审"
agents_dir: "agency-agents-zh"
llm:
provider: "deepseek" # 免 API key: claude-code / gemini-cli / copilot-cli / codex-cli / ollama
model: "deepseek-chat"
concurrency: 2
inputs:
- name: prd_content
required: true
steps:
- id: analyze
role: "product/product-manager"
task: "分析以下 PRD,提取核心需求:\n\n{{prd_content}}"
output: requirements
- id: tech_review
role: "engineering/engineering-software-architect"
task: "评估技术可行性:\n\n{{requirements}}"
output: tech_report
depends_on: [analyze]
- id: design_review
role: "design/design-ux-researcher"
task: "评估用户体验风险:\n\n{{requirements}}"
output: design_report
depends_on: [analyze]
- id: summary
role: "product/product-manager"
task: "综合反馈输出结论:\n\n{{tech_report}}\n\n{{design_report}}"
depends_on: [tech_review, design_review]
引擎自动:
tech_review 和 design_review 并发执行{{变量}} 在步骤间传递输出ao-output/analyze ──→ tech_review ──→ summary
└→ design_review ──┘
(并行)
你已经有这些会员了吧?直接就能跑:
| 你有... | YAML 配置 | 安装 CLI | 额外费用 |
|---------|----------|---------|---------|
| Claude Max/Pro($20/月) | provider: "claude-code" | npm i -g @anthropic-ai/claude-code | 不花钱 |
| Google 账号 | provider: "gemini-cli" | npm i -g @google/gemini-cli | 免费(1000 次/天,Gemini 2.5 Pro) |
| GitHub Copilot($10/月) | provider: "copilot-cli" | npm i -g @github/copilot | 不花钱 |
| ChatGPT Plus/Pro($20/月) | provider: "codex-cli" | npm i -g @openai/codex | 不花钱 |
| OpenClaw 账号 | provider: "openclaw-cli" | npm i -g openclaw | 不花钱 |
| 一台电脑 | provider: "ollama" | ollama.ai | 免费(本地模型) |
也支持传统 API key:
| 提供商 | 配置 | 环境变量 |
|--------|------|---------|
| DeepSeek | provider: "deepseek" | DEEPSEEK_API_KEY |
| Claude API | provider: "claude" | ANTHROPIC_API_KEY |
| OpenAI | provider: "openai" | OPENAI_API_KEY |
所有 API 提供商支持自定义 base_url 和 api_key,兼容智谱、月之暗面等 OpenAI 兼容 API。
ao demo # 零配置体验多智能体协作
ao init # 下载 186 个 AI 角色
ao init --workflow # 交互式创建工作流
ao compose "一句话描述" # AI 智能编排工作流
ao run <workflow.yaml> [选项] # 执行工作流
ao validate <workflow.yaml> # 校验(不执行)
ao plan <workflow.yaml> # 查看执行计划(DAG)
ao explain <workflow.yaml> # 用自然语言解释执行计划
ao roles # 列出所有角色
ao serve # 启动 MCP Server(供 Claude Code / Cursor 调用)
| 参数 | 说明 |
|------|------|
| --input key=value | 传入输入变量 |
| --input key=@file | 从文件读取变量值 |
| --output dir | 输出目录(默认 ao-output/) |
| --resume <dir\|last> | 从上次运行恢复(加载已完成步骤的输出) |
| --from <step-id> | 配合 --resume,从指定步骤重新执行 |
| --watch | 实时终端进度显示 |
| --quiet | 静默模式 |
一句话描述需求,AI 自动从 186 个角色中选角色、设计 DAG、生成完整 workflow YAML:
ao compose "PR 代码审查,要覆盖安全和性能"
AI 会自动:
depends_on、变量串联的完整 YAMLworkflows/ — 直接 ao run 就能跑支持 --provider 和 --model 参数(默认使用 DeepSeek)。
问题:ao run 跑完一轮后,所有步骤的输出都丢了。想基于叙事学家的结构重写小说,只能整个工作流从头跑。
解决:--resume 会自动加载上一轮所有步骤的输出,--from 指定从哪步开始重跑。之前的步骤直接用缓存结果,不会重新执行。
以 story-creation.yaml 为例,DAG 结构如下:
story_structure ──→ character_design ──→ write_story
└→ conflict_design ──┘
(并行)
第一轮:正常运行
ao run workflows/story-creation.yaml \
-i premise='一个程序员在凌晨三点发现AI开始回复不该知道的事情'
运行完后,每步输出保存在 ao-output/ 下:
ao-output/短篇小说创作-2026-03-24T14-30-00/
├── summary.md ← 最终小说
├── metadata.json ← 每步状态 + 变量映射
├── steps/
│ ├── 1-story_structure.md ← 叙事学家的结构设计
│ ├── 2-character_design.md ← 心理学家的人物设定
│ ├── 3-conflict_design.md ← 叙事设计师的冲突场景
│ └── 4-write_story.md ← 最终小说
打开这些文件看每步输出,觉得哪里不满意就重跑那步。
第二轮:人物太单薄,从人物设计开始重跑
ao run workflows/story-creation.yaml --resume last --from character_design
--resume last:自动找到最近一次输出--from character_design:从人物设计开始重跑story_structure 的输出(叙事结构)直接复用,不重新执行character_design → conflict_design → write_story 重新执行第三轮:结构和人物都好,只改最终写作
ao run workflows/story-creation.yaml --resume last --from write_story
只重跑最后一步。叙事结构、人物设定、冲突设计全部复用,只让内容创作者重写。
第四轮:想回到第二轮的版本继续改
ao run workflows/story-creation.yaml \
--resume ao-output/短篇小说创作-2026-03-24T14-35-00/ \
--from write_story
指定具体目录,基于那个版本继续迭代。
ls ao-output/
# 短篇小说创作-2026-03-24T14-30-00/ ← 第一轮
# 短篇小说创作-2026-03-24T14-35-00/ ← 第二轮
# 短篇小说创作-2026-03-24T14-38-00/ ← 第三轮
# 短篇小说创作-2026-03-24T14-40-00/ ← 第四轮
| 场景 | 命令 |
|------|------|
| 第一次运行 | ao run workflow.yaml -i key=value |
| 从某步重跑(基于上次结果) | ao run workflow.yaml --resume last --from <步骤ID> |
| 只重跑失败的步骤 | ao run workflow.yaml --resume last |
| 基于指定版本重跑 | ao run workflow.yaml --resume ao-output/具体目录/ --from <步骤ID> |
--resume 做了三件事:
metadata.json,获取每步的状态和输出变量名steps/ 目录读取已完成步骤的输出内容,注入回 {{变量}} 上下文--from 之前的步骤为"已完成",跳过执行智能体结构(角色分工、DAG 依赖、变量传递)不会丢失 — 它定义在 YAML 里,每次都会重新加载。丢失的只是上一轮的输出内容,--resume 就是把这些内容恢复回来。
import { run } from 'agency-orchestrator';
const result = await run('workflow.yaml', {
prd_content: '你的 PRD 内容...',
});
console.log(result.success); // true/false
console.log(result.totalTokens); // { input: 1234, output: 5678 }
AI 编程工具(Claude Code、Cursor 等)可通过 MCP 协议直接调用工作流操作,无需手动集成:
ao serve # 启动 MCP stdio 服务器
ao serve --verbose # 带调试日志
配置 Claude Code(settings.json):
{
"mcpServers": {
"agency-orchestrator": {
"command": "npx",
"args": ["agency-orchestrator", "serve"]
}
}
}
配置 Cur
No comments yet. Be the first to share your thoughts!