feat(deepseek): edit the model list from the agent settings page
DeepSeek Harness offers the models listed under `llm-deepseek.models` in `$DSH_HOME/settings.yaml`, a document that until now could only be hand-written. The agent settings page gets a section for it: one row per model (id, display name, context window) with an advanced area for the description, the output cap, image support and the per-model image limits, plus a way to drop the stored list and go back to the agent's built-in one. Reads and writes go through a new `commands::deepseek_settings`. The `models` block is replaced textually, so every other key and comment in the user's document survives, and the result is re-parsed and compared against the original before it is allowed to replace anything. Entries are validated against the adapter's own `resolveModels` rules first — a section it cannot resolve is not an error on its side, it silently falls back to the built-in catalog — and a stored list that already fails them is reported, so the panel can say the harness is ignoring it instead of presenting it as what a session can pick. The document is swapped in through a sibling temporary file, the way its own provider writes it: it can carry any other plugin's settings, so a truncating write is not an option.
X
xintaofei committed
5a20a5695345fe544b33d75cb8165833d153a762
Parent: 633ed2e