- dsh web gains --provider/--model: a non-deepseek provider mounts the matching pi-ai catalog route (ambient credentials), making image input reachable from the shipped Web assembly; requires an explicit --model - attachment-local syncs the publication directories after the hard-link publish so a reported durable reference survives a crash (POSIX; Windows relies on filesystem metadata journaling) - the attachment seam gains storage-free validateImage; the host validates a complete multi-image prompt before persisting any member, so one malformed image cannot strand valid members as unreferenced objects - startSession sends before navigating: a rejected first send keeps the empty state, its error strip, and the complete draft mounted - the webserver rejects an undeclared-length body the moment it crosses the configured limit instead of draining a potentially endless stream to EOF
20 lines
1.4 KiB
Markdown
20 lines
1.4 KiB
Markdown
# @deepseek-ai/dsh-attachment-local
|
|
|
|
The private local implementation of [`@deepseek-ai/dsh-attachment`](../attachment). Objects land at `<DSH_HOME>/attachments/v1/objects/<sha256-prefix>/<sha256>` and are addressed by an opaque `sha256:` id. Writes use a private staging directory, owner-only files, a synced temporary file, an atomic exclusive hard-link publish, and a directory sync on the publication directories (POSIX; Windows relies on filesystem metadata journaling) so the reported reference survives a crash; reads re-check the digest, media signature, dimensions, and logged metadata. Byte and pixel limits are write-time admission policy, so a later policy reduction does not make already-admitted history unreadable.
|
|
|
|
`DSH_HOME` resolves through the shared path policy: explicit config, `$DSH_HOME`, then `~/.dsh`. Session logs contain only the reference and verified metadata, never this host path.
|
|
|
|
## Model Experience
|
|
|
|
Indirectly, through durable replay of historical user images and structured model image output after restart and fork.
|
|
|
|
#### KV Cache effect
|
|
|
|
None beyond the image block owned by the requesting adapter.
|
|
|
|
## Known Limitations and Deferred Work
|
|
|
|
- Objects are retained indefinitely; reference-aware garbage collection is deferred.
|
|
- The local backend assumes the host and provider adapter share this filesystem service.
|
|
- Animated GIF metadata is validated from the logical screen; frame-level decoding policy is provider-owned.
|