阿科工作室
一个插件 克劳德代码 通过四个专门的代理阶段协调复杂的软件任务-- 研究, 规划, 发展,以及 审查 --由具有零容忍质量门的中央协调器协调。
Arko Studio不是让一个代理做所有事情,而是将工作分解为孤立的阶段,每个代理都在严格的界限内运作:研究人员调查、规划者设计、开发人员执行,审查人员拒绝任何偏离规范的行为。所有的开发都发生在git工作树中。所有决策都与存储在RAG存储系统中的用户偏好保持一致。
运作原理
User Request
|
v
Orchestrator ── clarifies intent via questions
|
v
Research ── exhaustive domain investigation + RAG queries
|
v
Planner ── transforms findings into atomic task specs
|
v
Developer ── literal execution in isolated git worktrees
|
v
Review ── zero-tolerance validation against spec + RAG
|
├── ALL APPROVED ── done
└── ANY REJECTED ── Planner (replan) → Developer → Review编排者从不写代码。开发商从不调查。评论家从不提出替代方案。每个代理只做一件事。
代理
| Agent | 模型 | 阶段 | 它的作用 |
|---|---|---|---|
| 研究员 | Sonnet | 调查 | 搜索代码库、互联网、文档和RAG。将带有二进制结论的结构化报告写入磁盘(是/否/要求_澄清)。每个域一个实例。 |
| 规划师 | Opus | 规划 | 阅读研究+RAG偏好。生成具有精确文件路径、行号、文字值和验证命令的任务文件。没有模糊的指示。 |
| 开发者 | Haiku | 执行 | 读取一个任务文件。创建git工作树。按顺序执行步骤。报告已完成或被阻止。零自主性——模糊性导致失败,而不是猜测。 |
| 审稿人 | Opus | 验证 | 运行类型检查、lint、测试、构建和临时服务器。执行7个RAG合规性查询。仅二进制输出:批准或拒绝。一个警告就是拒绝。 |
安装
来源(本地)
git clone https://github.com/arcaelas/plugin.git
claude --plugin-dir ./plugin来自市场
/plugin marketplace add https://github.com/arcaelas/plugin
/plugin install arko-studio@arcaelas-plugins先决条件
Arko Studio捆绑了三台MCP服务器。每个人都有自己的要求:
| MCP服务器 | 包 | 要求 | 用途 |
|---|---|---|---|
arcaelas | @arcaelas/mcp | ARKO_API_KEY env-var | 图像和音频生成 |
rag | @arcaelas/rag | 奥拉玛 运行于 localhost:11434 | 语义记忆(用户偏好、惯例、历史) |
mui-mcp | @mui/mcp | 无 | MUI组件文档 |
在启动Claude Code之前设置所需的环境变量:
export ARKO_API_KEY="your-api-key-here"如果Ollama不跑步或 ARKO_API_KEY 如果未设置,插件仍然可以工作——受影响的MCP服务器根本无法启动 SessionStart 钩子将显示一个警告,指示哪些服务不可用。
RAG集成
在任何消息前添加前缀 /rag 在Claude处理您的请求之前,强制进行RAG内存搜索:
/rag set up a new React project with TypeScript这会触发 UserPromptSubmit 将强制指令注入上下文的钩子,至少需要3个 mcp__rag__search 带有从您的消息中导出的查询的呼叫。没有 /rag 前缀,消息正常处理,开销为零。
RAG在编排过程中也由代理在内部使用:
- 研究 --每次调查前进行3次询问
- 规划师 --7个预规划+3个规划后验证查询
- 审稿人 --在撰写任何审查之前,有7个合规问题
运行时工件
所有编排工件都写入 .claude/.arko/ (自动添加到 .gitignore):
.claude/.arko/
├── research/
│ ├── index.md # Executive summary across all domains
│ └── {domain}-{subtopic}.md # One file per research domain
├── plan/
│ └── {N}.md # Numbered task specifications
├── review/
│ └── {N}.md # Review reports (APPROVED / REJECTED)
└── .worktree/
└── task-{N}/ # Isolated git worktrees per task安全
A. PreToolUse 钩子拦截每个 Bash 命令并阻止破坏性图案到达外壳之前:
| 受阻模式 | 风险 |
|---|---|
rm -rf | 递归删除 |
git push --force, git push -f | 强制推至远程 |
git reset --hard | 放弃未提交的更改 |
git checkout . | 放弃所有修改 |
git clean -f, -fd, -fx | 删除未跟踪的文件 |
被阻止的命令返回退出代码2 [Arko Studio] BLOCKED 在stderr中。该命令永远不会执行。
项目结构
.claude-plugin/
├── plugin.json # Plugin manifest + MCP server declarations
└── marketplace.json # Marketplace catalog
agents/
├── researcher.md # Investigation agent (Sonnet)
├── planner.md # Planning agent (Opus)
├── developer.md # Execution agent (Haiku)
└── reviewer.md # Validation agent (Opus)
skills/
└── orchestrator/SKILL.md # Core orchestration protocol
hooks/
└── hooks.json # SessionStart + PreToolUse + UserPromptSubmit
scripts/
├── 00.sh # SessionStart: dirs, .gitignore, config validation
├── 01.sh # PreToolUse: destructive command blocker
└── 02.sh # UserPromptSubmit: /rag prefix detection设计原则
- 相位隔离 --每个阶段在下一个阶段开始之前完全完成。代理之间没有上下文污染。
- 编排者纯度 --编排器进行协调和委派。它从不读取文件、编写代码或运行命令。
- RAG对齐 --研究、规划和审查在继续之前必须询问RAG。用户偏好优先于一般知识。
- 磁盘持久性 --所有知识都写在
.claude/.arko/没有什么只存在于对话记忆中。 - 零宽容 --警告就是拒绝。日志语句是一种拒绝。偏离规范1个字符即为拒收。
- 工作树分离 --所有开发都发生在孤立的git工作树中。在所有任务通过审查之前,主分支永远不会被触及。
