Capabilities
Everything an agent needs but the model
6 capability groups and an honest status table. The details live in the docs next to the code.
Operation
The agent lives on its own and remembers what it did.
-
A 24/7 daemon
harnessd on a server or laptop: systemd, launchd, start from the app, restart from the UI.
-
Projects
A folder, a default agent and chats inside. Deleting a project keeps the history.
-
Agent profiles
Persona, tool allow-list, step, token and time limits, own model and working directory.
-
Scheduler
Cron, a fresh session per run, delivery to file, stdout or webhook, dry-run for checks.
Context
Memory is files; search is derived.
-
File memory
Facts about the user and the project in Markdown, the memory tool, a block in the system prompt.
-
Skills
Instructions with frontmatter, a catalog in the prompt, creation and audit. A skill is text, not a plugin.
-
Session search
FTS5 and vector search over embeddings, including hosted /v1/embeddings.
-
Compression
Old turns are dropped while a context.compacted event stays in the journal.
Tools
Power and limits in the same place.
-
Files and shell
read, write, edit, glob, grep and shell with output limits and a timeout.
-
MCP
The client attaches other servers; the built-in MCP server exposes Harness to other agents.
-
Sandboxes
local or docker without network, with memory and CPU limits.
-
Approvals
A request appears in the chat feed: allow or deny. A denial does not break the turn.
Models
A provider is a setting, not a dependency.
-
Providers
Anthropic, OpenAI, Ollama, Ollama Cloud and local OpenAI-compatible servers.
-
Fallback
A model chain with cooldown: if a provider fails, the next one finishes the turn.
-
Model choice
The provider's model list, a model per chat, the last model for new chats.
-
Budgets
Tokens, money and time per turn; usage and cost in the inspector.
Surfaces
One logic, thin clients.
-
Web client
Rail, sessions, tool cards, approvals, inspector, knowledge, settings, two themes.
-
Desktop
Tauri 2, a universal macOS bundle, tokens in Keychain, the local daemon starts itself.
-
CLI
One-shot and REPL, approvals, dataset export, doctor, connection profiles.
-
Voice
A browser microphone, whisper.cpp on the server, speech through say or espeak-ng.
Quality
Verified, not promised.
-
Events
An append-only journal, rebuilt projections, orphaned turns closed at startup.
-
Evals
YAML scenarios, a fake provider, behaviour checks rather than source checks.
-
Backups
Config, memory, skills, agents and a VACUUM INTO SQLite snapshot. No .env or tokens.
-
Observability
OTLP traces and metrics, audit of sensitive RPCs, healthz for proxies.
Reality check
Status
A short account of what works and where work remains.
| Area | Status | Note |
|---|---|---|
| Core and providers | ready | turns, limits, cancellation, fallback, usage |
| Memory, skills, search | ready | FTS5, embeddings, compression |
| Scheduler and subagents | ready | cron, delivery, task, batch |
| MCP, voice, OTel | ready | client and server, whisper, OTLP |
| Web and desktop | ready | same assets, universal .app |
| Linux server | ready | musl x86_64 and aarch64, installer |
| Windows | in progress | build passes, runtime untested |
| macOS signing | in progress | needs a Developer ID |
| Auto-update | planned | needs a key and release hosting |