Truss
Truss is a local-first runtime for coding agents. It separates agent execution from clients, so the same runtime powers a CLI, full-screen terminal workspace, Neovim client, desktop app, and VS Code side panel without coupling agent behavior to any one interface.
What works today
- Native Ollama and OpenAI-compatible local servers
- Automatic local provider and model detection
- Streaming chat, native tool calling, approvals, and interruption
- Filesystem search, file reads and writes, grep, and terminal execution
- Optional bounded public web search and page reading
- CLI, full-screen terminal UI, Neovim, desktop app, and VS Code side-panel clients
- Workspace configuration profiles and persistent project memory
- Independent managed-agent profiles with provider-neutral model bindings, safe Edit-run serialization, approvals, and bounded run history
Choose a starting point
| Goal | Start here |
|---|---|
| Install and run a local model immediately | Get Started |
| Configure Ollama, LM Studio, or llama.cpp | Local Models |
| Use commands or service mode | CLI |
| Use the terminal workspace | Terminal UI |
| Work inside Neovim or LazyVim | truss.nvim |
| Use the standalone workspace | Desktop App |
| Use the VS Code side panel | VS Code Extension |
| Run several focused profiles in one workspace | Managed Agents |
| Diagnose installation or model issues | Troubleshooting |
Install clients
Install the command-line and terminal clients from npm:
npm install -g @truss-harness/cli @truss-harness/tuiThen use truss-cli from the folder you want the agent to work in, or launch truss-tui for the full-screen terminal workspace.
Architecture
The runtime owns sessions, context, streaming, tools, approvals, and workspace memory. Clients only provide interaction surfaces. This keeps the local agent implementation usable outside VS Code and makes clients independently replaceable.
Last updated on