札记
工程发布于 2026-01-18·约 8 分钟阅读

CodeFlux:尊重你仓库的离线结对编程伙伴

一个 7B 量级的代码模型本地运行,配上项目感知的检索。为什么\"小模型 + 合适上下文\"会胜过\"大模型 + 无上下文\"。

论点

一个 7B 量级的代码模型,本地运行,并被喂入你仓库里恰当的那一片作为上下文,比一个对你代码库一无所知的前沿云模型更有用。

这不是关于跑分的主张。这是关于"你真的会接受的补全"的主张。CodeFlux 建立在这条论点之上。

架构

三个端侧组件协同工作:

  1. 模型。 一个量化的 7B 代码模型(我们评估 Qwen-2.5-Coder、DeepSeek-Coder-V2-Lite 与 StarCoder2 衍生模型;选每个平台上能交付的最快 4-bit 版本)。Apple silicon 上用 MLX,PC/Linux 用 llama.cpp,Windows ARM 用 ONNX Runtime。
  2. 仓库索引。 仓库的本地向量索引,文件保存时刷新。我们用三个粒度做嵌入:文件、符号、行区间。索引是仓库里 .codeflux/ 下的单个 SQLite 文件。
  3. 检索层。 你打字时,我们看周围代码、文件导入、附近符号,拉取 top-K 最相关的其它文件,拼进提示词,开干。

为什么"代码"必须本地

  • 你的仓库是你拥有的最敏感的东西。唯一应该看见它全部的模型,是跑在你机器内部的那个。
  • 你的代码也是这个模型能拿到的最具个人风格的输入。云模型会向 GitHub 的"平均风格"归一;条件化在你仓库上的本地模型,写出来的代码与你贴合。
  • 行内补全的延迟以几百毫秒为单位。一次到云的往返,是你每一次按键都要交的税。

CodeFlux 现在做什么

  • 可取消的行内补全:你继续打字时,在飞的推理被取消并重启。模型从不阻塞编辑器。
  • 以仓库为锚的对话。 问 "auth 中间件在哪?",CodeFlux 检索相关文件再回答——引用具体行号。
  • 基于选区的编辑。 高亮一个函数,要求重构,diff 以正常 review 的形式出现。接受、丢弃、再编辑都行。
  • 按需测试。 "为这个文件生成测试",按项目已有测试框架产出一个候选测试文件,imports 正确解析。

CodeFlux 不做什么

  • 没有自治 agent。 没有那种在你仓库里不经审查就采取动作的长跑 coding agent。等可靠性配得上时我们再考虑。
  • 不上报你问什么、我们推荐什么。 一条都不。在开发者工具里,这是最难抵抗的诱惑,也是我们最坚决要拒绝的。
  • 任何功能都不依赖云。 断网不会让任何能力降级。

坦率的局限

  • 一个 7B 代码模型,在最难的高强度推理重构上比不过前沿 200B+ 模型。我们给你一键 escape:把一段脱敏的片段发给你选择的云模型。由你决定厂商、由你决定脱敏配置。
  • 在超大 monorepo 上首次索引慢。我们做一个按机器缓存,发布一个 git-ignore 的 .codeflux/ 布局,让二次打开瞬间完成。

CodeFlux 不是榜单第一的模型。它是在你的代码上"被采纳率"最高的模型——因为它真的读过你的代码。

想第一时间收到这样的更新?

没有邮件平台,没有追踪。每次产品发布,我们只发一封邮件。

订阅