[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-letta-ai--letta-code":3,"tool-letta-ai--letta-code":61},[4,18,26,36,44,53],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",150720,2,"2026-04-11T11:33:10",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":32,"last_commit_at":50,"category_tags":51,"status":17},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[52,13,15,14],"插件",{"id":54,"name":55,"github_repo":56,"description_zh":57,"stars":58,"difficulty_score":32,"last_commit_at":59,"category_tags":60,"status":17},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[52,14],{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":73,"owner_name":74,"owner_avatar_url":75,"owner_bio":76,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":78,"owner_website":79,"owner_url":80,"languages":81,"stars":101,"forks":102,"last_commit_at":103,"license":104,"difficulty_score":32,"env_os":105,"env_gpu":106,"env_ram":106,"env_deps":107,"category_tags":112,"github_topics":77,"view_count":32,"oss_zip_url":77,"oss_zip_packed_at":77,"status":17,"created_at":113,"updated_at":114,"faqs":115,"releases":145},6619,"letta-ai\u002Fletta-code","letta-code","The memory-first coding agent","letta-code 是一款“以记忆为核心”的编程智能体工具，旨在改变传统 AI 编码助手“用完即忘”的工作模式。不同于其他工具在每次会话结束后丢失上下文，letta-code 构建了一个持久化的智能体，它能够跨会话保留记忆，并随着使用时间的推移不断学习和进化。\n\n它主要解决了开发者在长期项目中需要反复向 AI 重申项目背景、代码规范和偏好的痛点。在传统模式下，每次开启新对话都像是在雇佣一位全新的临时承包商；而 letta-code 则更像是一位与你并肩工作的同事或徒弟，它不仅记得你们之前的讨论细节，还能主动积累技能，确保持续的成长性。\n\n这款工具特别适合需要长期维护复杂项目的软件开发者、希望拥有个性化编程助手的工程师，以及热衷于探索下一代 AI 交互模式的技术研究人员。其独特的技术亮点在于支持“技能学习”机制：用户可以通过简单的指令让智能体从当前任务中提炼新能力并保存为模块，同时它兼容多种主流大模型（如 Claude、GPT、Gemini 等），允许用户自由切换底层模型而不丢失已积累的记忆与知识。通过简单的命令行操作，letta-code 就能成为你开发流程中一位越用越聪明的得力伙伴","letta-code 是一款“以记忆为核心”的编程智能体工具，旨在改变传统 AI 编码助手“用完即忘”的工作模式。不同于其他工具在每次会话结束后丢失上下文，letta-code 构建了一个持久化的智能体，它能够跨会话保留记忆，并随着使用时间的推移不断学习和进化。\n\n它主要解决了开发者在长期项目中需要反复向 AI 重申项目背景、代码规范和偏好的痛点。在传统模式下，每次开启新对话都像是在雇佣一位全新的临时承包商；而 letta-code 则更像是一位与你并肩工作的同事或徒弟，它不仅记得你们之前的讨论细节，还能主动积累技能，确保持续的成长性。\n\n这款工具特别适合需要长期维护复杂项目的软件开发者、希望拥有个性化编程助手的工程师，以及热衷于探索下一代 AI 交互模式的技术研究人员。其独特的技术亮点在于支持“技能学习”机制：用户可以通过简单的指令让智能体从当前任务中提炼新能力并保存为模块，同时它兼容多种主流大模型（如 Claude、GPT、Gemini 等），允许用户自由切换底层模型而不丢失已积累的记忆与知识。通过简单的命令行操作，letta-code 就能成为你开发流程中一位越用越聪明的得力伙伴。","# Letta Code\n\n[![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@letta-ai\u002Fletta-code.svg?style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@letta-ai\u002Fletta-code) [![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdiscord-join-blue?style=flat-square&logo=discord)](https:\u002F\u002Fdiscord.gg\u002Fletta)\n\nLetta Code is a memory-first coding harness, built on top of the Letta API. Instead of working in independent sessions, you work with a persisted agent that learns over time and is portable across models (Claude Sonnet\u002FOpus, GPT\u002FCodex, Gemini, GLM, Kimi, and more).\n\n**Read more about how to use Letta Code on the [official docs page](https:\u002F\u002Fdocs.letta.com\u002Fletta-code).**\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fletta-ai_letta-code_readme_08ef69ed0bac.gif)\n\n## Get started\nInstall the package via [npm](https:\u002F\u002Fdocs.npmjs.com\u002Fdownloading-and-installing-node-js-and-npm):\n```bash\nnpm install -g @letta-ai\u002Fletta-code\n```\nNavigate to your project directory and run `letta` (see various command-line options [on the docs](https:\u002F\u002Fdocs.letta.com\u002Fletta-code\u002Fcommands)). \n\nRun `\u002Fconnect` to configure your own LLM API keys (OpenAI, Anthropic, etc.), and use `\u002Fmodel` to swap models.\n\n> [!NOTE]\n>  By default, Letta Code will to connect to the [Letta API](https:\u002F\u002Fapp.letta.com\u002F). Use `\u002Fconnect` to use your own LLM API keys and coding plans (Codex, zAI, Minimax) for free. Set `LETTA_BASE_URL` to connect to an external [Docker server](https:\u002F\u002Fdocs.letta.com\u002Fletta-code\u002Fdocker).\n\n## Philosophy \nLetta Code is built around long-lived agents that persist across sessions and improve with use. Rather than working in independent sessions, each session is tied to a persisted agent that learns.\n\n**Claude Code \u002F Codex \u002F Gemini CLI** (Session-Based)\n- Sessions are independent\n- No learning between sessions\n- Context = messages in the current session + `AGENTS.md`\n- Relationship: Every conversation is like meeting a new contractor\n\n**Letta Code** (Agent-Based)\n- Same agent across sessions\n- Persistent memory and learning over time\n- `\u002Fclear` starts a new conversation (aka \"thread\" or \"session\"), but memory persists\n- Relationship: Like having a coworker or mentee that learns and remembers\n\n## Agent Memory & Learning\nIf you’re using Letta Code for the first time, you will likely want to run the `\u002Finit` command to initialize the agent’s memory system:\n```bash\n> \u002Finit\n```\n\nOver time, the agent will update its memory as it learns. To actively guide your agents memory, you can use the `\u002Fremember` command:\n```bash\n> \u002Fremember [optional instructions on what to remember]\n```\nLetta Code works with skills (reusable modules that teach your agent new capabilities in a `.skills` directory), but additionally supports [skill learning](https:\u002F\u002Fwww.letta.com\u002Fblog\u002Fskill-learning). You can ask your agent to learn a skill from its current trajectory with the command: \n```bash\n> \u002Fskill [optional instructions on what skill to learn]\n```\n\nRead the docs to learn more about [skills and skill learning](https:\u002F\u002Fdocs.letta.com\u002Fletta-code\u002Fskills).\n\nCommunity maintained packages are available for Arch Linux users on the [AUR](https:\u002F\u002Faur.archlinux.org\u002Fpackages\u002Fletta-code):\n```bash\nyay -S letta-code # release\nyay -S letta-code-git # nightly\n```\n\n---\n\nMade with 💜 in San Francisco\n","# Letta Code\n\n[![npm](https:\u002F\u002Fimg.shields.io\u002Fnpm\u002Fv\u002F@letta-ai\u002Fletta-code.svg?style=flat-square)](https:\u002F\u002Fwww.npmjs.com\u002Fpackage\u002F@letta-ai\u002Fletta-code) [![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fdiscord-join-blue?style=flat-square&logo=discord)](https:\u002F\u002Fdiscord.gg\u002Fletta)\n\nLetta Code 是一个以记忆为核心的编码工具，基于 Letta API 构建。与传统的独立会话不同，它使用持久化的智能体，能够随着时间不断学习，并且可以在多种模型之间无缝切换（如 Claude Sonnet\u002FOpus、GPT\u002FCodex、Gemini、GLM、Kimi 等）。\n\n**更多关于如何使用 Letta Code 的信息，请参阅[官方文档页面](https:\u002F\u002Fdocs.letta.com\u002Fletta-code)。**\n\n![](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fletta-ai_letta-code_readme_08ef69ed0bac.gif)\n\n## 快速开始\n通过 [npm](https:\u002F\u002Fdocs.npmjs.com\u002Fdownloading-and-installing-node-js-and-npm) 安装该包：\n```bash\nnpm install -g @letta-ai\u002Fletta-code\n```\n导航到您的项目目录并运行 `letta` 命令（有关各种命令行选项，请参阅[文档](https:\u002F\u002Fdocs.letta.com\u002Fletta-code\u002Fcommands)）。\n\n运行 `\u002Fconnect` 来配置您自己的 LLM API 密钥（OpenAI、Anthropic 等），并使用 `\u002Fmodel` 来切换模型。\n\n> [!NOTE]\n> 默认情况下，Letta Code 会连接到 [Letta API](https:\u002F\u002Fapp.letta.com\u002F)。您可以使用 `\u002Fconnect` 来免费使用您自己的 LLM API 密钥和编码计划（如 Codex、zAI、Minimax）。设置 `LETTA_BASE_URL` 可以连接到外部的 [Docker 服务器](https:\u002F\u002Fdocs.letta.com\u002Fletta-code\u002Fdocker)。\n\n## 核心理念\nLetta Code 围绕着长期存在的智能体构建，这些智能体在会话之间保持持久性，并随着使用不断改进。与传统的独立会话不同，每个会话都关联到一个持久化的智能体，该智能体能够持续学习。\n\n**Claude Code \u002F Codex \u002F Gemini CLI**（基于会话）\n- 每个会话是独立的\n- 会话之间不会相互学习\n- 上下文 = 当前会话中的消息 + `AGENTS.md`\n- 关系：每次对话都像是在与一位新来的外包人员交流\n\n**Letta Code**（基于智能体）\n- 同一个智能体贯穿所有会话\n- 持久的记忆和持续的学习\n- `\u002Fclear` 会开启一个新的对话（即“线程”或“会话”），但记忆仍然保留\n- 关系：就像拥有一位会学习并记住事情的同事或学徒\n\n## 智能体记忆与学习\n如果您是第一次使用 Letta Code，建议先运行 `\u002Finit` 命令来初始化智能体的记忆系统：\n```bash\n> \u002Finit\n```\n\n随着时间的推移，智能体会根据学习内容不断更新其记忆。为了主动引导智能体的记忆，您可以使用 `\u002Fremember` 命令：\n```bash\n> \u002Fremember [可选的提醒指令，说明要记住的内容]\n```\n\nLetta Code 支持技能（可重用模块，用于在 `.skills` 目录中教授智能体新能力），同时还支持[技能学习](https:\u002F\u002Fwww.letta.com\u002Fblog\u002Fskill-learning)。您可以通过以下命令让智能体从当前的工作轨迹中学习一项技能：\n```bash\n> \u002Fskill [可选的技能学习指令]\n```\n\n更多关于技能和技能学习的信息，请参阅文档：[技能与技能学习](https:\u002F\u002Fdocs.letta.com\u002Fletta-code\u002Fskills)。\n\n对于 Arch Linux 用户，社区维护的软件包已在 [AUR](https:\u002F\u002Faur.archlinux.org\u002Fpackages\u002Fletta-code) 上提供：\n```bash\nyay -S letta-code # 正式版\nyay -S letta-code-git # 夜间版\n```\n\n---\n\n由旧金山团队用心打造 💜","# Letta Code 快速上手指南\n\nLetta Code 是一款基于记忆优先（memory-first）理念的编程辅助工具。与传统会话式工具不同，它通过持久化代理（Agent）跨会话学习并积累上下文，支持 Claude、GPT、Gemini、Kimi 等多种模型。\n\n## 环境准备\n\n*   **操作系统**：支持 Windows、macOS、Linux（包括 Arch Linux）。\n*   **前置依赖**：\n    *   已安装 [Node.js](https:\u002F\u002Fnodejs.org\u002F) 和 [npm](https:\u002F\u002Fdocs.npmjs.com\u002F)。\n    *   拥有主流大模型 API Key（如 OpenAI, Anthropic, Google 等），或准备使用 Letta 官方云服务。\n*   **网络提示**：由于涉及海外 API 调用，建议确保网络环境通畅，或配置合适的代理。\n\n## 安装步骤\n\n### 方式一：通过 npm 全局安装（推荐）\n\n在终端中运行以下命令安装最新稳定版：\n\n```bash\nnpm install -g @letta-ai\u002Fletta-code\n```\n\n> **国内加速提示**：如果 npm 下载缓慢，可临时切换至国内镜像源：\n> ```bash\n> npm config set registry https:\u002F\u002Fregistry.npmmirror.com\n> npm install -g @letta-ai\u002Fletta-code\n> ```\n\n### 方式二：Arch Linux 用户\n\n可通过 AUR 安装：\n\n```bash\n# 安装稳定版\nyay -S letta-code\n\n# 或安装夜间构建版\nyay -S letta-code-git\n```\n\n## 基本使用\n\n### 1. 启动与配置\n\n进入你的项目目录，运行 `letta` 启动工具：\n\n```bash\nletta\n```\n\n首次使用时，需配置 LLM API Key 以连接模型：\n\n*   输入 `\u002Fconnect`：按照提示填入你的 API Key（支持 OpenAI, Anthropic 等）。\n    *   *注：默认连接 Letta 官方 API。使用 `\u002Fconnect` 可改为使用自己的 Key 免费体验 Codex、zAI、Minimax 等模型。*\n*   输入 `\u002Fmodel`：切换当前使用的模型（如从 Claude Sonnet 切换到 GPT-4o）。\n\n### 2. 初始化记忆系统\n\n为了让 Agent 开始学习和记忆项目上下文，首次运行建议执行初始化命令：\n\n```bash\n\u002Finit\n```\n\n### 3. 开始编码对话\n\n现在你可以像与同事对话一样下达指令。Letta Code 会记住之前的交互内容，无需重复背景信息。\n\n*   **日常对话**：直接输入自然语言指令（例如：“帮我重构这个函数的错误处理逻辑”）。\n*   **强化记忆**：如果希望 Agent 特别记住某些规范或偏好：\n    ```bash\n    \u002Fremember [在此处填写需要记住的具体指令或规范]\n    ```\n*   **技能学习**：让 Agent 从当前任务中学习新技能并保存为模块：\n    ```bash\n    \u002Fskill [在此处填写希望学习的技能描述]\n    ```\n*   **开启新话题**：若想开始新话题但保留过往记忆：\n    ```bash\n    \u002Fclear\n    ```\n\n### 4. 退出\n\n输入 `\u002Fexit` 或直接关闭终端即可结束当前会话。下次在同一项目目录运行时，Agent 将自动加载之前的记忆继续工作。","某全栈开发者正在维护一个迭代频繁的 SaaS 项目，需要长期与 AI 协作进行代码重构和功能开发。\n\n### 没有 letta-code 时\n- 每次开启新对话都像面对陌生外包人员，必须重复粘贴项目架构、技术栈偏好及过往踩坑记录。\n- 会话上下文严格受限，一旦超出窗口限制或手动清除历史，AI 就会遗忘之前的关键决策逻辑。\n- 无法积累隐性知识，比如“该项目偏好函数式写法”或“避免使用特定第三方库”等习惯需反复纠正。\n- 跨模型切换成本极高，从 Claude 换到 GPT 时，所有针对项目的定制化指令和背景信息全部丢失。\n\n### 使用 letta-code 后\n- 拥有专属的“数字同事”，letta-code 持久化记忆了项目规范，每次新开线程都能自动继承上下文无需复述。\n- 具备持续学习能力，通过 `\u002Fremember` 命令将调试经验转化为长期记忆，即使清理对话历史也不会遗忘核心逻辑。\n- 主动内化开发风格，随着交互深入，letta-code 自动调整代码生成策略以契合团队特定的编码习惯和架构约束。\n- 模型无关且便携，在 Claude Sonnet 与 Gemini 之间自由切换时，已构建的项目记忆和技能模块无缝同步。\n\nletta-code 将一次性会话工具进化为可成长的开发伙伴，让 AI 真正理解并记住你的项目基因。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fletta-ai_letta-code_c3c6c115.png","letta-ai","Letta","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fletta-ai_4021f318.png","The platform for stateful AI agents",null,"letta_ai","https:\u002F\u002Fletta.com","https:\u002F\u002Fgithub.com\u002Fletta-ai",[82,86,90,94,97],{"name":83,"color":84,"percentage":85},"TypeScript","#3178c6",98.2,{"name":87,"color":88,"percentage":89},"Python","#3572A5",0.9,{"name":91,"color":92,"percentage":93},"MDX","#fcb32c",0.4,{"name":95,"color":96,"percentage":93},"Shell","#89e051",{"name":98,"color":99,"percentage":100},"JavaScript","#f1e05a",0.1,2169,221,"2026-04-11T09:16:33","Apache-2.0","Linux, macOS, Windows","未说明",{"notes":108,"python":106,"dependencies":109},"该工具是一个基于 Node.js 的命令行工具（通过 npm 安装），而非本地运行的深度学习模型，因此无需特定 GPU、显存或 CUDA 版本。它主要作为客户端连接 Letta API 或用户自有的 LLM API（如 OpenAI、Anthropic 等）。默认连接云端 Letta API，也可配置连接本地 Docker 服务器。Arch Linux 用户可通过 AUR 安装。",[110,111],"Node.js","npm",[35,13,52],"2026-03-27T02:49:30.150509","2026-04-11T21:48:20.071488",[116,121,126,131,136,141],{"id":117,"question_zh":118,"answer_zh":119,"source_url":120},29889,"遇到 'Provider anthropic is not supported' 错误怎么办？","该问题已在后续版本中修复。请确保将 Letta Code 升级到最新版本（建议 v0.13.5 或更高）。如果升级后仍报错，可能是默认代理创建失败，请检查服务器启动命令或尝试重新初始化环境。维护者指出该问题与模型选择器有关，新版本已改进用户体验。","https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fissues\u002F289",{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},29890,"运行时出现 'MaxListenersExceededWarning' 内存泄漏警告如何解决？","这是一个已知的事件监听器泄漏问题，通常发生在切换模型或会话长时间运行时。该问题已在版本 0.6.4 及之后的 0.13.5 中彻底修复。请将 Letta Code 升级到最新版本以消除此警告。","https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fissues\u002F259",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},29891,"在 Windows 上运行 Git 命令失败或无法执行怎么办？","Letta Code 早期版本在 Windows PowerShell 中存在兼容性问题。请升级到 v0.7.3 或更高版本，该版本包含了针对 Windows 的补丁。如果问题依旧，请检查 `$env:PATH` 环境变量中是否包含 Git 路径，并确认 Letta Code 能正确读取该环境变量。也可以尝试从源码构建最新版本以获得最新修复。","https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fissues\u002F320",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},29892,"在无图形界面环境（如 Docker\u002FSSH）中报错 'spawn xdg-open ENOENT' 如何解决？","这是因为程序试图调用 `xdg-open` 打开浏览器进行授权，但在无桌面环境的服务器或容器中该命令不存在。该问题已在 v0.7.1 版本中修复。请升级 Letta Code 到 0.7.1 或更高版本，新版本会处理无 `xdg-open` 的情况，允许用户手动复制 URL 到本地浏览器进行授权。","https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fissues\u002F294",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},29893,"如何配置或使用子代理（Subagent）和任务工具？","Letta Code 支持通过 Task 工具创建子代理来并行处理任务。为了更好管理，建议使用带有标签（tag）的子代理，这样主代理可以搜索子代理的历史记录获取上下文。目前基础工具集（如 OPENAI_PASCAL_TOOLS）已包含任务工具，且团队正在优化子代理的生命周期管理（如自动清理），请关注后续版本更新。","https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fissues\u002F292",{"id":142,"question_zh":143,"answer_zh":144,"source_url":125},29894,"账户积分用完后程序行为异常或报错如何处理？","当账户积分耗尽时，可能会触发未捕获的错误或导致事件监听器泄漏警告。请先登录 Letta 开发者平台充值或配置自动充值。此外，确保已将软件升级到最新版本（v0.6.4+），因为新版增强了对此类状态的处理能力，避免了因积分不足导致的程序崩溃或警告。",[146,151,156,161,166,171,176,181,186,191,196,201,206,211,216,221,226,231,236,241],{"id":147,"version":148,"summary_zh":149,"released_at":150},206478,"v0.22.4","## 变更内容\n* 修复（认证）：通过 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1663 中的提交，抑制 Linux 上重复的钥匙串读取警告。\n* 修复（CLI）：通过 @cpfiffer 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1725 中的提交，在 TUI 初始化之前分发子命令。\n* 修复（服务器）：通过 @cpfiffer 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1752 中的提交，在监听子命令中于遥测之前初始化设置。\n* 新增功能（频道）：通过 @cpfiffer 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1754 中的提交，为出站 Telegram 消息添加 Markdown 格式。\n* 修复（频道）：通过 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1757 中的提交，强化 Telegram 的 Markdown 格式。\n* 修复（频道）：通过 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1756 中的提交，将 Telegram 提醒作为内容片段发送。\n* 杂项：通过 @github-actions[bot] 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1751 中的提交，将版本号提升至 0.22.4。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.22.3...v0.22.4","2026-04-11T00:39:25",{"id":152,"version":153,"summary_zh":154,"released_at":155},206479,"v0.22.3","## 变更内容\n* 修复：由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1749 中将 grammY 从捆绑的 CLI 中外置\n* 功能：服务器端新增无头部署的 OAuth 设备流，由 @cpfiffer 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1731 中实现\n* 修复：内存管理：在提交钩子失败后取消暂存路径，由 @sarahwooders 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1734 中完成\n* 杂项：版本号升级至 0.22.3，由 @github-actions[bot] 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1750 中执行\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.22.2...v0.22.3","2026-04-10T21:50:48",{"id":157,"version":158,"summary_zh":159,"released_at":160},206480,"v0.22.2","## 变更内容\n* 修复：在 pre-commit 前置元数据校验器中跳过 YAML 继续行，由 @kuishou68 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1743 中完成\n* 修复：强化入站通道的回复提示，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1746 中完成\n* 修复（认证）：澄清 OAuth 设置中的网络错误，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1747 中完成\n* 杂项：将版本号升级至 0.22.2，由 @github-actions[bot] 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1748 中完成\n\n## 新贡献者\n* @kuishou68 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1743 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.22.1...v0.22.2","2026-04-10T17:43:49",{"id":162,"version":163,"summary_zh":164,"released_at":165},206481,"v0.22.1","## 变更内容\n* chore：由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1742 中清理文件\n* feat：由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1744 中添加实时 WebSocket 通道管理\n* chore：由 @github-actions[bot] 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1745 中将版本号升级至 0.22.1\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.22.0...v0.22.1","2026-04-10T04:52:04",{"id":167,"version":168,"summary_zh":169,"released_at":170},206482,"v0.22.0","## 变更内容\n* 功能：不再将自托管错误发送至遥测系统，由 @AriWebb 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1730 中实现\n* 杂项（代码所有者）：添加 WebSocket 的代码所有者，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1732 中完成\n* 修复：将 \u002Fempanada 配送半径从 5 英里更新为 10 英里，由 @cpfiffer 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1733 中完成\n* 功能（遥测）：通过消息 ID 范围跟踪反射的开始和结束，由 @sarahwooders 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1735 中实现\n* 修复：ExitPlanMode 恢复为默认模式，而非内存模式，由 @4shub 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1738 中完成\n* 功能：基于 Telegram MVP 的频道系统（仅限 WS，监听器模式），由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1737 中实现\n* 功能：在开发模式下，默认启用 LETTA_RESPONSES_WS=1，由 @jnjpng 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1736 中实现\n* 修复（CI）：修复失败的 CI 流程，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1740 中完成\n* 修复：统一监听器 task_notification 队列的语义，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1739 中完成\n* 杂项：版本号升级至 0.22.0，由 @github-actions[bot] 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1741 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.21.18...v0.22.0","2026-04-10T01:04:03",{"id":172,"version":173,"summary_zh":174,"released_at":175},206483,"v0.21.18","## 变更内容\n* 修复（memfs）：在内存 Git 克隆\u002F拉取过程中，修复因缺少当前工作目录而导致的问题，由 @sarahwooders 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1700 中完成。\n* 修复：允许通过 LETTA_REQUEST_TIMEOUT_MS 覆盖 SDK 请求超时时间，由 @cpfiffer 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1696 中完成。\n* 新增功能（Web）：添加历史标签页的搜索过滤器，由 @kianjones9 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1681 中完成。\n* 新增功能（memory-palace）：显示对话来源，并在执行过程中允许使用命令，由 @kianjones9 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1654 中完成。\n* 修复（CLI）：在状态界面中使用活跃对话的上下文窗口，由 @jnjpng 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1699 中完成。\n* 新增功能：添加 opus 1m LC 功能，由 @AriWebb 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1701 中完成。\n* 修复（技能）：在 sendMessageStream 中尊重 --no-skills 标志，由 @kl2806 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1703 中完成。\n* 修复：为内存同步提供 Windows 兼容的 Git 凭证助手，由 @sarahwooders 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1702 中完成。\n* 修复（技能）：将 memfs 技能包含在 client_skills 负载中，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1705 中完成。\n* 修复（权限）：添加缺失的只读 Git 子命令，并允许安全重定向，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1704 中完成。\n* 修复（导出）：在客户端嵌入技能，而不是将其 POST 到服务器，由 @kl2806 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1706 中完成。\n* 修复：会话覆盖率问题，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1708 中完成。\n* 修复（memfs）：在 memfs 插件切换后重新编译系统消息，由 @kl2806 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1709 中完成。\n* 修复（核心）：使 apply_patch 行为与 Codex 语义保持一致，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1710 中完成。\n* 修复（工具）：使 shell_command 截断行为与 Bash 一致，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1711 中完成。\n* 修复（工具）：允许在本地代理运行时返回图像工具结果，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1716 中完成。\n* 修复（核心）：从代理信息提醒中移除服务器位置，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1715 中完成。\n* 新增功能（技能）：添加内置的调度任务技能，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1714 中完成。\n* 测试（工具）：使 shell 截断测试跨平台兼容，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1713 中完成。\n* 新增功能（Web）：添加历史内容搜索模式，由 @kianjones9 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1683 中完成。\n* 新增功能：添加 \u002Fbtw 命令，用于分叉对话的侧向查询，由 @kianjones9 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1596 中完成。\n* 新增功能（listen）：添加对 list_memory 的引用，由 @christinatong01 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1698 中完成。\n* 新增功能：添加设备端文件监听功能（watch_file\u002Funwatch_file），由 @shelleypham 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1718 中完成。\n* 修复：将引导流程移至 OAuth 凭证验证之后，由 @jnjpng 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1723 中完成。\n* ","2026-04-08T23:14:06",{"id":177,"version":178,"summary_zh":179,"released_at":180},206484,"v0.21.17","## 变更内容\n* 修复(listen)：使用默认任务通知路径用于反射子代理，由 @christinatong01 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1682 中完成\n* 新增功能：为每位个性添加默认模型，并将 kawaii 设置为自动聊天模式，由 @sarahwooders 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1687 中完成\n* 修复(memfs)：在执行推送操作前刷新内存的 Git 远程仓库，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1688 中完成\n* 修复(core)：自动批准内存工具并统一 acceptEdits 行为，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1690 中完成\n* 修复：文件索引器未出现在 Letta Code 桌面端，由 @shelleypham 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1689 中完成\n* 修复：首次连接服务器时引导基础工具，由 @jnjpng 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1684 中完成\n* 新增功能：添加 glm-5.1，由 @AriWebb 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1694 中完成\n* 修复(cli)：在对话模型设置更新时应用 models.json 中的上下文窗口，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1660 中完成\n* 修复(listener)：在普通桌面模式下减少 WebSocket 热路径开销，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1695 中完成\n* 新增功能：强制在 .letta\u002Fworktrees\u002F 目录下创建工作树，由 @4shub 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1693 中完成\n* 杂项：版本号升级至 0.21.17，由 @github-actions[bot] 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1697 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.21.16...v0.21.17","2026-04-07T23:17:36",{"id":182,"version":183,"summary_zh":184,"released_at":185},206485,"v0.21.16","## 变更内容\n* 修复（memfs）：在出现临时性的 52x Git 错误时重试克隆\u002F拉取操作，由 @sarahwooders 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1675 中完成\n* 功能：新增 memory_history 和 memory_file_at_ref 设备命令，由 @shelleypham 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1637 中完成\n* 修复（CLI）：禁用新代理的自动初始化功能，由 @devanshrj 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1679 中完成\n* 杂项：将版本号升级至 0.21.16，由 @github-actions[bot] 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1677 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.21.15...v0.21.16","2026-04-06T22:57:05",{"id":187,"version":188,"summary_zh":189,"released_at":190},206486,"v0.21.15","## 变更内容\n* 修复(cli)：由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1672 中更新了信用不足错误提示文案。\n* 修复(recovery)：由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1674 中实现了对格式化后的 Cloudflare 521 错误的重试机制。\n* 杂项：由 @github-actions[bot] 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1673 中将版本号升级至 0.21.15。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.21.14...v0.21.15","2026-04-06T18:40:32",{"id":192,"version":193,"summary_zh":194,"released_at":195},206487,"v0.21.14","## 变更内容\n* 修复(listener)：停止同步恢复失败时向日志中大量输出转录内容，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1669 中完成。\n* 修复(listener)：在 WebSocket 流重试时中继中断信号，由 @cpacker 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1668 中完成。\n* 杂项：将版本号升级至 0.21.14，由 @github-actions[bot] 在 https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1670 中完成。\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.21.13...v0.21.14","2026-04-05T22:27:49",{"id":197,"version":198,"summary_zh":199,"released_at":200},206488,"v0.21.13","## What's Changed\n* fix(skills): resolve memfs skill lookup in Skill tool by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1649\n* fix(shell): apply agent git identity for memory-dir commits by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1640\n* fix(cron): replace deprecated recursive rmdir by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1665\n* fix(listener): refresh loop status when plan file path changes by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1666\n* chore: bump version to 0.21.13 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1667\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.21.12...v0.21.13","2026-04-05T01:21:40",{"id":202,"version":203,"summary_zh":204,"released_at":205},206489,"v0.21.12","## What's Changed\n* fix(listener): include plan file path in loop state by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1662\n* fix(permissions): scope memory subagents to memory roots by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1656\n* fix(skills): add pre-commit hook guidance to working-in-parallel by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1655\n* chore: bump version to 0.21.12 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1664\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.21.11...v0.21.12","2026-04-04T23:18:27",{"id":207,"version":208,"summary_zh":209,"released_at":210},206490,"v0.21.11","## What's Changed\n* fix(listener): preserve websocket loop error details by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1650\n* fix(listener): unwind hidden approvals after interrupt by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1657\n* fix(cli): preserve conversation context window on reasoning updates by @jnjpng in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1652\n* revert: \"fix(cli): preserve conversation context window on reasoning updates\" by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1659\n* chore: bump version to 0.21.11 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1658\n* fix(ci): stop self-upgrading npm in release workflow by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1661\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.21.10...v0.21.11","2026-04-04T07:01:43",{"id":212,"version":213,"summary_zh":214,"released_at":215},206491,"v0.21.10","## What's Changed\n* fix(ci): restore npm trusted publishing workflow path by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1635\n* fix(context_doctor): align terminology with context constitution by @devanshrj in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1611\n* feat(init): Update init skill by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1609\n* fix(ci): skip heavy jobs for version bump releases by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1636\n* fix(ci): reduce CLI integration CI flake surfaces by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1632\n* fix(listen): update_subagents should show all statuses by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1643\n* fix(listener): suppress stale approval recovery notices in transcript by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1641\n* docs: add [[path]] indexing instructions to system prompt and memory tool by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1642\n* fix(listener): make approval request projection atomic by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1644\n* chore: bump version to 0.21.10 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1647\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.21.9...v0.21.10","2026-04-03T06:07:58",{"id":217,"version":218,"summary_zh":219,"released_at":220},206492,"v0.21.9","## What's Changed\n* chore: bump version to 0.21.8 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1630\n* feat(listen): Add websocket approval suggestion support by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1629\n* fix(ci): publish releases from merged main commits by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1631\n* chore: bump version to 0.21.9 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1634\n\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fcompare\u002Fv0.21.8...v0.21.9","2026-04-02T18:04:04",{"id":222,"version":223,"summary_zh":224,"released_at":225},206493,"v0.21.8","Changes from 0.21.7 to 0.21.8\n\n\n## What's Changed\n* feat: show provider status page links on downstream LLM errors by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1523\n* fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1524\n* Shub\u002Ffix indexing 1 by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1527\n* feat: add baseten kimi by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1529\n* fix(listener): set interrupt cache for background tasks and pending approvals by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1531\n* feat(cli): add optional summary argument to \u002Ffork command by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1530\n* fix: prevent file indexer OOM crash on large workspaces by @shelleypham in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1533\n* feat(listen): enable session-context and agent-info reminders in listen mode by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1536\n* recommendation to run `\u002Fdoctor` (on startup only) for >30k sys prompt by @amysguan in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1513\n* refactor: use byte-based token estimation instead of char-based heuristic by @kl2806 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1060\n* Shub\u002Flet 7914 add support for commands eg sending init by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1534\n* feat: add edit file functionality to the client side by @shelleypham in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1544\n* feat(telemetry): add surface tagging for runtime mode by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1545\n* chore: add codeowners for system prompt\u002Fmemfs scope by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1547\n* fix: don't have file for secrets by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1543\n* chore: bump to next version by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1554\n* fix(tui): react key err for subagent footer by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1555\n* feat(listen): sync memfs repo on first message for remote agents by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1546\n* fix: graceful retry on 521\u002Ftransient errors in remote mode by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1552\n* feat: add fork subagent type for conversation forking by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1539\n* perf(cli): use internal search cache warm endpoint by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1540\n* feat(cron): in-process cron scheduler for WS listener by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1538\n* fix(ci): open PR for version bump instead of pushing directly to main by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1558\n* perf(search): fetch active results before prefetching by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1553\n* feat: expose CONVERSATION_ID in shell env and agent info reminder by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1557\n* fix(ci): add pull-requests permission and remove [skip ci] from versi… by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1559\n* chore: bump version to 0.20.0 by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1560\n* chore: bump version to 0.21.0 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1561\n* docs: Update README.md by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1562\n* fix(skills): standardize script path references across built-in skills by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1563\n* fix(telemetry): complete boundary error coverage plan by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1551\n* feat: advertise supported remote commands in device status [LET-8218] by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1568\n* chore: bump version to 0.21.1 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1565\n* feat(listener): add websocket reflection and sleeptime parity by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1567\n* feat: add \u002Fdoctor remote command with supported_commands advertising … by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1572\n* feat: add skill enabling and disabling by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1573\n* feat: tighten resume message fetching by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1550\n* chore: bump version to 0.21.2 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1577\n* fix(ci): retry flaky interrupt control request test on Windows by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1576\n* fix(listen): add reflection step count by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1578\n* feat(benchmark): add error classification to terminal-bench reports by @devanshrj in https:\u002F\u002F","2026-04-02T01:55:59",{"id":227,"version":228,"summary_zh":229,"released_at":230},206494,"v0.21.7","Changes from 0.21.6 to 0.21.7\n\n\n## What's Changed\n* feat: show provider status page links on downstream LLM errors by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1523\n* fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1524\n* Shub\u002Ffix indexing 1 by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1527\n* feat: add baseten kimi by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1529\n* fix(listener): set interrupt cache for background tasks and pending approvals by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1531\n* feat(cli): add optional summary argument to \u002Ffork command by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1530\n* fix: prevent file indexer OOM crash on large workspaces by @shelleypham in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1533\n* feat(listen): enable session-context and agent-info reminders in listen mode by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1536\n* recommendation to run `\u002Fdoctor` (on startup only) for >30k sys prompt by @amysguan in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1513\n* refactor: use byte-based token estimation instead of char-based heuristic by @kl2806 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1060\n* Shub\u002Flet 7914 add support for commands eg sending init by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1534\n* feat: add edit file functionality to the client side by @shelleypham in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1544\n* feat(telemetry): add surface tagging for runtime mode by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1545\n* chore: add codeowners for system prompt\u002Fmemfs scope by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1547\n* fix: don't have file for secrets by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1543\n* chore: bump to next version by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1554\n* fix(tui): react key err for subagent footer by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1555\n* feat(listen): sync memfs repo on first message for remote agents by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1546\n* fix: graceful retry on 521\u002Ftransient errors in remote mode by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1552\n* feat: add fork subagent type for conversation forking by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1539\n* perf(cli): use internal search cache warm endpoint by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1540\n* feat(cron): in-process cron scheduler for WS listener by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1538\n* fix(ci): open PR for version bump instead of pushing directly to main by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1558\n* perf(search): fetch active results before prefetching by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1553\n* feat: expose CONVERSATION_ID in shell env and agent info reminder by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1557\n* fix(ci): add pull-requests permission and remove [skip ci] from versi… by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1559\n* chore: bump version to 0.20.0 by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1560\n* chore: bump version to 0.21.0 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1561\n* docs: Update README.md by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1562\n* fix(skills): standardize script path references across built-in skills by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1563\n* fix(telemetry): complete boundary error coverage plan by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1551\n* feat: advertise supported remote commands in device status [LET-8218] by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1568\n* chore: bump version to 0.21.1 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1565\n* feat(listener): add websocket reflection and sleeptime parity by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1567\n* feat: add \u002Fdoctor remote command with supported_commands advertising … by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1572\n* feat: add skill enabling and disabling by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1573\n* feat: tighten resume message fetching by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1550\n* chore: bump version to 0.21.2 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1577\n* fix(ci): retry flaky interrupt control request test on Windows by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1576\n* fix(listen): add reflection step count by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1578\n* feat(benchmark): add error classification to terminal-bench reports by @devanshrj in https:\u002F\u002F","2026-04-01T17:38:33",{"id":232,"version":233,"summary_zh":234,"released_at":235},206495,"v0.21.6","Changes from 0.21.5 to 0.21.6\n\n\n## What's Changed\n* feat: show provider status page links on downstream LLM errors by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1523\n* fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1524\n* Shub\u002Ffix indexing 1 by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1527\n* feat: add baseten kimi by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1529\n* fix(listener): set interrupt cache for background tasks and pending approvals by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1531\n* feat(cli): add optional summary argument to \u002Ffork command by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1530\n* fix: prevent file indexer OOM crash on large workspaces by @shelleypham in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1533\n* feat(listen): enable session-context and agent-info reminders in listen mode by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1536\n* recommendation to run `\u002Fdoctor` (on startup only) for >30k sys prompt by @amysguan in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1513\n* refactor: use byte-based token estimation instead of char-based heuristic by @kl2806 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1060\n* Shub\u002Flet 7914 add support for commands eg sending init by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1534\n* feat: add edit file functionality to the client side by @shelleypham in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1544\n* feat(telemetry): add surface tagging for runtime mode by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1545\n* chore: add codeowners for system prompt\u002Fmemfs scope by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1547\n* fix: don't have file for secrets by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1543\n* chore: bump to next version by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1554\n* fix(tui): react key err for subagent footer by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1555\n* feat(listen): sync memfs repo on first message for remote agents by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1546\n* fix: graceful retry on 521\u002Ftransient errors in remote mode by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1552\n* feat: add fork subagent type for conversation forking by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1539\n* perf(cli): use internal search cache warm endpoint by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1540\n* feat(cron): in-process cron scheduler for WS listener by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1538\n* fix(ci): open PR for version bump instead of pushing directly to main by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1558\n* perf(search): fetch active results before prefetching by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1553\n* feat: expose CONVERSATION_ID in shell env and agent info reminder by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1557\n* fix(ci): add pull-requests permission and remove [skip ci] from versi… by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1559\n* chore: bump version to 0.20.0 by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1560\n* chore: bump version to 0.21.0 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1561\n* docs: Update README.md by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1562\n* fix(skills): standardize script path references across built-in skills by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1563\n* fix(telemetry): complete boundary error coverage plan by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1551\n* feat: advertise supported remote commands in device status [LET-8218] by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1568\n* chore: bump version to 0.21.1 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1565\n* feat(listener): add websocket reflection and sleeptime parity by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1567\n* feat: add \u002Fdoctor remote command with supported_commands advertising … by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1572\n* feat: add skill enabling and disabling by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1573\n* feat: tighten resume message fetching by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1550\n* chore: bump version to 0.21.2 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1577\n* fix(ci): retry flaky interrupt control request test on Windows by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1576\n* fix(listen): add reflection step count by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1578\n* feat(benchmark): add error classification to terminal-bench reports by @devanshrj in https:\u002F\u002F","2026-04-01T06:33:10",{"id":237,"version":238,"summary_zh":239,"released_at":240},206496,"v0.21.5","Changes from 0.21.4 to 0.21.5\n\n\n## What's Changed\n* feat: show provider status page links on downstream LLM errors by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1523\n* fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1524\n* Shub\u002Ffix indexing 1 by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1527\n* feat: add baseten kimi by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1529\n* fix(listener): set interrupt cache for background tasks and pending approvals by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1531\n* feat(cli): add optional summary argument to \u002Ffork command by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1530\n* fix: prevent file indexer OOM crash on large workspaces by @shelleypham in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1533\n* feat(listen): enable session-context and agent-info reminders in listen mode by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1536\n* recommendation to run `\u002Fdoctor` (on startup only) for >30k sys prompt by @amysguan in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1513\n* refactor: use byte-based token estimation instead of char-based heuristic by @kl2806 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1060\n* Shub\u002Flet 7914 add support for commands eg sending init by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1534\n* feat: add edit file functionality to the client side by @shelleypham in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1544\n* feat(telemetry): add surface tagging for runtime mode by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1545\n* chore: add codeowners for system prompt\u002Fmemfs scope by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1547\n* fix: don't have file for secrets by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1543\n* chore: bump to next version by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1554\n* fix(tui): react key err for subagent footer by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1555\n* feat(listen): sync memfs repo on first message for remote agents by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1546\n* fix: graceful retry on 521\u002Ftransient errors in remote mode by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1552\n* feat: add fork subagent type for conversation forking by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1539\n* perf(cli): use internal search cache warm endpoint by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1540\n* feat(cron): in-process cron scheduler for WS listener by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1538\n* fix(ci): open PR for version bump instead of pushing directly to main by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1558\n* perf(search): fetch active results before prefetching by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1553\n* feat: expose CONVERSATION_ID in shell env and agent info reminder by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1557\n* fix(ci): add pull-requests permission and remove [skip ci] from versi… by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1559\n* chore: bump version to 0.20.0 by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1560\n* chore: bump version to 0.21.0 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1561\n* docs: Update README.md by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1562\n* fix(skills): standardize script path references across built-in skills by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1563\n* fix(telemetry): complete boundary error coverage plan by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1551\n* feat: advertise supported remote commands in device status [LET-8218] by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1568\n* chore: bump version to 0.21.1 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1565\n* feat(listener): add websocket reflection and sleeptime parity by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1567\n* feat: add \u002Fdoctor remote command with supported_commands advertising … by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1572\n* feat: add skill enabling and disabling by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1573\n* feat: tighten resume message fetching by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1550\n* chore: bump version to 0.21.2 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1577\n* fix(ci): retry flaky interrupt control request test on Windows by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1576\n* fix(listen): add reflection step count by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1578\n* feat(benchmark): add error classification to terminal-bench reports by @devanshrj in https:\u002F\u002F","2026-03-31T23:59:45",{"id":242,"version":243,"summary_zh":244,"released_at":245},206497,"v0.21.4","Changes from 0.21.3 to 0.21.4\n\n\n## What's Changed\n* feat: show provider status page links on downstream LLM errors by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1523\n* fix(cli): allow forking default conversation with agent_id param and move to using the SDK by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1524\n* Shub\u002Ffix indexing 1 by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1527\n* feat: add baseten kimi by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1529\n* fix(listener): set interrupt cache for background tasks and pending approvals by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1531\n* feat(cli): add optional summary argument to \u002Ffork command by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1530\n* fix: prevent file indexer OOM crash on large workspaces by @shelleypham in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1533\n* feat(listen): enable session-context and agent-info reminders in listen mode by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1536\n* recommendation to run `\u002Fdoctor` (on startup only) for >30k sys prompt by @amysguan in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1513\n* refactor: use byte-based token estimation instead of char-based heuristic by @kl2806 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1060\n* Shub\u002Flet 7914 add support for commands eg sending init by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1534\n* feat: add edit file functionality to the client side by @shelleypham in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1544\n* feat(telemetry): add surface tagging for runtime mode by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1545\n* chore: add codeowners for system prompt\u002Fmemfs scope by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1547\n* fix: don't have file for secrets by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1543\n* chore: bump to next version by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1554\n* fix(tui): react key err for subagent footer by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1555\n* feat(listen): sync memfs repo on first message for remote agents by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1546\n* fix: graceful retry on 521\u002Ftransient errors in remote mode by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1552\n* feat: add fork subagent type for conversation forking by @sarahwooders in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1539\n* perf(cli): use internal search cache warm endpoint by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1540\n* feat(cron): in-process cron scheduler for WS listener by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1538\n* fix(ci): open PR for version bump instead of pushing directly to main by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1558\n* perf(search): fetch active results before prefetching by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1553\n* feat: expose CONVERSATION_ID in shell env and agent info reminder by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1557\n* fix(ci): add pull-requests permission and remove [skip ci] from versi… by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1559\n* chore: bump version to 0.20.0 by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1560\n* chore: bump version to 0.21.0 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1561\n* docs: Update README.md by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1562\n* fix(skills): standardize script path references across built-in skills by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1563\n* fix(telemetry): complete boundary error coverage plan by @carenthomas in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1551\n* feat: advertise supported remote commands in device status [LET-8218] by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1568\n* chore: bump version to 0.21.1 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1565\n* feat(listener): add websocket reflection and sleeptime parity by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1567\n* feat: add \u002Fdoctor remote command with supported_commands advertising … by @4shub in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1572\n* feat: add skill enabling and disabling by @AriWebb in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1573\n* feat: tighten resume message fetching by @kianjones9 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1550\n* chore: bump version to 0.21.2 by @github-actions[bot] in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1577\n* fix(ci): retry flaky interrupt control request test on Windows by @cpacker in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1576\n* fix(listen): add reflection step count by @christinatong01 in https:\u002F\u002Fgithub.com\u002Fletta-ai\u002Fletta-code\u002Fpull\u002F1578\n* feat(benchmark): add error classification to terminal-bench reports by @devanshrj in https:\u002F\u002F","2026-03-30T17:44:38"]