DAILY OPEN SOURCE · 第 102 期
Redis 之父下场
给 DeepSeek V4 Flash 单独造了一台引擎
antirez 的 ds4.c:用纯 C + Metal 写到底
128GB MacBook 跑 284B 模型 · 26 t/s · 100 万上下文
⚠️ 免责声明 本工具依赖境外开源仓库(GitHub / HuggingFace),部分网络服务在中国大陆访问需合规网络环境;模型权重下载需自备磁链工具。
PROJECT CARD
antirez/ds4(DwarfStar)
项目地址:github.com/antirez/ds4
模型权重:huggingface.co/antirez/deepseek-v4-gguf
许可证:MIT(保留 llama.cpp/GGML 作者版权)
20.4k+ Stars384 Stars today1.8k+ Forks428 Commits2026-05-06 首提
KEY NUMBERS
26.68
t/s · M3 Max 128GB
1M
tokens 上下文
70GB
q2 量化体积
一台 MacBook 跑不动 284B?
2026 年 4 月,DeepSeek 发布 V4 系列:V4 Flash 总参数 284B,每次推理激活 约 13B,上下文窗口 100 万 token。按传统思路,FP16 原始权重就要占 568GB——两台 A100 80G 加 4TB SSD 加 512GB DDR5 ECC,整机预算人民币 50 万起。
通用推理引擎 llama.cpp、vLLM、MLX 想支持所有模型,抽象就意味着妥协:MoE 路由是通用的、KV 缓存布局是保守的、分词器被三层抽象包着。社区里 r/LocalLLaMA 上网友用 llama.cpp 在 M3 Max 上跑 V4 Flash 只能跑到 15 t/s,而且 2-bit 量化下工具调用十有八九直接坏掉。
开源圈开始等一个"为 V4 Flash 量身定做"的人出手。
动手的,是 Redis 之父
Salvatore Sanfilippo,GitHub 名 antirez,1977 年生于西西里岛,现居卡塔尼亚,Redis 的创造者。他亲自主导这个全球最流行的内存数据库 11 年,是程序员圈公认的"用最少代码做最对的事"代表人物。Flask 创造者 Armin Ronacher(mitsuhiko)也参与了这个仓库。
2026 年 5 月 6 日,他提交了 ds4 的第一个 commit。Apple 开始发货 M3 Ultra Mac Studio(512GB 统一内存)的 6 天后——硬件追上模型能力的同一个月,引擎出现了。项目上线 4 天破 8000 Star,Hacker News 首页 497 分 157 评论,全程没有大号推文推广。
项目名 ds4 = DeepSeek V4 的缩写,sub-title 叫 DwarfStar(矮星)——取"小而专"之意,呼应 Redis 2009 年那条窄路。
窄栈哲学:只为一个模型做到极致
README 第一句话就把话说死:
DwarfStar 4 is a small native inference engine specific for DeepSeek V4 Flash.
It is intentionally narrow: not a generic GGUF runner, not a wrapper around another runtime: it is completely self-contained.
antirez 的逻辑很直白:通用引擎要支持所有模型,注意力立刻被下一个要实现的模型吸走;抽象让所有模型都"能跑",但没有哪个"跑得好"。他想做的是一次只赌一个模型,用官方 logits 验证,做长上下文测试,做足够的 agent 集成来确认它真的能用。
他的愿景在 README 里写得很清楚:
本地推理应该是三件事一起做好、开箱即用:
A) 一个有 HTTP API 的推理引擎
B) 一份针对这个引擎特别打造的 GGUF
C) 一套和编码 agent 对接的测试和验证
核心亮点 ①:2-bit 非对称量化,284B 塞进 128GB
传统量化对所有层一视同仁,ds4 反其道行之:只对 MoE 路由专家做激进量化,其它组件保持原精度。
MoE 路由专家(占参数 95%+)
up/gate 投影用 IQ2_XXS(约 2.06 bpw)
down 投影用 Q2_K(约 2.5 bpw,对精度更敏感)
共享专家 / 注意力 / 路由层
保持原精度——每次推理必用,不能损失
为什么可行?因为 MoE 每次只激活 6/256 ≈ 2.3% 的专家,即使 2-bit 引入误差,误差被稀释。共享专家和注意力保持原精度,工具调用和结构化输出在 2-bit 下依然可靠——这是通用量化方案做不到的事。
最终产物:一个 约 70 GB 的 GGUF,塞进 128GB 统一内存还留出空间给 KV 缓存、操作系统和你的编辑器。
核心亮点 ②:KV 缓存是"一等磁盘公民"
antirez 抛出了一个很激进的观点:
“现代 MacBook 的 SSD 速度已经足够快,KV 缓存不应该只存在于内存中,它应该是磁盘上的一等公民。”
DeepSeek V4 Flash 用 MLA 技术把 KV 缓存已经压得很狠。ds4 把它再推一步:KV 缓存按会话序列化到 SSD,需要时按需加载。MacBook 的 NVMe 顺序读 ~7 GB/s,KV 块分页延迟在微秒级。
这条设计带来三个直接好处:
1. 突破内存限制 128GB 内存也能跑 100 万 token 上下文
2. 会话持久化 关闭程序后再打开,/switch <sha> 直接恢复,不用重算 prefill
3. 磁盘格式自研 KVC 头(48 bytes magic “KVC”)+ 渲染文本 + DS4 会话载荷,SHA1 命名
社区里一位用户在 96GB MacBook 上用这个设计跑出了 25 万 token 上下文,感叹"我从来没在 96GB 机器上跑过这么长的对话"。
核心亮点 ③:原生编码 Agent + OpenAI/Anthropic 兼容服务
ds4 不是只能在终端里跑。它内置两个互补的"前端":
① ds4-agent:原生编码代理
推理由 agent 内部控制,没有 socket/API 边界。会话由磁盘上的 KV 缓存表示,工具和系统提示为 DeepSeek V4 Flash 垂直调优。内置工具:edit / read / search / write / list / bash / 异步 bash 作业、压缩支持、历史重放。会话存在 ~/.ds4/kvcache。
② ds4-server:HTTP 服务器
同时支持 OpenAI 兼容(/v1/chat/completions / /v1/responses)和 Anthropic 兼容(/v1/messages)。Claude Code、Codex CLI、OpenCode、Aider、Cline 全部能直接对接,零代码迁移。
Claude Code 对接示例:
#!/bin/sh
unset ANTHROPIC_API_KEY
export ANTHROPIC_BASE_URL=“http://127.0.0.1:8000”
export ANTHROPIC_AUTH_TOKEN=“dsv4-local”
export ANTHROPIC_MODEL=“deepseek-v4-flash”
exec"HOME/.local/bin/claude""HOME/.local/bin/claude""HOME/.local/bin/claude""@"
性能基准:同硬件比 llama.cpp 快约 75%
antirez 公布的官方数据(–ctx 32768 –nothink 贪婪解码)
METAL 平台(macOS)
MacBook Pro M3 Max 128GB · q2
短提示 prefill 58.52 t/s · 11.7k prefill 250 t/s · 生成 26.68 t/s
MacBook Pro M5 Max 128GB · q2
短提示 prefill 87.25 t/s · 11.7k prefill 463 t/s · 生成 34.27 t/s
Mac Studio M3 Ultra 512GB · q2
短提示 prefill 84.43 t/s · 11.7k prefill 468 t/s · 生成 36.86 t/s
Mac Studio M3 Ultra 512GB · q4
短提示 prefill 78.95 t/s · 12k prefill 449 t/s · 生成 35.50 t/s
CUDA 平台(Linux)
DGX Spark GB10 128GB · q2
7k prefill 343.81 t/s · 生成 13.75 t/s(CUDA Graph 优化后 17+ t/s)
反直觉的一行:DGX Spark 在生成速度上反而比 Mac Studio 慢。Apple Silicon 的统一内存在内存带宽绑定的解码循环中胜出——这是 Nvidia 没有 HBM 级消费卡时难以缩小的结构性优势。
社区对比:r/LocalLLaMA 上网友在同样的 M3 Max 上用 llama.cpp 跑 V4 Flash 约 15 t/s,ds4 给 26 t/s——75% 提升。
分布式玩法:两台 Mac 拼一台推理服务器
ds4 同时支持流水线并行(多机拆分模型层)和RDMA 张量并行(两台 Mac Thunderbolt 5 直连,同一 token 同时算):
双 M5 Max 128GB · GLM 5.2 IQ2_XXS 188 GiB
双 Mac 张量并行 ~16.8 t/s 解码 · ~94 t/s prefill(4096 tokens)· 完全内存驻留
单 Mac SSD 流式 ~4.8 t/s 解码 · ~3-5 t/s prefill(从 SSD 加载)
还有更狠的玩法——用 –dist-activation-bits 8 把跨机传输的激活值压到 8-bit,慢速网络也能串多机。
实战场景:它适合谁,不适合谁
✅ 适合这些场景
• 拥有 128GB+ Apple Silicon MacBook / Mac Studio 的开发者
• 想要离线跑前沿级编码代理,token 不用再花钱
• 长上下文任务(50k+ token 代码库分析、整本技术书对话)
• 把 Claude Code / Codex / OpenCode 指向本地,零成本
• 隐私敏感场景:数据不出本机
❌ 这些场景别选
• 16/32/64GB 笔记本——模型根本装不下
• 想用同一个 runtime 跑多种模型(用 llama.cpp / Ollama)
• 需要 Windows 原生支持(仅 macOS / Linux)
• 期待今天就生产稳定(仍是 Beta,428 commits 还在快速迭代)
Token 成本对比:一个月用掉几万?
重度 agent 用户一个月用掉几亿 token 是常态,账单小几万也是常事。ds4 的解法很直接——一次性投入 ~3 万块 MacBook Pro M3 Max 128GB,之后本机推理 token 免费。
典型方案成本对比
云端 API:每月 2-3 万 token 账单,重度用户 ¥10000-50000 / 月
自建 A100×2 + 4TB SSD + 512GB DDR5:约 ¥500000 一次性
MacBook Pro M3 Max 128GB + ds4:约 ¥30000 一次性,token 永久免费
隐私、延迟、可重复性、账单可控——这是本地推理的全部理由。
上手指南:5 步跑起来
① 硬件要求
• 96GB+ 统一内存 Mac(q2-imatrix,~70GB 下载)
• 推荐 128GB,256GB+ 可上 q4 精度
• DGX Spark GB10(Linux CUDA)也支持
• macOS 14.0+ · Xcode Command Line Tools · 至少 200GB 磁盘
② 克隆 + 编译
git clone https://github.com/antirez/ds4.git
cd ds4
# macOS Metal(默认)
make
# Linux CUDA(DGX Spark / GB10)
make cuda-spark
# Linux CUDA(其他 NVIDIA 卡)
make cuda-generic
# Linux AMD ROCm(Strix Halo)
make strix-halo
③ 下载模型
# 96/128GB 内存 · imatrix 调优 2-bit(推荐起点)
./download_model.sh q2-imatrix
# 256GB+ · imatrix 调优 4-bit
./download_model.sh q4-imatrix
# 512GB+ · PRO q2 分布式
./download_model.sh pro-q2-imatrix
# DSpark 推测解码加速
./download_model.sh dspark-support
④ 启动交互式聊天
./ds4 -m ds4flash.gguf –ctx 32768
# 内置命令:/think /think-max /ctx N /read FILE /save /list /switch /quit
⑤ 启动 HTTP 服务器(接 Claude Code / Codex)
./ds4-server –ctx 100000 \\
–kv-disk-dir /tmp/ds4-kv \\
–kv-disk-space-mb 8192
⚠️ 坑提示:macOS 上 make cpu 会触发 VM bug 直接硬崩溃你的机器——README 里明说"Software sucks. Help us, if you have the guts."别试。
命令速查(合并速记)
# 后端指定
./ds4 -p “Hello” –metal
./ds4 -p “Hello” –cuda
./ds4 -p “Hello” –cpu # 别在 macOS 上跑,会崩
# 功耗控制(笔记本散热)
./ds4 –power 50 # ~50% GPU 使用率
./ds4-agent –power 70
./ds4-server –power 40 –ctx 100000
# SSD 流式加载(小内存)
./ds4 -m ./ds4flash.gguf –ssd-streaming \\
–ssd-streaming-cache-experts 32GB
# 思考模式
./ds4 –think low / medium / high
./ds4 –nothink # 完全跳过思考
# 基准测试
./ds4-bench -m ds4flash.gguf \\
–prompt-file speed-bench/promessi_sposi.txt \\
–ctx-start 2048 –ctx-max 65536 –gen-tokens 128
与 llama.cpp / vLLM / MLX 的差异
**ds4:**窄栈哲学
只支持 DeepSeek V4 Flash / PRO 和 GLM 5.2(Beta),约 15K 行 C 代码,非对称量化、KV 磁盘持久化、Metal 图执行器全栈一体。Mac 上最快。
**llama.cpp:**通用运行器
支持数百种模型架构,约 200K 行 C++ 代码。V4 Flash 同样硬件上 ~15 t/s,比 ds4 慢约 75%。GGUF 生态奠基者。
**vLLM / Ollama / MLX:**通用方案
vLLM 主打生产环境 PagedAttention;Ollama 是 llama.cpp 的便利包装;MLX 仅 Apple 平台。它们都是"通用权衡"的代表,工具调用在 2-bit 下经常坏掉。
ds4 在 LICENSE 里保留了 llama.cpp/GGML 的版权声明,原话:“This would not exist without llama.cpp and GGML, largely written by hand.”——致敬巨人,但不替代。
一个细节:作者公开承认用 AI 辅助开发
README 顶部一段话非常坦率:
This software is developed with strong assistance from GPT 5.5 and 5.6, Claude Fable, and with humans leading the ideas, testing, and debugging.
If this is not acceptable to you, this software is not for you.
两周时间,从 fork llama.cpp 适配到从头写一个专用引擎——antirez 说没有 AI 辅助是做不到的。这件事本身可能比 ds4 还更值得关注:2026 年的顶级工程师不再回避 AI 协作,而是把它写进 README 第一段。
今日总结
ds4 不是另一个通用推理引擎。它是 antirez 对"如何把一件事做到极致"的工程回答:一个模型、一个引擎、一种量化方案、一套 KV 缓存设计。这种"刻意的窄"换来了 MacBook 上 26-37 t/s 的生成速度、100 万 token 上下文、可靠的 2-bit 工具调用——这三点在通用运行时上从未同时实现过。
更重要的是,ds4 给开源世界抛出了一个更大的问题:**未来会不会一个模型一个推理框架?**如果这条路走通了,每一代模型都会有一个自己的"antirez"——为它量身定做引擎、量化方案和 agent 接入。这条路代价也很明显:模型一换代,从头来过。但对真正想榨干硬件潜力的极客而言,这是唯一正确的窄路。
🎯 今日互动
如果你的 Mac 有 128GB 内存,
你最想让它本地跑哪个开源大模型?
评论区聊聊 · 转发给身边 Mac 玩家 · 点个 在看 支持开源
每日开源 · 早间篇 · 第 102 期
推荐项目:antirez/ds4(DwarfStar)· MIT 协议

