Design and roadmap¶
The design of Attaché, with the research behind it, is written up in one long proposal: the ten decisions it rests on, a comparison with nanoclaw, OpenClaw and nanobot, the architecture, skills, email, model backends, artifacts, group chats, the code budget, the roadmap, and the risks.
The proposal is a standalone page, with its own look.
In short¶
- One small package. Python 3.11 or later, installed with uv, running as one process.
All state lives in
~/.attache, or whereverATTACHE_HOMEpoints. - Every optional capability is a skill. Channels, email, file formats and integrations are skills. The core never learns about Gmail or Slack.
- Skills are living documents. The assistant edits a skill when you change how you work, and every edit is a git commit you can read and undo.
- Model backends are config rows. Four small adapters (
anthropic,openai-chat,openai-responsesandclaude-cli), each endpoint one block of TOML. No LiteLLM and no agent framework. - Size is a test. CI fails if the core passes 2,710 lines of code. Blank lines, comments and docstrings don't count, so the budget never rewards dense code.
The web workspace adds a built-in owner settings service: it validates edits, preserves
file-managed configuration, checks revisions and retains a recoverable backup. This raises
the core cap from 2,240 to 2,700 lines. Resizing and workspace views remain static UI code;
the optional Hailer integration is a bundled skill and adds no core runtime dependency.
Starting a chat afresh (/new) and long turns, which wind up on a loop and carry on in a
fresh context, then raised it to 2,710.
Roadmap¶
| Phase | What it adds | Done when |
|---|---|---|
| 1. Local core (this release) | Config, the store, terminal and web chat, the four adapters, tools, the skills folder with git, the scheduler, the todos skill and the Home page. |
uvx attache gives a working assistant on localhost with to-dos and reminders. |
| 2. Messaging | The sidecar protocol with approval requests, the Slack and Signal skills, group-chat roles, file sending, PNG and PDF snapshots of pages. | You approve actions from a Slack DM, and a family Signal group can ask for answers, files and a shared checklist. |
| 3. Email and files | The mail skill for Outlook, Gmail and Titan, with approved sends; Word, Excel and PowerPoint skills; sharing pages through Tailscale Funnel; starting at login; email requests from people you list, for free slots or a job you defined. | Each morning the assistant files new mail in every account, drafts the replies you need, and sends the ones you approve. |
| 4. Cloud | A Dockerfile, an owner login for the web page, a guide for a small cloud machine, an MCP client for the API backends, a Codex adapter. | The same package runs on a small cloud machine, with your folder synced by git. |