Repository navigation
byoa v0.1.0 — Bring Your Own Agent
byoa v0.1.0 — Bring Your Own Agent
First public release. A local-first coding agent harness: point it at any model, pick a prompt
tier sized to that model, and let it run shell + file tools inside a bubblewrap sandbox whose
policy you control.
Install (use a release artifact, not the source tree)
Standalone (needs Node >= 26; no npm install):
tar -xzf byoa-0.1.0-linux-x64.tar.gz
install -m755 byoa ~/.local/bin/byoa
byoa --versionnpm-installable tarball:
npm install -g ./byoa-0.1.0-npm.tgz
byoa --versionBoth contain the bundled JavaScript build. The TypeScript source is not a runnable artifact:
Node does not type-strip files inside node_modules, so releasing the source tree would not
install.
Included
- Streaming agent loop with tool calls, cancellation and approvals.
- Providers: OpenAI-compatible (including LM Studio, Ollama, llama.cpp, vLLM) and Anthropic.
- Session persistence with resume and usage counters.
- Tools:
shell,fs_read,fs_write,fs_edit,fs_patch. - Sandbox: policy → bubblewrap argv, read-allowlist skeleton root (no
--ro-bind / /), network
denied by default, cleared environment,ulimitlimits, fail-closedstrictmode. - Three prompt tiers (
lite/normal/large) owning persona, context budget, per-result
truncation and output cap. - Obsidian-backed memory: markdown notes, SQLite FTS5 index,
memory_recall/memory_remember,
namespaced tomemory/byoa/so the harness only reads what it wrote.
Not included yet
TUI, Web and Electron adapters, MCP, subagents, web fetch/search.
Requirements
- Node.js >= 26
- Linux with
bubblewrapfor sandboxing. Without it,strict(the default) refuses to run
rather than silently degrading.
Quality
184 tests passing, including real-bubblewrap isolation tests; tsc --noEmit clean.
AI-generated with OpenCode — primary model: DeepSeek V4.1 Flash.