Rename, AI retitle, pin and archive, reached from the "..." button on every session row and in the chat header. Sessions carry one lifecycle state (normal, pinned, archived) rather than independent flags, so the sidebar groups them without an unrepresentable pinned-and-archived case. The AI retitle runs as a one-shot against the transient KV cache through a new CheckpointTarget::OneShot, leaving no session or checkpoint behind while still reporting as local work in the metrics. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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). Their copyright and license
notices are retained in 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.
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.