Tawn — the twin you own
taw (ת) + own — Local-first personal digital twin. Your data, your machine, your intelligence.
Tawn is a self-hosted memory and context core that unifies your work, wealth, research, and academic life into one searchable brain — shared across every AI agent you use (Claude Code, Cursor, Gemini CLI, and others).
pip install tawn
tawn init
tawn web start # opens the web dashboard at http://tawn:8787
What it does
- Memory federation — indexes conversations from Claude, ChatGPT, Gemini, Obsidian, and local files into one semantic store
- Domain modules — Work, Wealth (read-only), Research, and Academic — each with its own compiled wiki and entity graph
- Multi-provider model routing — Anthropic, OpenAI, Gemini, DeepSeek, OpenRouter, Ollama; local by default, cloud when needed
- MCP server — any MCP-compatible agent gets
recall,note, andbriefverbs against your twin's memory - Web dashboard — streaming chat, memory browser, audit log, settings — at
tawn:8787 - Capability grants — deny-all filesystem access by default; every read and write is audited
Quick start
Requirements
- Python 3.12+
- PostgreSQL (for memory and federation tables)
- Node.js 18+ (only needed if installing from source)
Install
# fast core install (add providers when needed)
pipx install tawn
# or install everything at once
pipx install "tawn[full]"
# individual provider extras
pip install "tawn[anthropic]" # Claude
pip install "tawn[openai]" # OpenAI / OpenRouter
pip install "tawn[gemini]" # Google Gemini
pip install "tawn[ollama]" # local models
pip install "tawn[vectors]" # pgvector for semantic search
pip install "tawn[mcp]" # MCP server
Setup
tawn init # creates ~/.tawn/
tawn db setup # initialises PostgreSQL
tawn web start # starts the web server at tawn:8787
Configure model providers:
tawn setup # interactive wizard — sets API keys, DB, local model
Or set keys directly:
# keys are stored in the OS keyring, never in files
tawn setup # interactive
MCP integration (Claude Code)
Add to your ~/.claude/claude.json:
{
"mcpServers": {
"tawn": {
"command": "tawn",
"args": ["mcp"]
}
}
}
Then from any Claude session: tawn.recall("…"), tawn.note("…"), tawn.brief("work").
Domain modules
| Domain | What it tracks |
|---|---|
| work | Tasks, projects, decisions — per employer |
| wealth | Portfolio, net worth, holdings — read-only, never trades |
| research | Papers, experiments, entity graph, morning brief |
| academic | Applications, deadlines, proposal drafts |
Extend with your own domain:
tawn domain add health # scaffolds a new domain plugin
CLI reference
tawn # chat with your twin
tawn note "…" # append a note to today's raw file
tawn recall "query" # semantic search over compiled memory
tawn brief work # daily summary for a domain
tawn compile # compile raw/ into wiki + vectors
tawn federation sources # list federated AI tool sources
tawn federation merge # ingest pending federation records
tawn web start/stop/status # web server control
tawn update # check and install latest release
tawn config list # view all settings
Architecture
~/.tawn/
├── raw/ # immutable ingested sources
├── wiki/ # compiled markdown knowledge
├── federation/ # AI tool exports + adapters
├── grants.yaml # capability grants (deny-all default)
└── audit.log # every write, every cross-domain action
API server binds to 127.0.0.1 only. Wealth core is read-only. No withdrawal credentials ever stored.
License
MIT — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tawn-0.3.0.tar.gz.
File metadata
- Download URL: tawn-0.3.0.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96f4a020adcf738cb015e7f27820756fa64373c7d41379f8d56c50eba7fb3213
|
|
| MD5 |
f1688d277e4ee47b358d9d2e437b616e
|
|
| BLAKE2b-256 |
fbb04b96fcd0efb0489b54a020dbb1a2c7c782f349d9caf41fd7a65c1465d43b
|
Provenance
The following attestation bundles were made for tawn-0.3.0.tar.gz:
Publisher:
publish.yml on tawn-hq/tawn
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tawn-0.3.0.tar.gz -
Subject digest:
96f4a020adcf738cb015e7f27820756fa64373c7d41379f8d56c50eba7fb3213 - Sigstore transparency entry: 2278327143
- Sigstore integration time:
-
Permalink:
tawn-hq/tawn@4b3337edf11c5eea2dfcf17a4ff2b756d115f089 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/tawn-hq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4b3337edf11c5eea2dfcf17a4ff2b756d115f089 -
Trigger Event:
push
-
Statement type:
File details
Details for the file tawn-0.3.0-py3-none-any.whl.
File metadata
- Download URL: tawn-0.3.0-py3-none-any.whl
- Upload date:
- Size: 2.0 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7d74c1c1567b8809c2503eec39ec076ac540c18cd489ae5f95e63fb7129b4a3a
|
|
| MD5 |
1d4ec5dee944b896352552d3711ef57a
|
|
| BLAKE2b-256 |
9f24f7762df528ae2a93c3542555c040d3faabb2f2d73ba375c8aca772f17334
|
Provenance
The following attestation bundles were made for tawn-0.3.0-py3-none-any.whl:
Publisher:
publish.yml on tawn-hq/tawn
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tawn-0.3.0-py3-none-any.whl -
Subject digest:
7d74c1c1567b8809c2503eec39ec076ac540c18cd489ae5f95e63fb7129b4a3a - Sigstore transparency entry: 2278327496
- Sigstore integration time:
-
Permalink:
tawn-hq/tawn@4b3337edf11c5eea2dfcf17a4ff2b756d115f089 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/tawn-hq
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4b3337edf11c5eea2dfcf17a4ff2b756d115f089 -
Trigger Event:
push
-
Statement type: