系统架构
CowAgent 的整体架构由以下核心模块组成:
Agent 模式
启用 Agent 模式后,CowAgent 会以自主智能体的方式运行,核心工作流如下:- 接收消息 — 通过通道接收用户输入
- 理解意图 — 分析任务需求和上下文
- 规划任务 — 将复杂任务分解为多个步骤
- 调用工具 — 选择合适的工具执行每个步骤
- 记忆与知识更新 — 将重要信息存入长期记忆,将结构化知识整理至知识库
- 返回结果 — 将执行结果发送回用户
工作空间
系统工作空间
Agent 的系统工作空间默认位于~/cow 目录,用于存储系统提示词、记忆文件、技能文件等:
~/.cow 目录(出于安全考虑):
项目工作空间
除默认工作空间外,可为每个会话单独绑定一个项目目录,Agent 的文件读写与命令执行都在该目录下进行,从而实现多项目隔离;记忆、技能等仍统一存放在默认工作空间。当使用了多个项目时,Web/桌面端的历史会话会自动按项目分组管理。多智能体工作空间
组建 Agent 团队 后,每个 Agent 都拥有一套完整的工作空间。默认 Agent 沿用实例根目录~/cow,其他成员则各自落在 ~/cow/agents/<agent-id>/ 下,从而在存储上区分「系统共享」「按成员隔离」「可选共享」三类:
- 系统共享:秘钥文件(
~/.cow/.env)和团队配置(~/cow/agents/team.json)由整个实例共用。 - 按成员隔离:每个 Agent 的核心文件(
SYSTEM.md、USER.md、AGENT.md、RULE.md)、记忆(MEMORY.md、memory/)和产出文件都在各自工作空间内,成员之间互不可见。 - 可选共享:技能与知识库既可与团队共用同一套,也可为某个成员配置专属的,两种模式随时切换。
子 Agent 是主 Agent 临时创建的执行单元,与主 Agent 共享同一工作空间,不拥有独立记忆;团队成员则是常驻的正式 Agent,工作空间与记忆完全独立。详见 子 Agent。
会话级模型与权限
工作空间、模型、权限均可按会话独立设置,未设置时跟随全局默认:- 模型:不同会话可切换不同模型,便于按任务选型。
- 权限:控制 Agent 可操作的范围,分为 只读、工作区可写、全部可访问 三档。可在配置中设置全局默认权限(
agent_permission_mode),新会话默认沿用,再按需单独调整。权限用于降低误操作风险;如需强隔离,建议在容器中运行。
核心配置
在config.json 中配置 Agent 模式的核心参数:
