mcpField
O
opc-architecture

opc-architecture

github.com/parcadeiAgent 工作流3.9k497 次安装39 周前更新
代码仓库

关于 opc-architecture

OPC Architecture Understanding 是介绍 Orchestrated Parallel Claude(OPC)如何扩展 Claude Code 的技能,面向需要理解其 Agent 协调机制的开发者。内容说明 OPC 如何通过钩子、技能、脚本和数据库协调独立运行的 Claude Code 实例。

主要功能

  1. 01说明 OPC 与 Claude Code 的关系
  2. 02介绍钩子和技能的作用
  3. 03描述子进程 Agent 的启动方式
  4. 04解释文件与 PostgreSQL 协调流程
  5. 05列出 OPC 关键文件结构

适用场景

  1. 01了解 OPC 的架构组成
  2. 02追踪 Agent 的启动与执行过程
  3. 03排查跨 Claude Code 实例的协调流程

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/parcadei/continuous-claude-v3 --skill opc-architecture

安装后在 Claude Code 中输入/opc-architecture确认已加载。

详细介绍

OPC 架构理解

OPC(Orchestrated Parallel Claude)扩展了 Claude Code,并不会取代它。

核心概念

Claude Code CLI 是执行引擎。OPC 通过以下方式添加编排功能:

  • 钩子 - 拦截 Claude Code 事件(PreToolUse、PostToolUse、SessionStart 等)
  • 技能 - 将提示词加载到 Claude Code
  • 脚本 - 由钩子/技能调用以进行协调
  • 数据库 - 在 Claude Code 实例之间存储状态

Agent 如何工作

启动 Agent 时:

  1. 主 Claude Code 实例(你的终端)在 Task 工具上运行钩子
  2. 钩子调用 subprocess.Popen(["claude", "-p", "prompt"])
  3. 一个新的 Claude Code 实例作为子进程启动
  4. 子进程独立运行,并读取/写入协调数据库
  5. 父进程通过数据库中的 PID 跟踪子进程
$ claude                         ← Main Claude Code (your terminal)
    ↓ Task tool triggers hook
    ↓ subprocess.Popen(["claude", "-p", "..."])
        ├── claude -p "research..."   ← Child agent 1
        ├── claude -p "implement..."  ← Child agent 2
        └── claude -p "test..."       ← Child agent 3

OPC 不是什么

  • OPC 不是独立应用程序
  • OPC 不会脱离 Claude Code 运行
  • OPC 不会直接拦截 Claude API 调用
  • OPC 不会修改 Claude Code 的内部行为

OPC 是什么

  • OPC 是 Claude Code 从 .claude/hooks/ 加载的钩子
  • OPC 是 Claude Code 从 .claude/skills/ 加载的技能
  • OPC 是钩子/技能调用以进行协调的脚本
  • OPC 是用于在 Claude Code 实例之间存储状态的数据库后端

关键文件

.claude/
├── hooks/           ← TypeScript hooks that Claude Code runs
├── skills/          ← SKILL.md prompts that Claude Code loads
├── settings.json    ← Hook registration, Claude Code reads this
└── cache/           ← State files, agent outputs

opc/
├── scripts/         ← Python scripts called by hooks
├── docker-compose.yml ← PostgreSQL, Redis, PgBouncer
└── init-db.sql      ← Database schema

协调流程

  1. 用户在终端中运行 claude
  2. Claude Code 从 .claude/settings.json 加载钩子
  3. 用户说“启动一个研究 Agent”
  4. Claude 使用 Task 工具
  5. PreToolUse 钩子触发并检查资源
  6. 钩子将 claude -p "research..." 作为子进程启动
  7. 钩子将 PID 存储到 PostgreSQL
  8. 子 Agent 运行,并将输出写入 .claude/cache/agents/<id>/
  9. 子 Agent 完成后,向 PostgreSQL 广播“完成”
  10. 父进程检查数据库并读取子进程的输出文件

请记住

  • 每个“Agent”都只是另一个 claude -p 进程
  • 钩子会拦截事件,但不会创建新功能
  • 所有协调都通过文件和 PostgreSQL 完成
  • Claude Code 始终是执行引擎

评论

支持 Markdown