What Veyyon includes.
TypeScript and Bun run the agent loop and the TUI; Rust handles grep, the PTY, and the hashline edit engine. Everything below exists for one reason: to get more finished work out of the model you already run — and to show you exactly what it did along the way.
Edits that land.
Most agent loops lose turns to malformed patches: line-numbered diffs that drifted, hunks that no longer match, partial writes. Veyyon anchors edits to the content of the file and verifies before it writes, so the loop spends its turns on the task instead of on recovery.
- Hashline edits — hunks anchor to what the code says, not to where it happened to sit. A file that changed since the model read it does not silently corrupt.
- Verified before write — every hunk is checked against the real file before it applies; a drifted patch is repaired against the content, not force-applied.
- Plan mode & goals — the agent grounds, proposes, then executes. Tools stay read-only until you approve the plan.
- Code review — a review pass over the agent's own changes before they land, on a model you choose.
Sandbox and approvals.
Approvals and the sandbox are two separate layers. Approvals ask you before an action; the sandbox enforces limits at the OS level whether or not a prompt was ever shown. The default posture is fail-closed.
Three access tiers
Read-only for exploration, workspace-write for normal work, full access when you mean it. The tier is a real boundary, not a label.
Enforced by the OS
Landlock, seccomp, and Seatbelt back the workspace boundary. Files outside the workspace are unreachable, not merely unapproved.
Non-interactive exec
One-shot runs for CI and scripts carry the same approval model and return honest exit codes, so pipelines can trust the result.
Context and memory.
Long sessions fail when the thread is lost — the model forgets the decision it made an hour ago, or the context fills and the summary throws the wrong things away. Veyyon treats context as a first-class surface: a compaction model you choose, durable memory you opt into, and sessions you can branch.
Memory
Durable project memory across sessions — the agent recalls what it learned about your repo and retains what matters. Off until you enable it, inspectable always.
Session branching
Fork, clone, and label threads with /tree. Try an approach on a branch, keep the trunk intact, and merge the winner back into your flow.
Cockpit
A live multi-agent view — a model per subagent, drill into any thread, watch the work as it happens instead of reconstructing it afterward.
Extending Veyyon.
The harness is yours to shape. Open interfaces carry your tools, your knowledge, and your policies into every turn — and the same agent runs headless in CI when the work leaves your terminal.
MCP, skills, hooks
Connect MCP servers for tools, author SKILL.md skills for procedures, and run lifecycle hooks around every turn to enforce your own rules.
Browser & web search
A real headless browser and multi-provider web search come built in, so tasks that need the live web don't stall on stale training data.
Doctor & keybindings
vey plugin doctor self-tests your setup and says plainly what is missing. Vim-mode keybindings remap per profile, so the harness fits your hands.
The model is the engine. The harness is the lever.
Each feature here is about getting more real work out of the model you're running. The handbook covers how each one works.