乐于分享
好东西不私藏

OpenClaw-Agents(2)多Agents实现一人公司OPC

OpenClaw-Agents(2)多Agents实现一人公司OPC

OpenClaw-Agents:Sub-Agent与Multi-Agent中,介绍了两种多Agents的方式,本文将介绍一人公司OPC这种模式,并结合前文,介绍下他们所用到的一些方法。目前大概有3种实现方式:

1、Sub-Agent的方式,相当于招募临时工。

2、Multi-Agents的方式,创建多个Agents,给每个agents都绑定一个channels,然后拉到群里,进行交流。相当于一个小公司,你可以和公司种的所有人对话。目前大家在视频上,看到多的,基本都是这种。

3、Multi-Agents的方式,创建多个Agents,只给其中一个agent绑定channels,剩下的agents,都由那一个agent调度。比较有代表性的,就是三省六部制。

01

三省六部制

https://github.com/cft0808/edict

在他的创建脚本install.sh中,依次来看。

1、创建agents

他是通过python直接修改openclaw.json文件。

cfg_path = pathlib.Path.home() / '.openclaw' / 'openclaw.json'cfg = json.loads(cfg_path.read_text())AGENTS = [  {"id""taizi",    "subagents": {"allowAgents": ["zhongshu"]}},  ......  {"id""libu_hr",  "subagents": {"allowAgents": ["shangshu"]}},  {"id""zaochao",  "subagents": {"allowAgents": []}},]agents_cfg = cfg.setdefault('agents', {})agents_list = agents_cfg.get('list', [])existing_ids = {a['id'] for a in agents_list}

agents.list[].subagents.allowAgents,通过这个设置了访问限制。

2、配置model

他是直接创建文件夹,然后复制粘贴,简单粗暴。

AGENTS=(taizi zhongshu menxia shangshu hubu libu bingbu xingbu gongbu libu_hr zaochao)SYNCED=0for agent in "${AGENTS[@]}"do  AGENT_DIR="$OC_HOME/agents/$agent/agent"  if [ -d "$AGENT_DIR" ] || mkdir -p "$AGENT_DIR" 2>/dev/null; then    cp "$MAIN_AUTH" "$AGENT_DIR/auth-profiles.json"    SYNCED=$((SYNCED + 1))  fidone

3、binding

只是简单的去除bindings-match里的pattern,目前官方文档里,match是没有pattern这部分介绍的,所以一般都是没有这个字段的,这步就相当于没执行。

# Fix #142: 清理 bindings 中的非法字段(pattern 不被 gateway 支持)bindings = cfg.get('bindings', [])cleaned = 0for b in bindings:    match = b.get('match', {})    if isinstance(matchdictand 'pattern' in match:        del match['pattern']        cleaned += 1        print(f'🧹 cleaned invalid "pattern" from binding: {b.get("agentId""?")}')if cleaned:    print(f'Cleaned {cleaned} invalid binding field(s)')cfg_path.write_text(json.dumps(cfg, ensure_ascii=False, indent=2))print(f'Done: {added} agents added')

4、agents通信

通过共享文件的方式协作

设置了消息可见tools.sessions.visibility

# ── Step 3.5: 设置 Agent 间通信可见性 (Fix #83) ──────────────setup_visibility() {  info "配置 Agent 间消息可见性..."  if openclaw config set tools.sessions.visibility all 2>/dev/null; then    log "已设置 tools.sessions.visibility=all(Agent 间可互相通信)"  else    warn "设置 visibility 失败(可能 openclaw 版本不支持),请手动执行:"    echo "openclaw config set tools.sessions.visibility all"  fi}
5、如何调度
上面设置好后,我们只能和太子对话,但是太子怎么知道,该如何处理任务呢?关键在于太子的SOUL.md文件,在该文件中,定义了太子如何处理任务。

02

OPC(临时工版)

临时工版,指的是通过Sub-agents的方式,临时创建agents来进行任务。GitHub上有相关的项目,我随便找了个,只是做个介绍

https://github.com/Fozu-lzwpattern/OPC-agent-orchestration

brain/core-flow.md中定义了整体的流程,主要是包括:任务分解、角色创建、定时轮询、失败重试等几个方面。

1、任务分解

在brain/task-decomposition.md中,定义了CEO(main agent)如何分解任务,需要遵守的规则。拆分的粒度等信息。

2、角色创建

拆分项目后,按需组建团队(sub-agents)。

可以看到,角色创建的时候,是传入了一些信息的。这些信息,在brain/role-design.md中有定义。同时也预置了一些角色。

3、定时轮询

在brain/proactive-reporting.md中,定义了主动轮询的机制,以及汇报模板等内容。

4、失败重试

在engine/troubleshooting.md中定义了故障处理方式

5、如何关联

上面只是介绍了几个md文件,这几个文件如何关联起来的呢?在整个项目的SKILL.md中,明确定义了各流程。

03

OPC(正规版)

这里说的正规版,不是说这种方法才是对的,而是说,这种方式,大家可能更喜欢见到。通过创建多个Agents,给每个agents都绑定一个channels,然后拉到群里进行交流。这种目前在各B站、抖音视频里很常见。

https://www.douyin.com/user/MS4wLjABAAAAa4UaAHFXAZir_aJn2ioUCj6e9pIyq9yci7nBYxlLP00?from_tab_name=main&modal_id=7613432314525158710

这边随便列一个抖音的视频,在这个视频中,他通过TRAE构建了这样一个群聊。

可以看看,他这边创建的过程,也是用到了前文说的各种工具步骤

用了peer的方式来match群组。

总结一下创建Multi-Agents的步骤:

1、创建N个agents+workspace。

2、创建N个channels机器人。

3、将agents和channels机器人bindings,设置match方式。

4、设置agents之间的通信方式。

5、设置每个agents的灵魂三件套,这步有点难度,但是GitHub上有相关的仓库提供了灵魂三件套,选择你要的岗位角色,复制粘贴过来即可。

https://github.com/msitarzewski/agency-agents

6、设置主agent的逻辑,他该如何调度、管理这些agents,如何拆解任务,如何回复用户,让谁回复,失败处理等。例如第一个例子中的太子,第二个例子中的SKILL.md。个人感觉这步才是最重要的,你的公司能不能正常运行起来,很大程度上就看这一步。

04

Clawith

上面介绍的这些,本质上还是在OpenClaw上搭建的。Clawith就不是,他是自行搭建了一个平台,通过可视化面板的方式,创建、管理数字员工。这边做个介绍。

https://github.com/dataelement/Clawith

1、安装

pypi国内镜像(可选)

export CLAWITH_PIP_INDEX_URL=https://pypi.tuna.tsinghua.edu.cn/simpleexport CLAWITH_PIP_TRUSTED_HOST=pypi.tuna.tsinghua.edu.cn

安装:注意python版本要3.12+

git clone https://github.com/dataelement/Clawith.gitcd Clawithbash setup.sh

启动

bash restart.sh# → 前端: http://localhost:3008# → 后端: http://localhost:8008

第一个注册的用户自动成为平台管理员。打开应用,点击"注册",创建你的账号即可。

在home目录下,会有一个【.clawith】的文件,里面就有后续你定义的各种内容。

2、创建公司

主要还是模型池的创建,员工用的都是模型池里的。可以使用自定义的模型。

3、新建员工

这里主要是agents相关的,包括SOUL.md、skill、models、channels等。默认已经建好了两个数字员工Meeseeks、Morty,只要给他们设置下模型就能上岗。

每个agents都配置channels,那么就都能和用户聊天了,只配置主的,那么就相当于三省六部制了。目前国内只能配置,飞书、企微、钉钉,QQ未上线。

创建好后,可以单独配置其他的功能,比如这边的【心智】能配置SOUL.md、memory等。

4、员工间关系

他这边明确说明,有需要可以通过当前机器人联系他们。

在Morty的工作日志中,也能找到相关的记录。

至此,一个大致的架构已经搞定,如果要让他们干活的话,相关的工具、Skill得准备好。

以上内容,截至OpenClaw2026.3.13版本。

======END=======