2026-07-25 14:57:17 +02:00
2026-07-25 12:15:58 +02:00
2026-07-25 14:57:17 +02:00
2026-07-25 14:57:17 +02:00
2026-07-24 11:27:25 +02:00
2026-07-25 14:57:17 +02:00
2026-07-24 11:27:25 +02:00
2026-07-24 12:36:48 +02:00
2026-07-24 12:23:50 +02:00
2026-07-25 14:57:17 +02:00
2026-07-25 14:57:17 +02:00

DS4Server

DS4Server is a native macOS coding-agent application that rewrites the DwarfStar (ds4) inference engine in Rust. It uses Rust and Iced and will combine local model loading, an OpenAI-compatible localhost endpoint, and project-scoped agent chat in one app.

DS4Server vendors and adapts the Metal kernels, Objective-C Metal glue, and visible-Chrome web tool runtime from DwarfStar (ds4). Their copyright and license notices are retained in native/metal/LICENSE and native/web/LICENSE.

The current milestone provides a Codex-inspired project/session layout. A native macOS folder picker selects each workspace, then the app asks for its display name. Projects, sessions, and model preferences are persisted through Diesel in SQLite. Open Preferences with Command-, to configure model, generation, runtime, local endpoint, and idle-unload settings. The separate Model Manager (Shift-Command-M) lists local main and DSpark artifacts, their on-disk sizes and state, and lets you download, resume, validate, or delete them. Rust-native background work shows live byte progress, speed, and ETA in Model Manager and the app status bar. Stopping or quitting keeps the partial file; the next Download/Resume action continues from that exact byte after relaunch. Exact size and SHA-256 verification happen before an artifact becomes usable.

The selected DeepSeek V4 Flash model can run directly from a project session. The model, KV/compressor state, 43-layer graph, sampling, and lifecycle are owned by Rust; a fixed snapshot of the Objective-C Metal boundary and unchanged Metal kernels is vendored and built inside this repository. Tokens stream into the chat UI, Stop cancels generation, follow-up turns reuse durable transcript and KV state, and the model unloads after the idle timeout. The graph uses the full configured context with the ratio-4 sparse indexer.

Project chat includes the native ds4_agent.c starting tool set: bounded file read/continuation, write, anchored edit, search, directory listing, asynchronous shell jobs, Google search, and rendered page visits. Tool calls and results are persisted as transcript roles and automatically continue the same model turn. File tools stay inside the selected project. Web tools ask before starting a visible Chrome profile.

The app also listens on 127.0.0.1:4000 by default for Models, Chat Completions, Completions, Anthropic Messages, and Responses APIs. The listener, port, and opt-in CORS are configurable in Preferences. The endpoint and local chat share the single model owner. External conversations are client-managed and never enter the project, session, message, or transcript database; only opaque content-addressed KV cache files are retained. Model discovery advertises only supported main artifacts that are fully downloaded and verified on disk.

cargo install cargo-packager --locked --version 0.11.8
make bundle
open target/release/DS4Server.app

State is stored at:

~/Library/Application Support/DS4Server.rfc1437.de/data.sqlite3
~/Library/Application Support/DS4Server.rfc1437.de/kv-cache/

Deleting a project or session removes only DS4Server metadata. It never deletes the referenced project directory. See PLAN.md for the implementation roadmap.

Description
A Rust implementation of ds4 with a macos UI for local AI use on the go.
Readme MIT 6.1 MiB
Languages
Metal 46.1%
Rust 43.7%
C 9.7%
Python 0.5%