工程发布于 2026-01-18·约 8 分钟阅读
CodeFlux:尊重你仓库的离线结对编程伙伴
一个 7B 量级的代码模型本地运行,配上项目感知的检索。为什么\"小模型 + 合适上下文\"会胜过\"大模型 + 无上下文\"。
论点
一个 7B 量级的代码模型,本地运行,并被喂入你仓库里恰当的那一片作为上下文,比一个对你代码库一无所知的前沿云模型更有用。
这不是关于跑分的主张。这是关于"你真的会接受的补全"的主张。CodeFlux 建立在这条论点之上。
架构
三个端侧组件协同工作:
- 模型。 一个量化的 7B 代码模型(我们评估 Qwen-2.5-Coder、DeepSeek-Coder-V2-Lite 与 StarCoder2 衍生模型;选每个平台上能交付的最快 4-bit 版本)。Apple silicon 上用 MLX,PC/Linux 用 llama.cpp,Windows ARM 用 ONNX Runtime。
- 仓库索引。 仓库的本地向量索引,文件保存时刷新。我们用三个粒度做嵌入:文件、符号、行区间。索引是仓库里
.codeflux/下的单个 SQLite 文件。 - 检索层。 你打字时,我们看周围代码、文件导入、附近符号,拉取 top-K 最相关的其它文件,拼进提示词,开干。
为什么"代码"必须本地
- 你的仓库是你拥有的最敏感的东西。唯一应该看见它全部的模型,是跑在你机器内部的那个。
- 你的代码也是这个模型能拿到的最具个人风格的输入。云模型会向 GitHub 的"平均风格"归一;条件化在你仓库上的本地模型,写出来的代码与你贴合。
- 行内补全的延迟以几百毫秒为单位。一次到云的往返,是你每一次按键都要交的税。
CodeFlux 现在做什么
- 可取消的行内补全:你继续打字时,在飞的推理被取消并重启。模型从不阻塞编辑器。
- 以仓库为锚的对话。 问 "auth 中间件在哪?",CodeFlux 检索相关文件再回答——引用具体行号。
- 基于选区的编辑。 高亮一个函数,要求重构,diff 以正常 review 的形式出现。接受、丢弃、再编辑都行。
- 按需测试。 "为这个文件生成测试",按项目已有测试框架产出一个候选测试文件,imports 正确解析。
CodeFlux 不做什么
- 没有自治 agent。 没有那种在你仓库里不经审查就采取动作的长跑 coding agent。等可靠性配得上时我们再考虑。
- 不上报你问什么、我们推荐什么。 一条都不。在开发者工具里,这是最难抵抗的诱惑,也是我们最坚决要拒绝的。
- 任何功能都不依赖云。 断网不会让任何能力降级。
坦率的局限
- 一个 7B 代码模型,在最难的高强度推理重构上比不过前沿 200B+ 模型。我们给你一键 escape:把一段脱敏的片段发给你选择的云模型。由你决定厂商、由你决定脱敏配置。
- 在超大 monorepo 上首次索引慢。我们做一个按机器缓存,发布一个 git-ignore 的
.codeflux/布局,让二次打开瞬间完成。
CodeFlux 不是榜单第一的模型。它是在你的代码上"被采纳率"最高的模型——因为它真的读过你的代码。