Peri 是什么
Peri 是一个 Rust 编写的终端 AI Agent —— 不是 API 网关,不是聊天机器人,而是一个能读写文件、执行命令、搜索代码、派生子 Agent 的完整编程助手。
它能做什么
Peri 基于 ReAct 循环运行:接收你的问题 → 思考 → 调用工具 → 观察结果 → 继续思考,直到完成任务。
12 个核心工具始终对 LLM 可见:
| 工具 | 作用 |
|---|---|
Read / Write / Edit | 读取、写入、精确替换文件 |
Glob / Grep | 按模式查找文件、按正则搜索内容 |
folder_operations | 创建、列举、检查目录 |
Bash | 执行终端命令 |
WebFetch / WebSearch | 获取网页内容、搜索网络 |
Agent | 派生子 Agent 执行子任务 |
AskUserQuestion / TodoWrite | 向用户提问、维护任务列表 |
此外,MCP 工具、Cron 工具等通过 Tool Search 按需加载,不占用 LLM 上下文。
和 Claude Code 的关系
Peri 兼容 .claude/ 目录结构。如果你已经在用 Claude Code:
| 文件/目录 | Peri 的处理 |
|---|---|
.claude/agents/*.md | 自动扫描为可用 Agent 定义 |
.claude/skills/*.md | 渐进式注入系统提示词 |
.claude/settings.json | 读取权限和 MCP 配置 |
CLAUDE.md / AGENTS.md | 注入为项目级指引 |
这意味着你可以直接在现有 Claude Code 项目中使用 Peri,无需修改任何配置。
和其他终端 Agent 的对比
| Peri | Claude Code | Aider | |
|---|---|---|---|
| 语言 | Rust | TypeScript | Python |
| 内存占用 | ~50MB | ~200MB | ~100MB |
| .claude/ 兼容 | ✅ | ✅ | ❌ |
| 子 Agent | ✅ fork + 后台 | ✅ | ❌ |
| 中间件系统 | ✅ 可编程 | ❌ | ❌ |
| LLM 支持 | OpenAI + Anthropic | Anthropic | 多家 |
| TUI 界面 | ✅ Ratatui | ✅ Ink | ❌ |
| IDE 集成 | ✅ ACP 协议 | ✅ LSP | ❌ |
项目结构
peri/
├── peri-agent/ # 核心:ReAct 循环、中间件链、LLM 接口、Thread 持久化
├── peri-middlewares/ # 内置中间件:文件系统、终端、Web、子 Agent、Tool Search 等
├── peri-tui/ # TUI 应用、CLI 入口
├── peri-acp/ # ACP 服务层:SessionManager、Langfuse 追踪
├── peri-widgets/ # TUI 组件库
├── peri-lsp/ # LSP 客户端
└── langfuse-client/ # Langfuse 可观测性客户端系统要求
- 操作系统:macOS(Apple Silicon / Intel)、Linux(x86_64 / aarch64 / riscv64)、Windows(x86_64)
- 网络:可访问 LLM API 端点(OpenAI 兼容 或 Anthropic)
- 可选:MCP 服务器、Langfuse 实例、LSP 服务器
下一步
- 快速上手 — 安装、配置、5 分钟开始使用
- 用中间件扩展 Agent 的能力 — 了解 Peri 的扩展机制