Repository navigation
v6.20.0
Auto-released from merge of PR #1788 (trigger: push).
dario usagesays how much of the output was thinking, and what it cost. On Claude traffic, thinking tokens are now read from the usage block upstream returns (output_tokens_details.thinking_tokens, streaming and buffered alike) instead of estimated from the text of thinking blocks, which current models return empty by default, so the estimate read zero exactly where thinking was largest. The ledger keeps the count per day, model and consumer (older rows read as 0; the file format is unchanged), the usage block gains aThinking:line with the share of output tokens and the dollars at output rates,--by-keyshows each key's share, and/analyticscarriesthinkingCostandtokens.thinkinginlifetime. Measured on one desk's traffic before this change: a 200-word status update written by Opus 5.5 at its default effort was 1,136 output tokens, 939 of them thinking; the same request atoutput_config.effort: lowwas 243, so the share is the number to look at before reaching for a cheaper model.- Named keys carry a default effort.
dario keys create <name> --effort=low, ordario keys effort <name> lowon an existing key (--clearremoves it;POST /admin/keystakeseffort,POST /admin/keys/<name>/effortsets or clears it), sets the effort the key's requests run at when they name none themselves. Resolution per request: the model-name suffix, then the--effort/DARIO_EFFORTpin, then the client's own field (output_config.effort,reasoning_effort,reasoning.effort), then the key's default, then thehighfallback; so a client that chose is never overruled by a default and the operator's pin still wins, as before. Claude path:output_config.effort; Codex path:reasoning.effort, on the translated route and on the Responses passthrough Codex CLI uses (added to the client'sreasoningobject, the rest kept). On Codex a client'sthinking.budget_tokenscounts as its choice, and the proxy pin does not apply there (it never has). Under aclientpin the key's default still fills in. A model-name suffix on a Responses request to a Codex model now reaches the wire asreasoning.effort; the passthrough used to drop it.dario keys listgains an EFFORT column;GET /admin/keysanddario keys --jsoncarryeffort; an unknown level on disk is dropped like a malformed cap. - Public text no longer names the private host and peers dario runs beside. Workflow comments, the issue and warning text the watch workflows publish, docs, code comments and the
--jsonhelp line describe hosts, consumers and peer services generically; the help line that named one Discord bot now says "status bots". No behavior changes. --system-prompt partialremoves the code-comment rule from the Fable prompt. It was left in, so Fable requests in partial mode went out unchanged. The rule is swapped for the same "be thorough" instruction partial puts in the other prompts. The base prompt (Claude Code 2.1.316) and the Opus 5 prompt carry no constraint partial targets, so partial still sends those unchanged.--system-prompt partialremoves whole sections from the Sonnet 5 prompt. It removed only the# Tone and styleand# Text outputheadings and left the text under them, and some Doing-tasks bullets it removed took the next bullet with them, such as "Prefer editing existing files to creating new ones." It now removes both sections in full and only the targeted bullets.aggressiveremoves the whole# Executing actions with caresection the same way.
Built + tested + npm-published inline by cc-drift-auto-release.yml on this run — tokenless via OIDC trusted publishing, provenance-attested. See the workflow log for the publish output.