# 🚀 Leaper Agent

<p align="center">
  <strong>自驱进化智能体引擎</strong><br>
  <em>Autonomous Agent Runtime with Self-Evolving Intelligence</em>
</p>

<p align="center">
  <a href="LICENSE"><img src="https://img.shields.io/badge/协议-Apache%202.0-blue.svg?style=for-the-badge" alt="License"></a>
  <a href="https://github.com/Deepleaper/leaper-agent"><img src="https://img.shields.io/badge/测试-1116%20通过-brightgreen?style=for-the-badge" alt="Tests"></a>
  <a href="https://github.com/Deepleaper/leaper-agent"><img src="https://img.shields.io/badge/TypeScript-5.x-blue?style=for-the-badge" alt="TypeScript"></a>
  <a href="https://deepleaper.com"><img src="https://img.shields.io/badge/跃盟科技-Deepleaper-blueviolet?style=for-the-badge" alt="Built by Deepleaper"></a>
</p>

**你的 Agent 用得越多，它就越强。** Leaper 不是又一个聊天机器人框架——它有一套六层进化引擎，让你的智能体在每次对话中自动学习、提炼技能、建立对你的理解，甚至质疑自己的回答。部署在你的笔记本、$5 的云服务器、或者 GPU 集群上，通过 Telegram、飞书、企业微信等 19 个渠道随时交互。

<table>
<tr><td><b>🧬 会进化的引擎</b></td><td>不是简单的 RAG 检索。六层引擎逐层构建：混合记忆召回 → 经验提取 → 技能自动生成 → 跨技能融合 → 用户画像 → 对抗验证。用 10 次开始学习，用 50 次开始造技能，用 100 次真正懂你。</td></tr>
<tr><td><b>📡 一个引擎，19 个入口</b></td><td>Telegram、Discord、Slack、Signal、飞书、企业微信、钉钉、微信公众号、WhatsApp、Matrix、Mattermost、iMessage、短信、邮件、Home Assistant、命令行、HTTP API、Webhook——接哪个只需几行配置。</td></tr>
<tr><td><b>🔧 30 多个开箱即用的工具</b></td><td>读写文件、跑命令、操作浏览器、执行代码、抓网页、看图说话、语音合成、生成图片、MCP 协议对接——不用写插件，直接用。</td></tr>
<tr><td><b>🧠 双通道记忆</b></td><td>SQLite 全文检索 + 向量语义召回，两条路同时找。工作区里的 .md 文件自动变成 Agent 的初始记忆，不用手动导入。</td></tr>
<tr><td><b>🔌 什么模型都能接</b></td><td>OpenAI、Claude、Gemini、AWS Bedrock、Ollama 本地模型——全有适配器。多模型自动切换、故障转移、成本优化。用 Ollama 跑本地模型，一分钱不花。</td></tr>
<tr><td><b>⏰ 自己干活不用盯</b></td><td>内置定时任务调度，日报、周报、巡检，用自然语言配好就行。支持错过补跑、时区、并发控制。</td></tr>
<tr><td><b>🛡️ 安全不是事后想起来才加的</b></td><td>危险命令要审批，目录不能穿越，技能自动安全扫描，URL 钓鱼检测，API 密钥自动隐藏，操作全程有审计日志。</td></tr>
<tr><td><b>🎭 技能会优胜劣汰</b></td><td>Agent 从对话中自动提炼技能，也能从 GitHub 装别人的技能。每个技能有置信度评分，不好使的自动淘汰，好使的越用越强。</td></tr>
</table>

---

## 三分钟跑起来

```bash
npm install -g leaper-agent
mkdir my-agent && cd my-agent
leaper init -t ceo-coach      # 用 CEO 教练模板初始化
leaper chat                    # 开聊
```

配模型——编辑 `leaper.yaml`：

```yaml
# 用 OpenAI
provider:
  provider: openai
  model: gpt-4o
  apiKey: sk-xxx

# 用本地 Ollama（不花钱）
# provider:
#   provider: ollama
#   model: qwen2.5:7b
#   baseUrl: http://localhost:11434/v1

# 用 Claude
# provider:
#   provider: anthropic
#   model: claude-sonnet-4-20250514
#   apiKey: sk-ant-xxx
```

想让别人也能用？加个 Telegram 渠道：

```yaml
channels:
  - type: telegram
    token: 你的BOT_TOKEN
```

```bash
leaper run    # 启动
```

**📖 详细教程：[QUICKSTART.md](QUICKSTART.md)**

---

## 六层进化引擎

这是 Leaper 和其他框架的根本区别。

```
┌─────────────────────────────────────────────┐
│  L5  对抗验证    Agent 质疑自己的输出        │
├─────────────────────────────────────────────┤
│  L4  用户画像    理解每个用户的偏好和风格    │
├─────────────────────────────────────────────┤
│  L3  跨技能融合  多个技能协同、合并、进化    │
├─────────────────────────────────────────────┤
│  L2  技能生成    从对话中自动提炼可复用技能  │
├─────────────────────────────────────────────┤
│  L1  经验提取    每次对话后提炼有用的模式    │
├─────────────────────────────────────────────┤
│  L0  混合召回    全文检索 + 向量语义双通道   │
└─────────────────────────────────────────────┘
```

不需要配置，不需要训练，不需要标注数据。**对话就是训练。**

---

## 支持的渠道

| 类型 | 平台 |
|------|------|
| **即时通讯** | Telegram · Discord · Slack · Signal · Matrix · Mattermost |
| **国内生态** | 飞书 · 企业微信 · 钉钉 · 微信公众号 |
| **海外** | WhatsApp · iMessage (BlueBubbles) · 短信 · 邮件 |
| **开发者** | 命令行 · HTTP API · Webhook · Home Assistant |

一个 Agent，想接哪个接哪个，核心逻辑不用改。

---

## 内置工具

| 能力 | 具体 |
|------|------|
| **文件** | 读、写、改（精确替换）、搜内容、搜文件名、移动、删除 |
| **终端** | 跑命令、管进程、后台任务、输出太长自动截断 |
| **浏览器** | 打开页面、点击、输入、截图、提取内容（Playwright + CDP） |
| **写代码** | JavaScript / Python / Shell 沙箱执行，超时自动杀 |
| **上网** | 抓网页、搜索引擎、截网页图、PDF 转文字 |
| **看和说** | 图片理解、语音合成、图片生成、语音转文字 |
| **协作** | 派子 Agent 干活、跨渠道发消息、对接 MCP 协议 |
| **管理** | 待办事项、搜历史对话、定时任务、一键回滚 |
| **安全** | 命令审批、目录防穿越、技能扫描、钓鱼检测 |
| **进阶** | 多模型投票、强化学习、模糊匹配、补丁解析 |

---

## 模型支持

| 厂商 | 说明 |
|------|------|
| **OpenAI** | GPT-4o、o1 等，以及所有 OpenAI 兼容的 API |
| **Anthropic** | Claude 全系列，支持 prompt caching |
| **Google** | Gemini Pro、Flash，支持搜索增强 |
| **AWS Bedrock** | 通过 Converse API 接入，支持安全护栏 |
| **Ollama** | 跑本地模型，qwen、llama、deepseek 随便选，不花钱 |
| **多模型路由** | 自动切换、故障转移、按成本优化 |

---

## 项目结构

```
leaper-agent/
├── src/
│   ├── core/           # 核心：消息循环、配置、运行时
│   ├── brain/          # 记忆：全文检索、向量召回、工作区加载
│   ├── evolution/      # 进化：六层引擎 (L0-L5)
│   ├── provider/       # 模型对接 (OpenAI 兼容)
│   ├── agent/          # 适配器（Claude/Gemini/Bedrock）+ 基础设施
│   ├── channels/       # 19 个渠道
│   ├── tools/          # 30+ 工具
│   ├── skills/         # 技能系统：增删改查、执行、市场、安全
│   ├── context/        # 上下文压缩、提示词构建
│   ├── cron/           # 定时任务
│   ├── security/       # 审批、安全扫描
│   ├── cli/            # 命令行（init / run / chat）
│   └── templates/      # Agent 模板
├── tests/              # 110 个测试文件，1116 个用例
└── package.json
```

**125 个源码文件 · 110 个测试文件 · 1116 个测试 · 编译零错误**

---

## 模板

```bash
leaper init --list-templates    # 看有哪些模板
leaper init -t ceo-coach        # CEO 教练
leaper init                     # 空白，自己写人格
```

模板里有预设好的人格（EGO.md / SOUL.md）、记忆（MEMORY.md）、协作规则（AGENTS.md）。解压即用。

---

## 参与开发

```bash
git clone https://github.com/Deepleaper/leaper-agent.git
cd leaper-agent
npm install
npm test          # 跑 1116 个测试
npm run build     # 编译
```

---

## 开源协议

[Apache License 2.0](LICENSE) — 随便用，商业也行。

---

<p align="center">
  <b>Leaper Agent</b> — 自驱进化智能体引擎<br>
  <em>The agent runtime that learns, adapts, and evolves.</em><br><br>
  <a href="https://deepleaper.com">跃盟科技 Deepleaper</a> 出品
</p>
