ds4 是什么?

ds4(DwarfStar 4)是 antirez(Redis 作者)从零手写的 DeepSeek V4 Flash 专用本地推理引擎,用 C + CUDA + Metal 实现,刻意做窄——不是通用 GGUF runner、不是 llama.cpp 套壳,而是把单一模型从权重加载、prompt 渲染、工具调用、KV 状态(RAM + 磁盘)到 HTTP server、CLI、原生 agent 端到端做透,主打 Metal(96GB+ MacBook)和 CUDA(特别照顾 DGX Spark),靠特殊 2-bit 量化在 128GB(甚至 96GB)Mac 上跑。

⭐ 12,049 Stars 🍴 1,026 Forks C MIT 作者: antirez
来源:README 首段 + Motivations + Backends 查看 GitHub 仓库 →

为什么值得关注

本地推理项目很多,但新模型一出,注意力就被下一个模型抢走,很少有人把「一个模型端到端做完整」。antirez 这个项目下了一个刻意的窄注:一次只服务一个模型(当前 DeepSeek V4 Flash),用官方 logits 验证、做长上下文测试、配足够的 agent 集成来确认它「真的能用」。选 DeepSeek V4 Flash 是因为它够特别——MoE 架构 active 参数少所以快、thinking 段落短且长度与问题复杂度成正比(常是别家 1/5)、100 万 token 上下文、284B 总参数知识面广、KV cache 压缩到惊人、且用特殊 2-bit 量化能在 128GB Mac 上跑。更激进的理念是「KV cache 是磁盘一等公民」——现代 MacBook 的快 SSD + DeepSeek 压缩 KV cache 让 KV 状态可持久化到盘,打破「KV cache 属于 RAM」的成见。antirez 的号召力 + 「把单模型做到 finished」的工程理想,让它两周拿到 11K★。

来源:README Motivations / Status

核心功能

DeepSeek V4 Flash 专用推理引擎(C + Metal + CUDA)

为单一模型从零写的推理路径:ds4.c 核心 + ds4_metal.m(Metal kernel,主目标 macOS)+ ds4_cuda.cu(CUDA,特别照顾 DGX Spark)。优化图路径只跑 Metal/CUDA,CPU 路径仅用于正确性检查与诊断(make cpu 出无 GPU 二进制)。刻意只跑项目提供的、为本引擎特制的 GGUF。

来源:README 首段 / Backends + ds4.c/ds4_metal.m/ds4_cuda.cu
特殊 2-bit 量化(IQ2)跑大模型于消费级内存

DeepSeek V4 Flash 用特殊方式做 2-bit 量化后,能在 128GB RAM 的 MacBook 上跑(很多人报告 96GB 也行,甚至 250k 上下文)。仓库带 IQ2 量化表(ds4_iq2_tables_cuda.inc)、GGUF 工具和 imatrix 生成工具。

来源:README Motivations(2-bit quant)+ gguf-tools/ + ds4_iq2_tables
磁盘 KV cache(KV cache 作为磁盘一等公民)

核心理念创新:DeepSeek v4 的压缩 KV cache + 现代 MacBook 快 SSD,让 KV cache 不必只在 RAM——支持 on-disk KV cache 持久化,使本地长上下文推理与跨会话 KV 复用成为可能。ds4_kvstore.c 实现,README 有专门 Disk KV Cache 节。

来源:README Motivations / Disk KV Cache + ds4_kvstore.c
原生 agent + 工具调用规范化

ds4_agent.c 是内置原生 agent;README 详述 tool call handling 与 canonicalization(把工具调用规范化)、agent client 用法。把「coding agent 集成」作为验证引擎是否真能用的一环——不只是能跑,而是能用 agent 干活。

来源:README Native agent / Tool call handling / Agent Client Usage + ds4_agent.c
HTTP server + CLI + thinking 模式

ds4_server.c 提供 HTTP API server、ds4_cli.c 提供 CLI(用 antirez 自己的 linenoise 做行编辑);支持 thinking 模式(含避免 max thinking 以获得与问题复杂度成正比的短思考段)。dir-steering/ 与 README Steering 节做输出引导。

来源:README Server / CLI / Thinking Modes / Steering
官方 logits 验证 + 速度/能力评测

对官方实现获得的 logits 在不同上下文长度做验证(保证数值正确);ds4_bench.c + speed-bench/ 做速度测试,ds4_eval.c + Capability Evaluation 做能力评测,tests/ + 测试向量保证质量。这套验证体系是「把单模型做完整」理念的落地。

来源:README Benchmarking / Capability Evaluation / Test Vectors + ds4_bench.c/ds4_eval.c

技术架构

ds4 是典型的 antirez 风格——精炼、从零、自包含的 C 项目,源文件平铺在根目录:ds4.c(核心推理)+ ds4.h、ds4_metal.m(Metal)、ds4_cuda.cu(CUDA)、ds4_gpu.h、ds4_cli.c(CLI)、ds4_server.c(HTTP server)、ds4_agent.c(原生 agent)、ds4_bench.c(速度)、ds4_eval.c(能力评测)、ds4_kvstore.c(磁盘 KV cache),复用 antirez 自己的 rax.c(radix 树)和 linenoise.c(行编辑),IQ2 量化表 ds4_iq2_tables_cuda.inc。配套 gguf-tools/(GGUF 与 imatrix 工具)、metal/(Metal kernel)、speed-bench/、dir-steering/、tests/。理念是「三件事一起做好」:A 推理引擎 + HTTP API、B 为该引擎特制的 GGUF、C 用 coding agent 集成做测试验证——所以它只跑自己提供的 GGUF、对官方 logits 做多上下文验证。架构上最有想法的是把 KV cache 当磁盘一等公民(利用 DeepSeek 压缩 KV + Mac 快 SSD 做 on-disk 持久化)。设计判断:刻意做窄(一次一个模型)是与 llama.cpp 等通用引擎相反的赌注——牺牲通用性换「把单模型端到端做到 finished」的深度和可验证性,对高端个人机/Mac Studio 的本地推理体验是有价值的探索;代价是模型一换大半工作要重做(README 自己也说「exact model 可能随生态变」),且自承 beta 质量、推理与服务本身复杂、bug 难免(连 macOS CPU 路径都因系统 VM bug 会崩内核)。

来源:tree(根目录 C 源 + 子目录)+ README Status / Disk KV Cache

项目知识图谱

知识图谱:项目核心节点(中心)+ 核心功能(内环六边形)+ 关键技术依赖(外环 chip) Metal(macOS 主目标,96GB+ MacBook)+ CUDA(Linux,特别照顾 DGX Spark)Metal(macOS… GGUF(特制)+ IQ2 2-bit 量化表 + imatrix 工具GGUF(特制)+ I… rax.c(antirez radix 树)+ linenoise.c(antirez 行编辑)— 自带rax.c(antirez… ds4_kvstore.c — 磁盘 KV cache 持久化ds4_kvstore.c 官方 logits — 数值验证基准官方 logits DeepSeek V4 Flash 专用推理引擎(C + Metal + CUDA)DeepSeek V4 Flash… 特殊 2-bit 量化(IQ2)跑大模型于消费级内存特殊 2-bit 量化(IQ2… 磁盘 KV cache(KV cache 作为磁盘一等公民)磁盘 KV cache(KV c… 原生 agent + 工具调用规范化原生 agent + 工具调… HTTP server + CLI + thinking 模式HTTP server + CLI +… 官方 logits 验证 + 速度/能力评测官方 logits 验证 +… ds4 项目本体 核心功能 关键依赖

中心为项目本体,内环 = 核心功能模块,外环 = 关键技术依赖;按 deep.json 中的 core_features 与 tech_stack.key_deps 自动生成

技术栈

语言C(核心)+ CUDA(.cu)+ Objective-C/Metal(.m)框架从零自研推理引擎(非 llama.cpp 套壳,但借鉴其 GGUF/量化/kernel 经验)
Metal(macOS 主目标,96GB+ MacBook)+ CUDA…GGUF(特制)+ IQ2 2-bit 量化表 + imatrix 工具rax.c(antirez radix 树)+ linenoise.c(…ds4_kvstore.c官方 logits
make 构建(make cpu 出无 GPU 二进制做正确性检查);只跑项目提供的特制 GGUF(download_model.sh 下载);HTTP server + CLI 两种入口;MIT 协议;beta 质量;macOS CPU 路径因系统 VM bug 会崩内核(仅 Metal/CUDA 路径可用)
来源:Makefile + tree + README Backends/Acknowledgements

快速上手

# 构建(GPU 路径:Metal on macOS / CUDA on Linux) make # 默认构建 ./ds4 与 ./ds4-server make cpu # CPU-only(仅正确性检查/诊断;macOS 上 CPU 路径会崩内核,勿用) # 下载特制 GGUF 模型权重(只跑项目提供的 GGUF) ./download_model.sh # CLI 交互 ./ds4 # HTTP server ./ds4-server # 硬件前提:Metal 路径需 96GB+ RAM 的 MacBook(128GB 更稳,2-bit 量化); # CUDA 路径特别照顾 DGX Spark # 详见 README 的 CLI / Server / Agent Client Usage / Disk KV Cache 章节 # 注意:beta 质量,inference/serving 复杂,谨慎用于生产
来源:README Status / Model Weights / CLI / Server 原文

使用场景

1. 在高端 Mac(96/128GB)本地跑 DeepSeek V4 Flash:用特殊 2-bit 量化 + Metal 路径,享受 1M 上下文和短 thinking 段的本地推理;2. 长上下文 + 跨会话:用磁盘 KV cache 持久化,在本地做长上下文推理并复用 KV 状态,不受 RAM 限制;3. DGX Spark / CUDA 用户:在 NVIDIA 硬件上跑专门优化的 DeepSeek V4 Flash 推理;4. 本地 coding agent:用内置 ds4_agent + 工具调用规范化,把本地 DeepSeek 接成能干活的 agent;5. 研究/教学:读 antirez 从零写的推理引擎理解 MoE 推理、KV cache、量化的实现;6. 模型质量/速度评测:用自带 logits 验证、speed-bench、capability eval 测本地推理的正确性与性能。

来源:README Motivations / Native agent / Capability Evaluation

优势与局限

优势

  • 「把单模型做到 finished」的稀缺理念:刻意一次只服务一个模型、用官方 logits 多上下文验证、配 agent 集成确认真能用,对抗「新模型一出就弃旧」的通病,是本地推理少见的端到端深度
  • 磁盘 KV cache 是真创新:利用 DeepSeek 压缩 KV cache + Mac 快 SSD 把 KV cache 当磁盘一等公民、可持久化,打破「KV 属于 RAM」的成见,使消费级机器长上下文成为可能
  • 工程精炼且自包含:antirez 风格的从零 C 实现,复用自家 rax/linenoise,源文件平铺清晰,Metal + CUDA 双后端 + 特制 GGUF + IQ2 2-bit 量化让 284B 模型跑进 128GB Mac
  • 诚实且严谨:README 直说 beta 质量、自承 CPU 路径因系统 bug 会崩、明确只跑特制 GGUF、对官方 logits 验证数值正确——不夸大、把局限讲在前面
  • antirez 背书 + 验证体系:speed-bench / capability eval / test vectors / 官方 logits 验证齐全,两周 11K★ 反映社区对其工程品味的信任

局限

  • 刻意窄的代价:一次只服务一个模型,DeepSeek 换代或换模型族时大半工作要重做,README 自承「exact model 可能随生态变」;不通用,不能当 llama.cpp 那样的多模型 runner 用
  • 硬件门槛高:Metal 路径要 96GB+(推荐 128GB)RAM 的 MacBook,CUDA 针对 DGX Spark 等高端卡,普通消费级显卡/小内存机跑不动,受众是高端个人机/Mac Studio
  • 稳定性 / 成熟度:自承 beta 质量、2026-05-06 才创建,inference/serving 复杂、bug 难免;macOS CPU 路径因系统 VM bug 会崩内核(只能用 Metal/CUDA),可用面受限
  • 可测试性 / 可移植性:只跑项目特制 GGUF,不能直接用社区其它 GGUF;验证依赖能拿到官方 logits,普通用户难自行复现完整验证流程
  • 可维护性 / bus factor:高度依赖 antirez 个人(虽是其强项),单模型专用 + 手写 C/CUDA/Metal kernel 的维护门槛高,社区贡献需要硬核底子
  • 性能数据需自测:README 有 speed-bench 但具体 token/s 随硬件(哪款 Mac、多少 RAM、上下文长度)差异极大,2-bit 量化对输出质量的影响也需按场景评估
来源:综合 README + tree + antirez 项目风格

最新版本

无 GitHub Release。仓库 2026-05-06 创建、pushed 到 2026-05-21 高频更新,更新走主分支提交。自承 beta 质量。具体进展以 README Status 与 commit 历史为准;模型权重经 download_model.sh 单独分发。

来源:GitHub Releases API(0)+ repo created/pushed + README Status

总结评价

ds4 是 antirez 对「本地推理该是什么样」的一次有想法的实验:不做通用 runner,而把 DeepSeek V4 Flash 一个模型从推理、磁盘 KV cache、agent 集成到 server 端到端做到「finished」,还提出「KV cache 是磁盘一等公民」的新理念。务实判断:1) 它是给高端个人机的——Metal 路径要 96/128GB RAM 的 MacBook、CUDA 针对 DGX Spark,硬件不够就别考虑;2) 刻意窄意味着只跑 DeepSeek V4 Flash + 特制 GGUF,要多模型通用性请用 llama.cpp/ollama;3) 自承 beta 质量、macOS CPU 路径会崩内核,谨慎用于生产,当探索/研究/发烧用更合适;4) 最值得关注的是磁盘 KV cache 和「把单模型做完整」的工程理念,即使不用也值得读 antirez 的 C 实现学习;5) 性能/质量随硬件和量化差异大,speed-bench 和 capability eval 自己跑一遍看真实表现;6) 模型可能随生态换代,别把它当长期稳定基础设施。

来源:综合分析
透明度声明
本页内容由 AI(大语言模型)基于以下公开材料自动生成:GitHub README、代码目录结构、依赖文件、Release 信息。 分析时间: 2026-05-22 10:41. 质量评分: 100/100.

数据来源:README、GitHub API、依赖文件