cadence-cli
v1.1.7
Published
Cadence - multi-model AI agent in your terminal.
Downloads
1,370
Maintainers
Readme
Cadence
Multi-model AI in your terminal. One command, twelve frontier models, and a bridge that runs Claude Code and the OpenClaudia skill library on your backend.
___ _
/ __|__ _ __| |___ _ _ __ ___
| (__/ _` / _` / -_) ' \/ _/ -_)
\___\__,_\__,_\___|_||_\__\___|Install
One line, PowerShell or Terminal:
irm https://cadence.ai/install.ps1 | iexOr from a local clone:
.\Install.ps1The installer checks for Python 3.9+, installs Cadence, and adds it to your PATH. Then:
cadence loginManual install
pip install --user .
cadence loginBest rendering
Cadence detects your terminal and adapts. For the full look (rounded panels, comet loader, waveform banner) use Windows Terminal:
winget install Microsoft.WindowsTerminalThe legacy console works fine and falls back to safe glyphs automatically.
Paste your API key. It is verified against the server, then stored in
~/.cadence/config.json with owner-only permissions.
Run it
cadenceOpens the interactive shell:
you > what is a closure?
cadence >
A closure is a function bundled with its surrounding state...Slash commands
| Command | What it does |
|---|---|
| /help | Show all commands |
| /models | List models, active one highlighted |
| /model <name> | Switch model (fuzzy matched) |
| /web | Toggle web search |
| /new | Start a fresh thread |
| /clear | Clear the screen |
| /history | Show this session's messages |
| /status | Connection and account info |
| /tools | List agent tools |
| /cwd | Show or change the workspace |
| /key | Replace your stored API key |
| /exit | Leave |
Agent
Cadence is an agent by default. It can read files, write files, search, and run commands in your workspace from the moment it starts.
you > what does Config.txt say about retries?
· ReadFile Config.txt
✓ Config.txt (34 bytes)
cadence >
The retries value is 5.Tab completion
Press Tab to complete slash commands, model names after /model, and paths
after /cwd.
Tools
| Tool | Access | What it does |
|---|---|---|
| ReadFile | read | Read a text file |
| ListDirectory | read | List files and folders |
| SearchText | read | Search file contents |
| WriteFile | write | Create or overwrite a file |
| RunCommand | write | Run a shell command |
Safety
- Read tools run freely. Write and command tools always ask first.
- Answer
yto allow once,nto decline,ato allow for the session. - Every path is confined to the workspace root.
../escapes are rejected. - Destructive commands (
rm -rf /,format c:,mkfs,shutdown) are blocked. - Commands time out after 60 seconds.
- The agent stops after 12 steps per request.
Set the workspace with /cwd <path>. It defaults to the directory you launched
Cadence from.
End a line with \ to continue on the next line.
One-shot commands
cadence ask "Explain async/await in one paragraph"
cadence ask --Web "latest Python release"
cadence models
cadence use anthropic/claude-opus-5
cadence status
cadence logoutFrom Python
from Chat import NewClient, NewConversation
Client = NewClient()
ChatId, Answer = Client.Ask("Say hi in exactly five words.")
Talk = NewConversation()
Talk.Send("What is a monad?")
Talk.Send("Give me an example.")Claude Code + OpenClaudia
OpenClaudia is a library of 75 marketing skills for Claude Code. It has no model of its own, so it needs a backend. Cadence provides one.
python InstallOpenClaudia.py --Skills seo-audit
cadence claudeThen inside Claude Code: /seo-audit https://yoursite.com
Once that works, install everything with python InstallOpenClaudia.py --All.
Requires Node.js 18+ and Claude Code on PATH. For other Anthropic-compatible
tools, cadence claude --PrintEnv prints the variables to set.
Responses arrive complete rather than streaming token-by-token.
Terminal support
The UI detects your console at runtime. Terminals that support Unicode get rounded box borders and a braille spinner; others fall back to ASCII automatically. Colour is disabled when output is piped to a file.
Environment variables
| Variable | Purpose |
|---|---|
| CADENCE_API_KEY | Overrides the stored key |
| CADENCE_ENDPOINT | Overrides the server URL |
| NO_COLOR | Disables all colour |
| CADENCE_FORCE_COLOR | Forces colour even when piped |
| CADENCE_ASCII | Forces plain ASCII glyphs |
Security
- The upstream gate secret lives only in server environment variables.
- API keys are stored server-side as SHA-256 hashes, compared in constant time.
- Per-key rate limiting; exceeding it returns
429. - Model names checked against an allowlist before reaching upstream.
- Input size capped.
- No keys configured means deny-all, not open-to-all.
Keys rotate server-side without shipping a client update.
Do not put the gate secret in a bundled executable. PyInstaller is an archive, not encryption; the contents can be extracted and decompiled in under a minute. Ship the executable for convenience, keep the secret on the server.
Troubleshooting
| Symptom | Fix |
|---|---|
| No API key found | cadence login |
| API key rejected | Key rotated or mistyped; cadence login again |
| Rate limit exceeded | Wait for the Retry-After window |
| Claude Code is not installed | Install it, or use cadence claude --PrintEnv |
| npx not found | Install Node.js 18+ |
