notatestuser/ds4-control

macOS menubar app for fast local DeepSeek V4.1, with 1M context.

DS4 Control – macOS 菜單列 UI,用於 DeepSeek V4 模型(透過 ds4 伺服器)

這是什麼 – 一個原生 Swift 菜單列應用程式,可讓你執行、監控並與本地 ds4‑server 進程互動,該進程提供 DeepSeek V4(ProFlash 版本)。此應用程式自行執行推論;它僅管理外部伺服器、下載模型檔案,並提供快速啟動聊天或編碼代理的捷徑。

為何重要 – 在 Mac 上執行 100GB 以上的 LLM 需要謹慎處理 RAM、GPU 繫結記憶體限制與進程監督。DS4 Control 自動完成這些任務,顯示即時資源使用情況,並防止你啟動超出機器 Metal 繫結記憶體預算的模型。


核心功能

功能 你將獲得
伺服器生命週期 啟動/停止 ds4‑server 二進位檔,監控其 stderr 中的 listening on http://… 行,輪詢 /v1/models 健康狀態,並優雅關閉。
模型選擇器 選擇 V4 Pro (0813)V4 Flash (0731)。UI 會檢查你的 RAM 和 Metal 繫結限制,並停用無法容納的選項。
內建下載器 並行、可恢復的 GGUF 模型檔案下載,帶有即時進度條。無需外部工具。
資源小工具 菜單列彈出視窗中的迷你儀表板,顯示統一記憶體、GPU、CPU 和電源/ANE 使用情況,每 2 秒更新一次。
一鍵代理 啟動聊天視窗、Claude Code 或 Pi(本地「代理式編碼」工具)的按鈕,這些工具與執行中的模型通訊。
100 萬令牌上下文 可設定至一百萬令牌(Pro 預設;Flash 在小記憶體上使用較低預設值)。
啟動整合 可選擇在 macOS 啟動時自動啟動伺服器。
安全門控 如果所需 Metal 繫結記憶體將超出限制,應用程式會顯示所需的 sysctl iogpu.wired_limit_mb=… 命令與協助對話框。

適合誰使用

  • Mac‑silicon 高效能使用者:擁有 96 GiB 或以上 RAM,希望在本地執行 DeepSeek V4 的使用者。
  • 開發者:需要快速啟動本地 LLM 以取得編碼輔助(Claude Code、Pi)而無需手動編寫命令列腳本的使用者。
  • 研究人員:希望實驗不同推理努力層級(StandardInstantMax Think)並觀察即時系統影響的使用者。

安裝(快速)

brew install --cask ds4-control   # Homebrew Cask 提供簽署的 .dmg

或從 GitHub 發布頁面下載最新簽署的 .dmg,或透過 Homebrew Cask URL 安裝。


從原始碼建構(貢獻者)

  1. 取得包含上游 ds4 伺服器的子模組
    git submodule update --init --recursive
    
  2. 打補丁並編譯伺服器THINK_MAX 功能所需):
    bash scripts/apply-ds4-patches.sh
    make -C external/ds4 -j ds4-server
    
  3. 使用建構好的伺服器執行應用程式
    DS4_DIR="$PWD/external/ds4" swift run
    
  4. 若要建立可分發的套件:
    bash build.sh   # 使用你的 Apple 開發憑證簽署,或回退至 ad-hoc
    

內部運作原理

  • SupervisorService – Swift Process 包裝器,啟動 ds4‑server,解析其就緒行,輪詢健康端點,並處理優雅終止。
  • MetricsManager – 每 2 秒透過 Mach、IOKit 和私有 IOReport API 採樣 CPU、記憶體、GPU 和電源使用情況,為 UI 小工具提供資料。
  • Feasibility – 計算所選模型是否適合 RAM 和 Metal 繫結記憶體限制,推導出安全的預設上下文大小,並在需要時向使用者提供所需的 sysctl 命令。
  • 所有重邏輯(可行性計算、可恢復分塊下載器、狀態機)均為純 Swift 實作,並由單元測試覆蓋。

授權

MIT – 請參閱倉儲中的 LICENSE 檔案。


總結 – DS4 Control 是一個精緻、簽署的 macOS 工具,消除了本地執行 DeepSeek V4 所需的手動設定,讓你透過單一點擊即可啟動模型、監控系統健康狀態,並啟動聊天或編碼代理。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • Dispatch