如何使用 OpenOPC 打造你自己的 AI 公司
通常,多智能体系统的实验最终会陷入这样的阶段:三个 LLM 在循环中无休止地礼貌地互相提问,燃烧大量 token。你让它们写一个应用,结果得到五页的互相道歉,没有一行能用的代码。
最近我发现了香港大学(HKUDS)研究人员开发的 OpenOPC。他们决定不把智能体编排当作抽象的聊天,而是当作一家真正的公司,具备组织结构、角色分工、Kanban 看板、质量检查,以及为特定任务雇佣员工。

开发者的解决方案
作者将这个概念称为 AI-Native Company(AI 原生公司)。项目不再让一个智能体试图兼顾架构、编写测试和前端工作,而是根据具体需求组建一个专门的团队。
工作建立在三个机制之上:
- 结构组装。系统分析需求,构建组织架构,选择智能体。它使用现成的人才模板或创建具有干净上下文的新配置文件。
- 任务执行。任务不会堆积成一团——它们通过有限状态机流转。每个工作项都有负责人、当前看板列和执行就绪状态。
- 经验积累。项目完成后,系统评估特定角色的贡献,而不是抽象的聊天。成功的技巧和解决方案被记录在角色的个人记忆和团队的共享指令中。
作为一个不错的额外功能,作者还接入了使用 React 和 Phaser 构建的 Web 界面,智能体们坐在像素风格的虚拟办公室里,坐在各自的工位上,互相传递任务卡片,并通过视频通话开会。

内部协作如何运作
复杂管道的主要问题在于,任务从一开始很少能完美规划。在过程中,阻塞、缺失的上下文或失败的测试肯定会不断出现。
OpenOPC 通过依赖图(DAG)和管理者角色来解决这个问题。管理者接收需求,分解任务,然后分配给执行者。独立任务并行运行,依赖任务按顺序等待。
团队交互遵循五种基本模式:
- 指定智能体直接执行任务。
- 将子任务委托给下级并传递上下文。
- 在发送到下一阶段前审查完成的结果。
- 将完成的模块集成到整体项目中。
- 发回修改并附带具体反馈。
如果智能体遇到障碍,它不会崩溃报错。首先,系统尝试在内部解决问题:向负责相关领域的角色发送阻塞消息。如果智能体的权限不够(例如,需要确认危险的终端命令或服务需要付费),运行时将请求升级给人工处理。
确认策略通过安全配置进行设置。简单的读取命令立即执行,中等风险的命令由单独的 LLM 评估,而像 rm -rf 或 force push 这样的破坏性操作始终等待用户按键确认。
启动模式和界面
项目支持两种主要工作场景:Task Mode 和 Company Mode。
Task Mode 类似于 Cursor 或 OpenCode 等熟悉的开发环境。它是单智能体模式,选定的单个智能体解决一个特定的聚焦问题:重构模块、编写脚本或收集信息。
Company Mode 启动一个完整的团队。你可以连接内置的 OpenOPC Native 引擎或外部 CLI 智能体,如 Claude Code、Cursor 或 Codex。角色可以使用不同的后端:架构师用一个模型,开发者通过外部终端智能体编写代码,审查者通过第三种组合检查代码。
你可以通过终端和浏览器仪表盘来使用所有这些功能。

在 Web 界面中你会找到:
- 反映运行时真实任务状态的 Kanban 看板。
- 通信面板,包含智能体之间消息的日志和内部讨论记录。
- 组织结构编辑器,可以更改汇报链和雇佣新的专业人员。
- 像素风格办公室,可以看到谁当前在处理哪种类型的任务。

快速开始
对于项目部署,创建者推荐使用包管理器 uv。你需要 Python 3.10 或更高版本,以及如果你计划重新构建前端,则需要 Node.js 18 或更高版本。
首先,设置虚拟环境:
# Клонируем проект и переходим в папку
cd OpenOPC
# Создаем окружение с Python 3.12
uv python install 3.12
uv venv --python 3.12
source .venv/bin/activate
# Устанавливаем зависимости
uv pip install -e .
# Опционально ставим Chromium для браузерных инструментов
uv run python -m playwright install chromium
接下来,初始化本地配置和记忆文件夹:
uv run opc init
该命令将创建 .opc/config/ 目录。打开 .opc/config/llm_config.yaml 并添加你的 API key。引擎可以与任何兼容 LiteLLM 和 OpenRouter 的端点配合工作。
llm:
default_model: "openai/gpt-4o"
api_base: "https://openrouter.ai/api/v1"
api_key: "sk-or-v1-..."
max_tokens: 16384
现在你可以启动 Web 界面:
uv run opc ui
面板将在 http://localhost:8765 打开。
如果你更喜欢直接从控制台工作,该工具提供了便捷的交互式聊天并支持单任务执行:
# Запуск интерактивного чата
uv run opc chat -p my_project
# Одиночная задача в Task Mode
uv run opc chat -p my_project --mode task --agent native "Проанализируй структуру проекта и составь список зависимостей"
# Запуск задачи в режиме компании
uv run opc chat -p my_project --mode company --company-profile corporate "Спроектируй и реализуй базовый REST API для сервиса заметок"
实际应用场景
仓库中有广泛方向的使用示例:从投资报告到视频脚本场景和游戏原型。
在日常开发中,OpenOPC 擅长覆盖端到端管道。例如,当你需要的不仅仅是编写一个函数,而是研究第三方 API、准备架构文档、编写代码、通过 Playwright 运行测试,并将所有内容打包成一个带有文档的规范 pull request。
另一个场景涉及消息应用集成。OpenOPC 可以连接到 Telegram、Discord、Slack、飞书和其他企业聊天频道。你可以设置一个机器人监听传入的任务流,它将根据聊天消息启动一个智能体团队。
总结
OpenOPC 以其结构化的方法给人留下了愉快的印象。作者们不是在兜售一个全知全能单一提示的童话故事——他们正在构建一个可预测的工程系统,具有清晰的职责分离、持久化到磁盘的状态,以及对危险操作的控制。
如果符合以下情况,这个项目值得一试:
- 当项目需要多种不同能力时,你在与 Claude 或 Cursor 的单一聊天中感到受限。
- 你想尝试具有真正任务管理和 DAG 的多智能体系统,而不是混乱的消息交换。
- 你需要本地框架来自动化日常研究或工程流程,并具有清晰的可视化控制。
最好的入门方式是通过 uv 运行本地 UI,在单智能体模式下处理简单任务,逐步过渡到在 Company Mode 中构建你自己的团队。查看 .opc/config/ 文件夹也很有用,可以为你的机器配置自动确认级别。
相关项目