Friendly model configuration + honest model disclosure#5
Merged
Conversation
Model-config UX (from a multi-model design panel, then dogfood-verified):
- `moss config set apiKey <key>` now works (was advertised by guidance but had no
handler — a phantom command); never echoes the key, redacted in `config show`
- `moss setup` key-only fast path: first-party presets skip the model/baseUrl
prompts (2 inputs not 4) and the run probes the gateway, reporting "could not
reach" on a bad key instead of a false "configured"
- `/model config` shows preset-prefilled DeepSeek/Qwen/OpenAI templates — the
user only pastes their key, no looking up base_url/model
- `config set` usage groups model keys (provider/model/baseUrl/apiKey/imageInput)
before operational keys
Honest about the model (persona stays "Moss", the model is disclosed truthfully):
- identity keeps the Moss product persona but tells the agent to name the actual
underlying model when asked, instead of substituting "Moss"; the configured
model (or "built-in gateway") is injected so the answer is accurate
Dogfood-found fixes:
- malformed/hand-edited config.json now prints a clean `moss: <msg>` instead of a
raw Node stack (CliConfigFileError joined the CliConfigWriteError clean branch)
- over-quota/rate-limited built-in gateway now appends an actionable recovery hint
("free built-in model is over quota — run `moss setup` to use your own key")
- `--help --all` `--ask-for-approval` values corrected to match the validator
Verified: npm run verify green (boundaries+hygiene+build+typecheck+lint+test; agent
166 files). Parallel-agent dogfood confirmed BYOK is now good-enough.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Makes Moss model configuration genuinely user-friendly (from a multi-model design panel, then verified by parallel-agent dogfooding) and makes the agent honest about its underlying model while keeping the Moss persona.
Model-config UX
moss config set apiKeyworks (was a phantom command in the guidance); never echoes the key, redacted inconfig show.moss setupkey-only fast path (2 inputs not 4 for first-party presets) + honest gateway reachability probe (no false "configured")./model configpreset-prefilled DeepSeek/Qwen/OpenAI templates — user only pastes the key.config setusage groups model keys before operational keys.Honest about the model
Dogfood-found fixes
moss: <msg>instead of a raw Node stack.moss setup).--help --all--ask-for-approvalvalues corrected to match the validator.Verification
npm run verifygreen (boundaries+hygiene+build+typecheck+lint+test; agent 166 files). A 5-agent dogfood run on the real CLI confirmed bring-your-own-key is now good-enough; remaining items (zero-config gateway quota is operational; doctor config-path when DMOSS_CONFIG_FILE is set) noted as follow-ups.🤖 Generated with Claude Code