这不是又一个 AI 套壳玩具,而是一个从底层一步步搓出来的本地编码工作台。
掐指一算,我折腾 Generic Coder 这个 Rust 原生 AI 编码工作台已经好一阵子了。之前的主要矛盾是:面对不同任务,同一个 Agent 行为策略总得调——查个问题用深度推理太慢,写代码又嫌轻量模式不够给力。
于是我干了一件事:给它装了个四冲程发动机。
🔍 Ask · 📋 Plan · 🔨 Build · 🔎 Review
这四个模式不是简单改改 prompt 就完事。每个模式都是独立的行为策略,且都支持 100 轮超长任务预算:
| Ask | |
| Plan | |
| Build | |
| Review |
更骚的是自动模式识别:不选模式时,Agent 会自动分析输入内容的关键词,预选最合适的模式。当然,你可以随时手动覆盖,用户选择永远优先。
而说到交互优化,这次的细节打磨我自己都很满意:
- Enter 发送,Shift+Enter 换行
——听起来简单?我花了不少功夫把中文拼音输入法的确认回车正确排除掉,IME 感知可不是一句空话 - ArrowUp/ArrowDown 翻历史命令
——每一条历史都带着附件状态一起恢复,不掉链子 - 红色 ■ 停止按钮
——一键终止所有后台 Agent 任务 - Agent Logs 开关
——想看推理过程就开着,嫌吵就关掉,Streaming 输出零额外延迟
🚄 再说说那个被低估的 LLM 优化器管道
大多数「本地编码工具」只是包了一层 API 调用。我给 Generic Coder 加了实打实的四阶段优化管道(temp/optimizer/ crate),目前已上线两个阶段:
P0 – 网络层:HTTP/2 连接池消除 TCP 握手开销;SSE 零拷贝解析器让流式 token 处理的 CPU 占用降了 50%;前缀缓存感知的 Prompt 编排能最大限度提高 DeepSeek 的缓存命中率。
P1 – 内存层:bumpalo Arena 分配器把请求级内存分配开销砍了 80%;基于信息熵的动态 Prompt 压缩会在发送前剔除低信息量 token;请求优先级队列确保用户可见的请求优先于后台预取。
P2(自适应限流 + 多模型智能路由)正在施工中,P3(SIMD 加速分词 + 本地 KV 缓存降级)已经排上日程。
🖥 视觉上的那些事
UI 方面也做了不少「看不见但舒服」的改进:
字体系统全面切换为 Apple 原生字体栈( -apple-system+ SF Pro),所有按钮图标放大 2.5 倍到 40×40px,窗口默认 1440×960- Workflow Builder 节点拖拽
——Work → Plan → Review 管道可视化,拖拽连线 - Token 用量实时统计
——左下角模型状态卡按命令聚合,不玩虚的 - 工作区文件树可折叠
,平滑动画,不占视觉空间 - 文件行内预览
——点击文件直接在会话区渲染文本或图片 - Chrome 路径自动检测
——Computer Use 自动找 Chrome/Chromium,macOS/Linux/Windows 全平台支持
放两张图感受一下:
聊天工作区

工作流拖拽 Builder

最后说点实在的
这段时间的优化,目标一直没变:让 Generic Coder 成为一个真正能日常使用的本地 AI 编码工作台,而不是一个跑个 demo 就吃灰的玩具。
- 内置 15+ LLM 提供商预设
(DeepSeek / Qwen / Kimi / MiniMax / Doubao / OpenAI / Anthropic / OpenRouter……),换模型不需要翻文档查 Base URL - ACP 多智能体协作
(Orchestrator + Specialist 架构),复杂任务真的可以拆给多个 Agent 并行 - One Shot 自主模式
,外层发散 + 内层执行,适合需要脑暴的任务 - 持久化错误记忆
——同样的错误不犯第二次 - SSH 远程连接
,远程开发和本地开发用同一个界面 - 7 项预设技能
,还能远程安装新技能
哦对,现在还有 Electron macOS 安装包(arm64 + x64 都有),装了就完事,不用配环境。
项目完全开源(MIT),地址在 github.com/sapsapshen/Generic-Coder-Rust,启动也很简单:
cargo run -- serve --host 127.0.0.1 --port 8765
或者 macOS/Linux 用户直接 bash start-generic-coder.sh,Windows 双击 start-generic-coder.bat,打开浏览器就开干。
夜雨聆风