开篇钩子
不是每个开发者都喜欢在 Electron 套壳的编辑器里写代码。对于 Vim/Neovim/Emacs 用户、SSH 远程开发的运维、以及那些觉得「多开一个 VS Code 窗口就是多占用 2GB 内存」的极简主义者来说,在终端里直接跟 AI 对话、让它改代码、跑测试,才是理想的工作流。
这就是 Qoder(原 Quarto Coder)试图解决的问题。
我在三台机器上装了 Qoder——一台 Arch Linux 桌面、一台 Ubuntu 服务器、还有一台通过 SSH 连接的树莓派。用了快一个月,我的感受是复杂的:它确实填补了一个市场空白,但粗糙的边缘也让人头疼。
核心体验
Qoder 是一个完全运行在终端里的 TUI(文本用户界面)应用。打开方式很简单——在项目目录下敲 qoder,一个分屏界面就会接管你的终端:左侧是文件树和代码预览,右侧是对话面板,底部是输入区。纯键盘操作,全程不需要碰鼠标。
这种体验对于终端居民来说非常自然。快捷键设计借鉴了 Vim 的哲学(j/k 导航,/ 搜索,dd 删除),如果你本来就会 Vim,上手大概只需要 10 分钟。但如果你习惯了 VS Code 的鼠标操作,学习曲线会陡峭不少。
最让我惊喜的是它的响应速度。因为是纯终端渲染,没有 DOM、没有 CSS 布局、没有 JavaScript 引擎的开销,AI 对话的流式输出延迟比 Web 前端低了大约 30-50%。在 SSH 连接下这个差距更明显——Qoder 通过 Mosh 或者 tmux 远程使用时,打字体验几乎和本地一致。
不过也有让我血压升高的时刻。Qoder 的 TUI 框架(基于 Bubble Tea / Textual 一类)在某些终端模拟器上有渲染 Bug。我在 Alacritty 上遇到了中文字符对齐错乱,在 Windows Terminal 上则出现了颜色主题冲突。切换到 Kitty 终端后问题才消失。官方文档里对终端兼容性几乎没提,这一点让我很不爽。
功能深挖
多模型后端:从云端到本地的自由
Qoder 的模型支持是它相对于商业工具最大的差异点。它提供了三种后端接入方式:
云端 API:OpenAI(GPT-5)、Anthropic(Claude 4)、Google(Gemini 3.1)等主流服务商。配置方式是在
~/.config/qoder/config.toml里填入 API key。Ollama 本地模型:如果你在乎数据隐私或者网络不稳定,可以对接本地 Ollama 实例。我试了 Qwen 3 和 Llama 4 的 7B/8B 版本,代码补全的质量和云端有差距,但代码解释和简单重构任务上完全可用。
自定义 Agent:这是 Qoder 最被低估的功能。你可以用 YAML/Toml 定义自定义 Agent 的行为模式:
[agent.code-review]
model = "claude-4"
prompt = """你是一个代码审查专家。请检查以下代码的:
1. 安全漏洞
2. 性能问题
3. 可读性问题
对每个问题给出严重程度和修复建议。"""
tools = ["read_file", "search_codebase"]这个 Agent 系统虽然不如 Claude Code 的 MCP 生态丰富,但对于团队内部定制常见工作流已经够用了。
项目级代码理解
启动 Qoder 后,它会在后台分析项目的文件结构、Git 历史、代码依赖关系,生成一个本地向量索引。索引是增量更新的,不会每次启动都全量重建。
我在一个 Rust 的微服务项目上测试了它的跨文件引用能力。问它「这个 API handler 依赖了哪些 middleware?」它能准确列出 4 个中间件的文件路径,并解释每个的职责。但当项目文件超过 500 个时,索引查询延迟开始达到 2-3 秒,而且偶尔会遗漏动态 import 的模块。
终端集成的实际威力
因为 Qoder 本身就是终端程序,它可以直接执行 Shell 命令并捕获输出。这意味着你可以这样跟它交互:
> 帮我跑一下测试,如果有失败的,分析原因并尝试修复然后 Qoder 会执行 cargo test(或 pytest、npm test),解析失败信息,定位到具体代码,尝试修复,然后重新运行测试——全程在你的终端里自动完成。这种「看得到每一步在做什么」的透明度,比 IDE 里的 Agent 模式更让人放心。
真实评测
优点
- 完全开源(MIT 协议),代码在 GitHub 上公开,没有隐藏的数据收集。
- 纯终端 TUI,内存占用通常在 50-100MB(对比 VS Code + Copilot 的 500MB+)。
- 支持 Ollama 本地模型,数据完全不离开机器。
- 自定义 Agent 系统灵活,团队可以沉淀自己的编程工作流。
- SSH/Mosh 环境下表现优异。
- 响应速度快,流式输出延迟低。
缺点
- 终端模拟器兼容性看运气(Alacritty、Windows Terminal 有已知问题)。
- 文档严重不足,很多功能需要翻源码或者 GitHub Issues 才能搞明白怎么配置。
- 不支持可视化预览(前端开发者慎入)。
- Agent 系统的错误恢复机制弱——任务失败后不会自动重试或降级策略。
- 项目规模超过 500 个文件后索引性能明显下降。
- 社区规模小,遇到问题可能几天没人回复。
我的综合评价是:如果你愿意投入时间折腾配置,Qoder 可以成为你的日常编程伙伴。但如果你期望开箱即用,它可能会让你失望。
横向对比
| 特性 | Qoder | Claude Code | Codex CLI |
|---|---|---|---|
| 类型 | 开源 TUI | 商业 CLI | 开源 CLI |
| 价格 | 免费 | 需 Claude 订阅 | ChatGPT 订阅/API |
| 本地模型 | 支持(Ollama) | 不支持 | 不支持 |
| 自定义 Agent | YAML 配置 | MCP + Skills | SDK 编程 |
| 文档质量 | 较差 | 优秀 | 良好 |
| 前端预览 | 不支持 | 不支持 | 支持(Desktop App) |
| 国内访问 | 取决于后端 | 需要稳定网络 | 需要稳定网络 |
当你想用本地模型保持数据隐私时,选 Qoder。当你追求官方支持和成熟生态时,Claude Code 更稳。当你是 OpenAI 全家桶用户时,Codex CLI 最省事。
适用人群
推荐给: Vim/Neovim/Emacs 用户、服务器端远程开发者、对数据隐私敏感的工程师、喜欢折腾配置的极客、想用本地模型降低成本的个人开发者。
不建议: 前端开发者(缺少可视化预览)、期望开箱即用的小白、大型企业团队(文档和社区支持不足)、Windows 用户(终端兼容性最差)。
上手建议
- 推荐终端:Kitty 或 iTerm2。在 Alacritty 上中文渲染有 Bug。
- 首次启动先配置模型,否则 Qoder 只会给出文本建议,不会操作文件:toml
# ~/.config/qoder/config.toml [model] provider = "openai" api_key = "sk-..." default_model = "gpt-5" - 本地模型建议至少 7B 参数以上,3B 及以下的模型用于代码理解和补全效果很差。
- 自定义 Agent 从简单开始:先写一个「运行测试→检查 lint→自动格式化」的 Agent,验证它能正常工作后再增加复杂度。
- 大项目使用前检查索引状态:
qoder index status可以看索引是否完成,未完成就急着用会导致不准确的代码引用。 - 加入 Discord 或 GitHub Discussions 社区,虽然人不多,但活跃的那几个用户非常热心。