Skip to Content
DocsOverview

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

GoalStart here
Install and run a local model immediatelyGet Started
Configure Ollama, LM Studio, or llama.cppLocal Models
Use commands or service modeCLI
Use the terminal workspaceTerminal UI
Work inside Neovim or LazyVimtruss.nvim
Use the standalone workspaceDesktop App
Use the VS Code side panelVS Code Extension
Run several focused profiles in one workspaceManaged Agents
Diagnose installation or model issuesTroubleshooting

Install clients

Install the command-line and terminal clients from npm:

npm install -g @truss-harness/cli @truss-harness/tui

Then 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