refact
Rust 编写的本地优先 AI 编程 Agent,深度集成 IDE,支持 50+ 工具自主执行开发任
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
Rust 编写的本地优先 AI 编程 Agent,深度集成 IDE,支持 50+ 工具自主执行开发任
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样的场景:你正在开发一个复杂的 Python 后端服务,遇到了一个棘手的 bug——栈追踪很深,涉及异步代码和数据库查询。你打开 AI 助手窗口,它不仅能阅读你的代码,还能直接运行调试器、查询 PostgreSQL 数据库、访问 GitHub PR 记录,甚至打开 Chrome 浏览器帮你验证 UI 问题。这不是科幻,而是 Refact 正在做的事。
Refact 是一个开源、本地优先的 AI 编程 Agent 项目,核心由 Rust 编写(refact-lsp 二进制),通过 LSP 协议与 IDE(VSCode、IntelliJ)深度集成。它不是简单的代码补全工具,而是一个能真正替代部分开发工作的自主 Agent。
Refact 架构图
Refact 最早由 smallcloudai 公司开发,曾运营过 Refact Cloud 云端服务。然而,随着开源社区对数据隐私的重视以及自托管需求的增长,项目团队做出了一个重要决定:关闭 Refact Cloud,将重心转向完全本地优先的部署模式。
这个转变极具行业代表性——它反映了一个更大的趋势:AI 编程工具正在从"云端大脑"转向"本地推理引擎",代码和数据始终留在开发者机器上,模型选择权交给用户(BYOK, Bring Your Own Key)。
[!NOTE] 原维护方 smallcloudai 已于 2026 年停止活跃开发,项目已迁移至社区分支 JegernOUTT/refact。当前仓库作为历史存档保留。
Refact 的架构设计体现了专业化分工的思路,整个项目拆分为四个主要组件:
这是 Refact 的核心大脑,一个同时充当 LSP 服务器和 HTTP 服务器的二进制程序(refact-lsp)。技术栈极为丰富:
引擎通过 LSP 协议与 IDE 通信,同时暴露出 27+ 个 HTTP API 端点,供 GUI 和外部工具调用。聊天模块(chat/)就有 22+ 个文件、近 15K 行代码,涵盖会话管理、生成流式输出、工具调度和轨迹记忆等核心功能。
独立部署的 React 18 + TypeScript 聊天界面,通过 Redux Toolkit(RTK Query)与引擎通信。支持三种模式:
官方提供 VSCode(TypeScript)和 JetBrains IntelliJ(Kotlin)两个插件,负责在 IDE 和引擎之间传递上下文、管理文件操作和主题同步。
这是 Refact 区别于其他 AI 编程工具的关键——它支持 15+ 种 LLM 提供商,包括: Anthropic Claude、OpenAI GPT 系列、DeepSeek、Codex、Gemini、Groq、LM Studio、Ollama、OpenRouter、vLLM、xAI Grok、Claude Code,以及自定义 API 端点。
用户完全控制模型选择和数据流向——可以选择调用本地 Ollama/vLLM(代码完全不离开机器),也可以接入云端 API 获得更强推理能力。
凭借 tree-sitter 实现的 AST 索引,Refact 能够理解代码的语法结构而不仅仅是文本匹配。这意味着它能:
Refact 内置 50+ 种工具,分为几大类:
Agent 的工作流程是规划→执行→验证→迭代,它会将任务分解为步骤,逐步调用工具,并在失败时自动重试或换用替代方案。
docs 目录包含完整的 Astro 构建文档站点,有独立 Dockerfile,可一键部署为 Nginx 静态站点。
Refact 不是一个"一键安装"的工具,但也不是特别复杂。主要挑战在于:
推荐安装路径:
cargo build --release),获得最佳性能和完整定制能力docs/Dockerfile 提供开箱即用的 Nginx 镜像Refact 代表了 AI 编程工具的一条独特路线——本地优先 + 深度 IDE 集成 + 工具生态。它与 GitHub Copilot(云端集成)、Cursor(Electron 应用)、Cline(VSCode 插件)等路线各有侧重。
最值得关注的是它的工具调用架构:不仅让 AI 读代码,还能让它"动手做事"——运行命令、查数据库、开浏览器。这种能力边界正在快速扩展,未来很可能成为 AI 编程助手的标准形态。
随着 MCP(Model Context Protocol)的普及,Refact 的工具体系有望与更广泛的 AI Agent 生态互通,进一步放大其价值。