Tendril is a Tauri desktop agent that writes, registers, and reuses its own TypeScript tools at runtime using three fixed bootstrap capabilities and a persistent Deno-sandboxed registry.
Key Takeaways
The model always sees exactly three tools: listCapabilities, registerCapability, and executeCode – the capability surface stays fixed while the registry grows.
Tools persist as plain .ts files under ~/tendril-workspace/tools/, so every session inherits what prior sessions built without rebuilding.
Each registered capability carries triggers (when to fire) and suppression (when to stay silent) as first-class fields written by the model itself.
Execution runs in a Deno subprocess with scoped permissions; allowedDomains in config.json restricts network access per capability.
Implements ACP (Agent Integrator Specification) over JSON-RPC 2.0/NDJSON on stdio – the same protocol used by Claude Code – with a Tauri Rust host spawning the Node.js SEA agent as a sidecar.
Hacker News Comment Review
The builder identifies the core motivation as the cold-start problem: agents that rebuild context from scratch every session instead of accumulating reusable capabilities across sessions.
The framing around “when” – not just what a tool does or how to call it – is flagged as the underserved design problem in current agent frameworks; Tendril treats it as a structured registry field rather than implicit prompt logic.
Notable Comments
@walmsles: “agent frameworks give you what a tool does and how to call it, but no structured answer to when” – names the gap Tendril is designed to fill.