# 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 and Objective-C Metal glue from [DwarfStar (`ds4`)](https://github.com/antirez/ds4). Their copyright and license notices are retained in [`native/metal/LICENSE`](native/metal/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. The app also listens on `127.0.0.1:4000` by default for `GET /v1/models` and `POST /v1/chat/completions`; the port is 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. ```sh cargo install cargo-packager --locked --version 0.11.8 make bundle open target/release/DS4Server.app ``` State is stored at: ```text ~/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](PLAN.md) for the implementation roadmap.