内容
# Agent-Core
> 企业级 AI 代理引擎。轻量级、安全、MCP 原生。采用 Rust 构建。
## 为什么选择 Agent-Core?
### 企业问题
大多数 AI 代理框架试图做所有事情。它们配备了用于网页抓取、代码执行、图像生成等内置工具。这在企业环境中是 **危险** 的。
财务人员不需要网页编码工具。人力资源专员不应具有数据库写入权限。操作员不应能够执行 shell 命令。
**全能型代理是一种安全隐患,而不是生产力提升。**
### 我们的方法
Agent-Core 采取相反的方法 — 它只提供 **基本代理能力**:
- 与大型语言模型(LLM)对话
- 调用 MCP 工具
- 强制执行安全边界
- 管理会话和内存
其他一切都来自 **技能**,由管理员分发。代理程序一开始是空的。只有当用户需要时,它才会具备相应的能力。
```
公司 MCP(企业范围的技能:身份验证、人力资源政策、组织数据)
└─ 部门 MCP(领域技能:财务、人力资源、运营)
└─ 项目 MCP(项目特定的工具)
└─ 用户角色(分配的技能)
```
**Agent-Core 的使命不是取代人类。它是真正的 AI 助手 — 在其责任范围内具备能力,并且仅限于此。**
## 架构
```
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 桌面应用程序 │────▶│ Agent-Core │────▶│ Memoria │
│ (任意 MCP │ │ (:9753) │ │ (:9003) │
│ 客户端) │ │ │ │ │
└──────────────┘ └──────┬───────┘ └──────────────┘
│
┌───────▼───────┐
│ MCP 来源 │
│ ┌─────────┐ │
│ │ 公司 │ │ (企业范围)
│ ├─────────┤ │
│ │ 部门/人力资源 │ │ (部门级)
│ ├─────────┤ │
│ │ 项目 │ │ (项目特定)
│ └─────────┘ │
└───────────────┘
```
**桌面应用程序** 可以是任何与 MCP 兼容的客户端(Jan、Claude Desktop、自定义)。
**Agent-Core** 处理推理、工具路由、安全性和技能管理。
**Memoria** 提供持久性内存和跨代理知识共享。
**MCP 来源** 定义每个用户/角色可以执行的操作 — 不多不少。
## 设计理念
### 最小核心,最大扩展
Agent-Core 默认不包含任何领域特定技能。它是一个空白画布。技能从技能市场安装或由管理员按角色配置。这保持核心的小巧、安全性和可审计性。
### 默认安全性
在运行时强制执行 7 条红线:权限衰减、代码隔离、治理不可变性、数据泄露防护、终止开关、唯一标识和供应链审查。每次工具调用都会检查这 7 条红线。
### 三级 MCP
- **公司 MCP**:企业范围的工具(身份验证、组织数据、合规性)
- **部门 MCP**:领域特定工具(财务、人力资源、运营、研发)
- **项目 MCP**:项目级工具(代码仓库、CI/CD、监控)
### 故障安全降级
当出现问题时,Agent-Core **缩小权限** 而不是崩溃:MCP 关闭 → 仅基本查询工具可用;LLM 超时 → 回退提供程序;锁定中毒 → 优雅恢复。
### 技能蒸馏(Harness)
使用次数越多,您的领域就越智能。执行日志被蒸馏成可重用的技能模板。重复任务直接跳过 LLM — 匹配到已知解决方案。
## 功能
- **LLM 集成** — 多个提供商,自动故障转移
- **MCP 协议** — 公司/部门/项目 MCP 来源的原生客户端
- **技能市场** — 按用户角色安装技能,启用白名单控制
- **7 条红线安全** — 权限链、沙盒、治理、数据泄露防护、终止开关、身份、供应链
- **任务确认门控** — 危险操作前类似 SAD 的重述
- **技能蒸馏** — 从执行日志自动学习
- **会话管理** — 基于 LRU 的会话历史,命名空间隔离
- **审计日志** — 结构化审计轨迹,敏感密钥掩盖
- **嵌入式 Web UI** — 在 `http://localhost:9753` 内置聊天界面
## 快速入门
### 构建和运行
```bash
cargo build --release
cp agent.example.toml agent.toml
# 使用您的 LLM API 密钥编辑 agent.toml
./target/release/agent-core
```
### 配置
| 字段 | 默认值 | 描述 |
|-------|---------|-------------|
| `agent_id` | `default` | 代理标识符 |
| `api_key` | — | LLM API 密钥 |
| `server` | `http://127.0.0.1:9003` | Memoria 服务器 |
| `port` | `9753` | HTTP 端口 |
| `memoria_admin_key` | — | Memoria 管理密钥 |
| `[[mcp_source]]` | — | MCP 来源(公司/部门/项目) |
### 多级 MCP 示例
```toml
# 公司 MCP
[[mcp_source]]
name = "company-hr"
url = "http://company-mcp.internal/hr"
token = "${COMPANY_MCP_TOKEN}"
# 部门 MCP
[[mcp_source]]
name = "finance"
url = "http://dept-mcp.internal/finance"
token = "${DEPT_MCP_TOKEN}"
# 项目 MCP
[[mcp_source]]
name = "project-data"
url = "http://localhost:8000/mcp"
```
## 项目结构
```
src/
├── main.rs — HTTP 服务器、路由、配置
├── agent.rs — 核心代理循环、确认状态机
├── llm.rs — 具有故障转移的 LLM 客户端(聊天 + 流式传输)
├── mcp_client.rs — MCP 协议客户端
├── boundary.rs — 7 条红线安全
├── composer.rs — 多步骤任务分解
├── approval.rs — 人机审批
├── audit.rs — 审计日志
├── session.rs — 会话状态和 LRU 历史
├── namespace.rs — 多租户命名空间隔离
├── harness.rs — 技能蒸馏引擎
└── chat.html — 嵌入式 Web 聊天界面
```
## 比较
| 系统 | vs Agent-Core |
|--------|--------------|
| **全功能代理** | 自带所有功能,难以按角色确保安全 |
| **LangChain 代理** | 框架锁定,仅限 Python,无内置安全性 |
| **AutoGPT** | 无安全边界,无技能蒸馏 |
| **Agent-Core** | **最小核心 + 基于角色的技能,7 条安全线,MCP 原生** |
## AI 协作说明
> Agent-Core 的代码大约 **99% 由 AI 协助**(Claude、DeepSeek、Doubao)。
> 架构设计、安全策略和技术选择由人类主导。
## 许可证
MIT
## 相关
- [Memoria](https://github.com/jiayan-xu/memoria) — 持久内存和知识共享