内容
<div align="center">
<img src="assets/logo-wide.png" alt="Chimera logo" width="460" />
# Chimera
**开源人工智能代理,每天都在进步——通过多重思维变得更强大**
[](LICENSE)
[](https://www.python.org/)
[](https://github.com/brcampidelli/chimera-agent/actions/workflows/ci.yml)
[](https://mypy-lang.org/)
[](https://github.com/astral-sh/ruff)
[](https://discord.gg/ACvBbrmguV)

[](https://donate.stripe.com/9B63cofM491m4SBfe177O00)
<sub><b>English</b> · <a href="README.pt-BR.md">Português</a> · <a href="README.es.md">Español</a> · <a href="README.de.md">Deutsch</a> · <a href="README.fr.md">Français</a> · <a href="README.zh-CN.md">中文</a> · <a href="README.ja.md">日本語</a></sub>
</div>
大多数人工智能助手都押注于**单一**模型,并且在聊天结束时忘记一切。
**Chimera 有两点不同:** 对于难题,它会同时询问**多个**人工智能模型,并将它们的答案融合为一个更强的答案,并且它**记住并学习**,因此它越用越有用。它不仅仅是聊天——给它一个目标,它会计划,使用工具,检查自己的工作,并且只保留有效的部分。
> **免费、开源(Apache-2.0),早期但活跃的开发中。** 它已经可以端到端运行:与它聊天,让它独立完成任务,在你喜欢的通讯应用上运行它作为机器人,将它部署在服务器上以便24/7工作,并观察它从所做的事情中学习。它的**alpha**版本已经很稳定并且经过了大量测试(460多个自动化测试,严格的类型检查和每次更改时的 linting),但尚未在生产环境中经过充分验证。
---
## 为什么选择 Chimera
将大多数人工智能工具视为询问**一位**专家并希望他们正确。Chimera 就像拥有一个**专家小组**,他们进行辩论,一个**公平的裁判**,对他们的答案进行评估,以及一个**撰写者**,提供最佳的综合结果 —— 然后是一个实际上**完成工作**并从中**学习**的团队成员。以下是它的特别之处,以简单的方式解释:
- 🧠 **多重思维,答案更佳。** 对于难题,Chimera 会同时询问多个模型,让一个模型比较他们的答案,并由最终模型编写最佳的综合响应 —— 因此你会得到一个比任何单个模型单独回答更平衡、更不容易出错的答案。(只有在必要时才会这样做,以保持快速和廉价。)
- 🚀 **它完成工作,而不仅仅是聊天。** 给它一个目标。它会分解目标,使用工具,编辑文件,运行测试,并**只保留通过验证的更改**。如果某些事情出错,它会撤销并重试 —— 因此它不会留下任何混乱。
- 🧬 **它越用越好。** 它记住你的偏好和重要事实,跨对话保存,并悄悄地将重复的任务转化为可重用的技能。它旨在不断改进,而不是像许多代理一样随着长时间运行而慢慢变差。
- 🛡️ **设计安全。** 每个有风险的操作都会经过安全检查,任何破坏性操作都需要确认,并且可以在隔离的沙盒中运行不受信任的代码。
- 🔌 **任何模型,在任何地方运行。** 使用大型托管模型或你自己的本地模型,通过单一接口 —— 在你的笔记本电脑或一个 5 美元的服务器上,全天候运行。
- 🧩 **真正属于你。** 开源,无锁定,无供应商账户。 你运行,你拥有,你可以更改任何内容。
## 功能
### 🧠 思考与执行
- **融合多个模型为一个答案** (`chimera fuse`) —— 一个专家小组,一个评估他们意见的裁判,以及一个撰写最终答案的综合器。智能路由器只在难题上花费额外精力。
- **独立完成任务** (`chimera solve`) —— 它计划,采取行动,使用工具,然后**验证和回滚**:它运行你的检查(例如测试),并且只有在通过验证时才保留更改,否则撤销并重试。可选地在项目的隔离副本上工作,以免影响原始项目。
- **专家团队** (`chimera crew`, `chimera crew-isolated`) —— 几个专注于不同角色的代理共同完成一个任务。在隔离模式下,每个代理都在**自己的私有副本中并行工作**;安全编辑会被合并,冲突会被标记而不是悄悄覆盖,工作代理的更改可以被拒绝通过工作代理测试。主管可以将每个人的工作合并成一个统一的报告。
- **委托和探索** —— 任何代理都可以将一个自包含的子任务委托给一个新的**子代理**,该子代理只报告结果,保持主上下文清洁。**上下文资源管理器** (`chimera explore`) 查找代码库中的正确文件和行并返回一个简短的答案,而不是转储所有内容。
### 🧬 记忆与自我改进
- **长期记忆** —— 它保存短期、近期、事实和关于你的记忆,以及一个事物如何关联的地图。它可以将记忆存储在快速全文数据库中,携带你的偏好配置文件进入每个聊天,自动合并重复笔记,并建议保存偏好时轻轻提醒。
- **学习新技能** —— 当它多次成功完成同类任务时,它会自动将该任务转化为一个经过测试的可重用技能。
- **可选的自我训练(高级)** —— 它可以记录自己的经验,以便稍后从中微调模型。默认关闭;除非你要求,否则不会训练任何内容。
### 🔌 连接与自动化
- **无处不在的聊天** —— 一个终端聊天,一个全屏终端应用,或作为 **Discord、Telegram、Slack、Signal 和 WhatsApp** 上的机器人。还有一个简单的 HTTP 端点。
- **调度与主动性** —— 给它定期的工作,用自然语言表达(“每天早上,总结新闻”)。内置调度器运行时,它**按时执行**,而不仅仅是在你发消息时。
- **工具与集成** —— 读取和写入文件,运行 shell 命令,浏览网页,并在沙盒中安全运行代码。连接几乎任何网络服务(通过其 API)或外部工具,并从其他代理工具导入你的设置。
- **内置功能** —— 网络搜索,图像生成,文本转语音,电子邮件,日历,代码执行等,准备就绪。
### 🚀 任意运行,安全可靠
- **任意模型,统一接口** ——托管模型或你自己的本地模型,具有自动备用和多个密钥轮换。
- **一键部署服务器** —— 使用 Docker(或裸金属)运行它,以便它保持在线并在重启后自动重启。参见 **[docs/deploy.md](docs/deploy.md)**。
- **安全内核** —— 每项操作都有检查(允许/警告/阻止/询问),一个沙盒用于不受信任的代码,以及一个完整的审计日志,记录其执行的操作。
## 快速入门
你需要 **Python 3.11+** 和 [uv](https://docs.astral.sh/uv/)(一个快速的 Python 安装程序)。
**1. 安装**
```bash
git clone https://github.com/brcampidelli/chimera-agent.git
cd chimera-agent
uv sync --extra dev
```
**2. 添加一个 AI 提供商密钥。** 最简单的是一个 [OpenRouter](https://openrouter.ai) 密钥 —— 一个密钥解锁 100 多个模型。
```bash
cp .env.example .env
# 打开 .env 并设置,例如:CHIMERA_OPENROUTER_KEYS=sk-or-...
```
**3. 检查所有准备就绪**
```bash
uv run chimera doctor
```
**4. 试用**
```bash
uv run chimera chat # 进行对话(它会记住)
uv run chimera run "用 3 个要点解释你可以做什么"
uv run chimera fuse "学习烹饪的最佳方法是什么?" --show-panel # 查看多个模型融合
uv run chimera solve "在 app.py 中添加一个 hello() 函数,并为它添加测试" --verify "pytest -q"
```
**在服务器上运行(使其 24/7 运行):**
```bash
docker compose up -d # 网关 + 调度器;自动重启
```
完整的指南(Docker 或 systemd,调度,备份,安全): **[docs/deploy.md](docs/deploy.md)**。
## 工作原理
给 Chimera 一个任务;它计划,思考(当问题较难时融合模型),采取行动,使用工具,**检查自己的工作并只保留有效的内容**,然后从结果中学习 —— 将记忆和新技能反馈到下一个任务。
```mermaid
flowchart TD
U([你:一个任务或问题]) --> P[理解和计划]
P --> Q{这是一个难题吗?}
Q -- 是 --> FUSION[询问多个模型<br/>· 一个裁判比较它们<br/>· 一个综合器写出最好的答案]
Q -- 否 --> ONE[使用一个快速模型]
FUSION --> ACT[执行:使用工具,文件,网络,或委托给子代理]
ONE --> ACT
ACT --> V{是否成功?<br/>运行测试/检查}
V -- 是 --> KEEP[保留更改]
V -- 否 --> REVERT[撤销并重试,吸取教训]
REVERT --> ACT
KEEP --> LEARN[学习:保存有用的记忆,将重复的工作变成可重用的技能]
LEARN --> U
MEM[(长期记忆)] -. 调用 .-> P
LEARN -. 写入 .-> MEM
GOV[[每项操作的安全检查]] -. 保护 .-> ACT
```
## 命令
每个命令都是 `chimera <name>`(或 `uv run chimera <name>`,在安装之前)。
```bash
chimera doctor / models / features # 检查设置,列出模型,查看可选功能
chimera chat # 交互式助手,跨回合记住
chimera tui # 全屏终端应用
chimera run "PROMPT" --image pic.png # 一次性答案(可以读取图像)
chimera fuse "PROMPT" --show-panel # 融合多个模型:小组 -> 裁判 -> 综合器
chimera solve "TASK" --verify "pytest -q" --isolate # 执行任务;仅在检查通过时保留更改
chimera crew "TASK" --mode supervisor # 一组专家处理一个任务
chimera crew-isolated "TASK" -W "name:role" --verify "..." --synthesize # 团队,每个团队成员在自己的隔离副本中
chimera explore "登录处理在哪里?" # 查找正确的文件/行,获取简短答案
chimera deliver "启动计划" -o plan.md # 生成一份精致的文档
chimera serve --cron [--discord|--telegram|--slack|--signal] # 运行为服务:聊天机器人 + 调度器
chimera cron add "简报" "0 8 * * *" "总结新闻" # 安排重复工作
chimera memory add / graph / consolidate # 长期记忆:保存,关联,整理
chimera kanban add/board/run # 一个任务板,将卡片分发给代理
chimera workflow flow.yaml # 运行一个简单的流程文件中描述的可重复自动化
chimera migrate <source> <dir> --apply # 从另一个代理工具导入设置,技能和记忆
chimera evolve status / tune / recipe # 可选:自我优化;准备数据以微调模型
chimera pet new --name Chimi # 领养一个小型虚拟伴侣 :)
```
查看 **[使用指南](docs/usage.md)** 以获取每个命令的示例。
## 架构
Chimera 是一个 Python 包,具有清晰分离的部分,因此您可以单独理解或扩展任何部分:
```
chimera/
core/ 代理循环:计划,执行,验证,保留或撤销,以及隔离的工作副本
fusion/ “多智”引擎:小组 -> 裁判 -> 综合器 + 智能路由器
memory/ 短期/近期/事实/关于你的记忆 + 关系图
skills/ 内置技能库以及相关技能的查找方式
evolution/ 从成功中学习新技能,以及它从中学习的经验
governance/ 安全内核(允许/警告/阻止/询问),审计日志和更改控制
orchestration/ 代理团队:角色,团队,隔离的并行工作者,统一报告
ecosystem/ 高级自我改进:设计代理的代理,可选的模型训练
kanban/ 一个任务板,将卡片交给代理
workflow/ 在简单的流程文件中描述可重复的自动化并运行它
tools/ 内置工具(文件,shell,web,搜索)+ 代码执行
sandbox/ 本地或在隔离容器中运行工具
integrations/ 连接外部工具和任何 Web API
scheduler/ 重复作业 + 按时触发它们的守护进程
migration/ 从其他代理工具导入设置
providers/ 一个接口到每个模型,具有备用和密钥轮换
interface/ 共享的对话引擎(用于聊天,应用程序和机器人)
server/ 消息网关和 HTTP 端点
cli/ `chimera` 命令
```
查看 [docs/architecture.md](docs/architecture.md) 以获取完整的设计。
## 愿景与目标
**Chimera 的目标很简单:一个任何人都可以运行的人工智能代理,它通过组合多个模型推理更好,真正随着使用而变得更好,并且始终保持安全和开放。**
今天的大多数人工智能工具要么智能但健忘(它们在聊天结束时丢失一切),要么功能强大但封闭(你无法控制它们)。而许多试图“自我改进”的工具会悄悄地变得**更糟糕**,随着长时间运行而退化。Chimera 是我们尝试走的不同道路:
- **更好的思考,而不是更大的账单** - 仅在有帮助时组合多个模型,从而提高质量而不增加浪费。
- **真正的记忆和真正的技能** - 记住重要的事情并将重复的工作变成可重用的能力。
- **持续改进** - 通过检查自己的工作并安全地在模型外部保存状态来抵制缓慢的衰退。
- **安全透明** - 每项操作都可检查,破坏性操作会先询问。
- **开放给所有人** - 免费,Apache-2.0 许可,社区驱动,无锁定。
它很早(alpha),我们诚实以待:它尚未在重度生产环境中经过验证。如果你被这个愿景所激励,我们很乐意在实现目标的过程中得到你的帮助。
## 开发
```bash
git clone https://github.com/brcampidelli/chimera-agent.git
cd chimera-agent
uv sync --extra dev
uv run ruff check . # 样式/ linting
uv run mypy chimera # 严格的类型检查
uv run pytest -q # 测试套件
```
欢迎贡献 - 代码,文档,想法,错误报告。从 [CONTRIBUTING.md](CONTRIBUTING.md) 和我们的 [行为准则](CODE_OF_CONDUCT.md) 开始。发现安全问题?请参阅 [SECURITY.md](SECURITY.md)。
## 社区
有问题,想法或想贡献? **[加入我们的Discord](https://discord.gg/ACvBbrmguV)** - 欢迎所有人。
## 支持
Chimera 是免费且开源的,公开构建。如果它对您有用,您可以通过一次性捐款来帮助其开发 - 每笔款项都很有帮助并且深表感谢。 💜
**[💜 通过 Stripe 捐款](https://donate.stripe.com/9B63cofM491m4SBfe177O00)**
## 许可证
[Apache-2.0](LICENSE) - 免费使用,修改和构建。
连接信息
猜你喜欢
暂无推荐服务器