> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cowagent.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# 项目架构

> CowAgent 2.0 的系统架构和核心设计

CowAgent 2.0 从简单的聊天机器人全面升级为超级智能助理，采用 Agent 架构设计，具备自主思考、规划任务、长期记忆和技能扩展等能力。

## 系统架构

CowAgent 的整体架构由以下核心模块组成：

<img src="https://cdn.jsdelivr.net/gh/zhayujie/cowagent-assets@main/architecture/zh/architecture.jpg" alt="CowAgent Architecture" />

| 模块            | 说明                                                                  |
| ------------- | ------------------------------------------------------------------- |
| **Plan**      | 理解用户意图，将复杂任务分解为多步骤计划，循环调用工具直到完成目标                                   |
| **Memory**    | 自动将重要信息持久化为核心记忆和日级记忆，支持关键词和向量混合检索，跨会话保持上下文连续性                       |
| **Knowledge** | 以主题维度组织结构化知识，Agent 自主整理有价值信息为 Markdown 页面，维护索引和交叉引用，构建持续增长的知识网络     |
| **Evolution** | 对话空闲后在隔离环境中自动复盘，优化技能、处理未完成事项、补全记忆与知识，让 Agent 在使用中持续成长               |
| **Tools**     | Agent 访问操作系统资源的核心能力，内置文件读写、终端执行、浏览器操作、定时调度、记忆检索、联网搜索等 10+ 种工具       |
| **Skills**    | 加载和管理 Skills，支持从 Skill Hub、GitHub 等一键安装，或通过对话创建自定义技能                |
| **Models**    | 模型层，统一接入 OpenAI、Claude、Gemini、DeepSeek、MiniMax、GLM、Qwen 等国内外主流大语言模型 |
| **Channels**  | 消息通道层，负责接收和发送消息，支持 Web 控制台、微信、飞书、钉钉、企微、公众号等，统一消息协议                  |
| **CLI**       | 命令行系统，提供终端命令（`cow`）和对话命令（`/`），支持进程管理、技能安装、配置修改、知识库管理等操作             |

## Agent 模式

启用 Agent 模式后，CowAgent 会以自主智能体的方式运行，核心工作流如下：

1. **接收消息** — 通过通道接收用户输入
2. **理解意图** — 分析任务需求和上下文
3. **规划任务** — 将复杂任务分解为多个步骤
4. **调用工具** — 选择合适的工具执行每个步骤
5. **记忆与知识更新** — 将重要信息存入长期记忆，将结构化知识整理至知识库
6. **返回结果** — 将执行结果发送回用户

## 工作空间

Agent 的工作空间默认位于 `~/cow` 目录，用于存储系统提示词、记忆文件、技能文件等：

```
~/cow/
├── SYSTEM.md          # Agent system prompt
├── USER.md            # User profile
├── MEMORY.md          # Core memory
├── memory/            # Long-term memory storage
│   └── YYYY-MM-DD.md  # Daily memory
├── knowledge/         # Personal knowledge base
│   ├── index.md       # Knowledge index
│   └── <category>/    # Topic-based pages
└── skills/            # Custom skills
    ├── skill-1/
    └── skill-2/
```

秘钥文件单独存储在 `~/.cow` 目录（出于安全考虑）：

```
~/.cow/
└── .env               # Secret keys for skills
```

## 核心配置

在 `config.json` 中配置 Agent 模式的核心参数：

```json theme={null}
{
  "agent": true,
  "agent_workspace": "~/cow",
  "agent_max_context_tokens": 40000,
  "agent_max_context_turns": 30,
  "agent_max_steps": 15,
  "enable_thinking": false,
  "cow_lang": "auto"
}
```

| 参数                         | 说明                                            | 默认值     |
| -------------------------- | --------------------------------------------- | ------- |
| `agent`                    | 是否启用 Agent 模式                                 | `true`  |
| `agent_workspace`          | 工作空间路径                                        | `~/cow` |
| `agent_max_context_tokens` | 最大上下文 token 数                                 | `50000` |
| `agent_max_context_turns`  | 最大上下文记忆轮次                                     | `20`    |
| `agent_max_steps`          | 单次任务最大决策步数                                    | `20`    |
| `enable_thinking`          | 是否启用深度思考模式                                    | `false` |
| `knowledge`                | 是否启用个人知识库                                     | `true`  |
| `self_evolution_enabled`   | 是否启用自主进化                                      | `false` |
| `cow_lang`                 | 界面、命令文案、系统提示词等的语言，`auto` 自动检测，可设为 `zh` / `en` | `auto`  |
