Smithers · v0.23.0
Describe a workflow.
Smithers builds it.
The new create-workflow metaworkflow turns a plain-English ask into a runnable workflow: clarify the spec, design the graph, scaffold real files, verify until it compiles, then write the skill that documents it.
clarify→
design→
scaffold→
verify→
document
$ bunx smithers-orchestrator init # seeds create-workflow
smithers.sh
0.23.0
New · Persistence
Run Smithers on Postgres.
your hand-written SQL
→
SQLite bun:sqlite
PGlite embedded, in-process
PostgreSQL managed, production
One dialect seam runs that exact SQL across all three with no query rewrites. Develop against an in-process PGlite, deploy against managed Postgres, same code.
smithers.sh
createSmithersPostgres()
New · bunx smithers-orchestrator usage
See how much quota each account burned.
| account | window | consumed |
| claude-code | 5h |
|
| codex | weekly |
|
| anthropic-api | rate-limit |
|
| openai-api | rate-limit |
|
One report across every provider. Credentials are read host-side and never leave the process. --format json for scripts.
smithers.sh
--account · --provider · --fresh
Agents
Any agent. Any MCP server.
Claude Code
Codex
Gemini
Antigravity
Hermes
Vibe (Mistral)
Every agent runs behind the same durable engine. New this release: a Vibe (Mistral) agent and a corrected Antigravity CLI. And createMcpToolset connects any stdio MCP server, projecting its tools straight into an SDK agent.
const { tools } = await createMcpToolset({ command, args })
smithers.sh
claude · codex · gemini · antigravity · hermes · vibe
New · Custom Workflow UIs
Workflows ship their own UI.
A workflow registers a browser UI through the Gateway, served at /workflows/<key> with live run, event, and node-output hooks over real RPC.
gateway.register({ ui: { entry } })
UltraGrill is the showcase: an open-ended real-time collaboration workflow with a live custom UI, launched with one command.
$ bun .smithers/scripts/ultragrill.ts "ship the landing page"
smithers.sh
gateway-react · gateway-client
New · Human in the loop
Let an agent stop and ask a person.
blocked→
ask_human→
waits→
answer→
resumes
When an agent is blocked, uncertain, or about to do something irreversible, it raises a durable request and blocks until a human answers. Available as the ask-human CLI and the ask_human MCP tool.
$ bunx smithers-orchestrator ask-human "Which DB should I target?" --choices sqlite,postgres
smithers.sh
--choices · --context · --timeout
New · Zero-install VCS
jj, bundled.
darwin-arm64
darwin-x64
linux-arm64
linux-x64
win32-x64
Smithers ships a jj binary per platform, so worktree snapshots and forks work with no system install. A package manager pulls only the one matching your host, and the doctor tells you up front when no usable git or jj is present.
$ bunx smithers-orchestrator workflow doctor # vcs: ok
smithers.sh
SMITHERS_JJ_PATH override · PATH fallback
Also in 0.23.0
Benchmarks, examples, correctness.
Benchmarks
› SWE-Bench Pro
› SWE-EVO
› Claw-Eval-Live
› RoadmapBench
· Opus 4.8 + Codex
Examples
✓ defending-code (ASAN vuln discovery)
✓ open-code-review
Correctness
✓ outer-JSON extraction
✓ DevTools stream recovery
✓ strict Codex schemas
✓ Pi plugin MCP bridge
Full changelog: smithers.sh/changelogs/0.23.0
smithers.sh
0.23.0