feat: first cut at openai compatible server
This commit is contained in:
21
README.md
21
README.md
@@ -4,11 +4,15 @@ 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, and idle-unload settings. The separate Model Manager
|
||||
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
|
||||
@@ -21,9 +25,17 @@ 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 replay their role history, and the model unloads after the idle
|
||||
timeout. The current graph supports 2K context while the sparse long-context
|
||||
indexer and persistent transcript/KV restore remain the next engine slice.
|
||||
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
|
||||
@@ -35,6 +47,7 @@ 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
|
||||
|
||||
Reference in New Issue
Block a user