openclaw多agent协作中key必须全局复用:主agent与sub-agent共用同一taotoken key及base url(https://taotoken.net/api),否则因工作区隔离导致401错误。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

当你在同一个项目中同时使用AionClaw和OpenClaw,比如用AionClaw做前端交互与多模态输入,用OpenClaw承担后台任务调度与工具调用,二者需共享AGENTS.md、SOUL.md、skills/目录及临时工作文件时,若不明确区分读写边界与状态生命周期,极易触发配置覆盖、缓存错乱或权限冲突——例如AionClaw写入的JSON字段被OpenClaw的自动格式化脚本重排后导致YAML解析失败,或双方同时写入同一log.json引发内容截断。
确认共用路径是否真正隔离
第一步:检查AionClaw与OpenClaw各自的workspace根路径是否指向同一物理位置。执行openclaw config get workspace和aionclaw config get workspace,对比输出;若二者返回不同路径(如OpenClaw为/mnt/d/openclaw-shared,而AionClaw为~/.aionclaw/workspace),则必须统一。方法一:修改AionClaw启动参数,强制指定--workspace /mnt/d/openclaw-shared;方法二:在AionClaw配置文件中将"workspace"字段显式设为该路径。
第二步:验证符号链接有效性。若你在Linux中为AionClaw创建了指向Windows共享路径的软链(如ln -s /mnt/d/openclaw-shared ~/.aionclaw/workspace),需运行ls -l ~/.aionclaw/workspace确认目标路径可访问且无broken标记;否则AionClaw会静默降级到默认路径,造成“看似共用、实则双写”的隐蔽问题。
第三步:禁止任意一方自动生成冲突文件。OpenClaw默认会在workspace下写入.openclaw-state.json,AionClaw可能生成.aion-state.bin。这两类运行时状态文件【绝不可共享】,必须通过各自配置项禁用或重定向:在OpenClaw的openclaw.json中设"state_file": "/tmp/openclaw-state-$(USER).json";在AionClaw的aionclaw.yaml中添加state_dir: /tmp/aionclaw-state-{{env.USER}}。
文件编码与换行符统一处理
AionClaw在Windows原生环境默认用CRLF(\r\n),OpenClaw在WSL2中默认用LF(\n)。若AGENTS.md由AionClaw编辑后直接被OpenClaw读取,可能导致YAML解析器将description: "任务说明\r\n"误判为非法缩进,抛出ParserError: while parsing a block mapping。
执行dos2unix -f /mnt/d/openclaw-shared/AGENTS.md强制转为LF;再在项目根目录新建.editorconfig,写入:
[*.{md,yaml,yml,json}]
end_of_line = lf
insert_final_newline = true
charset = utf-8。这一步必须在双方首次写入前完成,否则已有CRLF文件会被持续污染。
权限模型与执行上下文隔离
方法一:Linux/WSL2下用systemd --scope限制进程能力
为OpenClaw服务单元(如openclaw@user-a.service)添加RestrictSUIDSGID=yes和NoNewPrivileges=yes;为AionClaw桌面进程启用ambient_capabilities=CAP_NET_BIND_SERVICE,但禁用CAP_SYS_ADMIN。这样即使AionClaw被诱导执行恶意JS,也无法调用mount或chroot。
方法二:Windows下通过AppContainer沙箱约束
使用Add-AppContainerNetworkAccessRules PowerShell命令,仅放行AionClaw对OpenClaw本地HTTP端口(如3000)的出站连接,同时阻断其对%USERPROFILE%\Downloads等敏感目录的写权限。OpenClaw本身不进入AppContainer,但它的gateway端口必须绑定到127.0.0.1:3000而非0.0.0.0:3000,否则AionClaw的沙箱规则将失效。
注意:不要在共用workspace内存放明文API密钥。AionClaw的secrets.env与OpenClaw的.env必须分置——前者放于~/.aionclaw/secrets/并设权限600,后者放于/mnt/d/openclaw-shared/.env.local并由OpenClaw启动脚本source加载,避免Git误提交。
技能(Skills)调用冲突预防
第一步:为AionClaw和OpenClaw分别建立技能命名空间
将AionClaw的技能脚本统一加前缀aion_(如aion_send_email.py),OpenClaw的技能加前缀oc_(如oc_git_commit.py)。在各自配置文件中通过"skill_prefix"字段声明,防止双方加载时因同名文件覆盖。
第二步:禁用跨框架自动发现
在OpenClaw的openclaw.json中设"auto_discover_skills": false;在AionClaw的aionclaw.yaml中将skills_dir明确指向子目录(如skills/aion/),而非整个workspace根下的skills/。这样即使你把两个框架的技能都扔进同一目录,也不会互相激活。
第三步:工具调用日志分离
OpenClaw执行curl http://127.0.0.1:3000/v1/tool_call时,需在请求头中加入X-Caller: openclaw-v2.4;AionClaw调用时加X-Caller: aionclaw-1.8。后端网关(如Nginx)据此将日志分流至不同文件,便于审计谁触发了哪个危险操作。










