the agent CLI that checks reality.
assay runs local or cloud AI against your real project, lets it use connected tools, and verifies buildable work with actual commands instead of trusting a model's "done".
curl -fsSL https://assay.qbcsys.com/install.sh | sh
Requires Node 18+. Installs assay to ~/.local/bin and the CLI/runtime to ~/.assay.
Provider flexible
Use Ollama local/cloud, OpenAI, Anthropic, Gemini, Fireworks, OpenAI-compatible endpoints, Claude CLI, or Cursor CLI.
Tool-aware
Connect MCP servers for files, databases, mail, boards, and internal systems. Tool use is logged to a transcript.
Verification-first
For work tasks, assay runs the gate you configure, or auto-runs build/test checks when available.
Screenshots of assay working
The chat UI is built for operational work: ask a question, inspect the proposed change, approve execution, and keep a durable transcript of what happened.
How to use assay
The core flow is intentionally small. Install it, pick an AI, optionally connect tools, then chat or run verified tasks.
Install
Run the hosted installer. It downloads the zero-dependency CLI plus the optional rich TUI when npm is available.
curl -fsSL https://assay.qbcsys.com/install.sh | sh export PATH="$HOME/.local/bin:$PATH"
Choose an AI
Start the CLI and use the setup wizard, or set values directly. API keys are saved centrally in ~/.assay/config.json.
assay :setup :provider openai :model gpt-4o :key sk-...
Connect project tools
Project tools stay in the project config, so each workspace can have its own MCP servers and validation gate.
:mcp add db node /path/to/db-mcp/server.js :mcp env db DB_URL=postgres://... :gate gate.json
Chat or run work
Type normally for chat. Use :run for multi-step work that must finish by passing a real validation check.
What changed in this repo? :run add a /health route and make the tests pass :jobs :resume
Use the rich terminal UI
The TUI supports attachments, clipboard paste, scrollback, streamed output, and the same central config.
assay --tui assay-tui
Central config, project config
Personal AI settings belong in one central user file. Workspace behavior belongs beside the project.
User config
~/.assay/config.json stores provider, model, host, and provider-specific API keys. Override with ASSAY_CONFIG.
Project config
universal-agent.config.json stores gates, MCP servers, and workspace overrides. Keep committed project configs non-secret.
Precedence
CLI flag, then environment, then project config, then user config, then built-in defaults.
{
"provider": "openai",
"model": "gpt-4o",
"apiKeys": {
"openai": "sk-..."
}
}
Downloads
The installer uses these files directly from this hosted site. Manual install is just unpack and symlink.