Letta Code 是一款记忆优先的终端编程代理 CLI 工具。与传统会话式工具不同,它采用跨会话持久化的代理架构,支持技能学习、自我改进和分层记忆系统,可连接多种 LLM 后端(Claude、GPT、Gemini、GLM 等)。
项目概述#
Letta Code 是由 Letta AI 开发的命令行编程代理工具,核心理念是"记忆优先"(Memory-First)。与 Claude Code、Codex、Gemini CLI 等基于会话的工具不同,Letta Code 使用跨会话持久化的代理系统,使代理能够累积知识、学习技能并随时间自我改进。
核心特性#
持久化记忆系统#
代理在多次会话中保持记忆,/clear 仅清除对话而不影响记忆。跨会话使用同一代理实现知识累积。
技能学习(Skill Learning)#
通过 /skill 命令从当前轨迹学习可重用技能,存储于 .skills 目录。支持从当前轨迹学习新技能。
多模型支持#
支持多种 LLM 后端:
- Claude Sonnet / Opus 4.5
- GPT-4o / GPT-4 系列等
- Gemini Pro
- GLM-4
- 其他 OpenAI 兼容 API
子代理委托#
可将任务委托给专门的子代理处理,实现任务分工。
丰富工具集#
内置工具包括:
- memory:记忆相关操作
- web_search:网络搜索
- fetch_webpage:网页获取
- Memory filesystem (memfs) 支持
LSP 支持#
通过 LETTA_ENABLE_LSP 环境变量启用 LSP 基础设施进行类型检查。
安装与快速开始#
环境要求#
- Node.js 版本 18+
- npm 包管理器
安装方式#
npm 全局安装(推荐)
npm install -g @letta-ai/letta-code
Arch Linux AUR 安装
yay -S letta-code # release 版本
yay -S letta-code-git # nightly 版本
快速开始#
# 导航到项目目录
cd your-project-directory
# 启动 Letta Code
letta
# 首次使用时进行 OAuth 认证
# 按照提示完成 Letta 账户认证
CLI 命令参考#
交互式 TUI 模式#
letta # 恢复默认会话
letta --new # 创建新会话
letta --continue # 恢复上次会话
letta --resume # 打开代理选择器 UI
letta --new-agent # 直接创建新代理
letta --agent <agent-id> # 打开指定代理
无头模式#
letta -p "..." # 一次性提示(无 TTY UI)
维护命令#
letta update # 手动检查更新
letta --info # 显示当前目录、技能和固定代理信息
技能控制#
letta --no-skills # 禁用所有技能
letta --no-bundled-skills # 禁用内置技能
交互式斜杠命令#
| 命令 | 功能 |
|---|---|
/connect | 配置 LLM API 密钥(OpenAI, Anthropic 等) |
/model | 切换使用的模型 |
/init | 初始化代理记忆系统 |
/remember [instructions] | 主动指导代理记忆 |
/skill [instructions] | 从当前轨迹学习技能 |
/profile save | 保存当前代理为配置文件 |
环境变量配置#
| 环境变量 | 用途 |
|---|---|
LETTA_API_KEY | Letta API 密钥 |
LETTA_BASE_URL | 连接到外部 Docker 服务器 |
LETTA_ENABLE_LSP | 启用 LSP 基础设施进行类型检查 |
LETTA_CODE_TELEM | 遥测控制(0 为禁用) |
配置文件位置#
| 配置类型 | 路径 |
|---|---|
| 全局配置 | ~/.config/letta/settings.json |
| 本地项目配置 | .letta/settings.local.json |
技能系统#
| 配置项 | 说明 |
|---|---|
| 技能目录 | .skills 目录存放可重用模块 |
| 技能源 | all, bundled, global, agent, project(默认:all) |
| 禁用技能 | --no-skills 或 --no-bundled-skills |
架构对比#
Session-Based 工具(Claude Code / Codex / Gemini CLI):
- 会话相互独立
- 会话间无学习
- 上下文 = 当前会话消息 + AGENTS.md
Letta Code(Agent-Based):
- 跨会话使用同一代理
- 持久化记忆和持续学习
/clear开启新会话但记忆保留
使用场景#
- 代码开发与维护:编写代码、编辑和组织文件、运行程序
- 项目管理:代理记住代码库结构和历史决策
- 知识管理:累积项目知识、偏好设置和历史交互记录
- 持续迭代:代理随时间改进,无需重复交代背景
- 本地计算机操作:在终端中运行,可执行任何本地操作
设计模式#
| 模式 | 实现方式 |
|---|---|
| 模块化架构 | 清晰的功能分离(agent, tools, cli, auth 等) |
| 插件化技能系统 | 可扩展的技能目录,支持多来源 |
| 多级配置管理 | 全局配置 + 项目级配置 |
| 记忆层次结构 | 分层记忆系统 |