Start
Getting started
Install personkit, sign in, install the daemon, and bring your AI into every editor and chat surface in under ten minutes.
aiperson is the memory layer for AI: one persona you own — voice, values, conventions, refusals — kept in your own git repo and a local-first corpus, and already there in every editor and chat surface you open. The conversations you have on those surfaces flow back into the same corpus, so your AI keeps getting to know you.
Install
curl -fsSL https://aiperson.one/install.sh | sh
The install script drops the personkit binary into ~/.dotperson/bin on Unix or %USERPROFILE%\.dotperson\bin on Windows, and adds that directory to your PATH. Override the location with PERSONKIT_INSTALL_DIR.
Sign in
personkit login
Opens a browser tab on aiperson.one, signs you in with GitHub, binds a private persona repository to your account, and writes ~/.dotperson/credentials.json.
First-run setup
personkit setup
Orchestrates the full first-run flow in a single pass:
- Connect — writes the persona projection into every detected AI surface (Claude Code, Cursor, VS Code Copilot, Windsurf, Continue, Aider, Gemini CLI, JetBrains, plus the browser extension).
- Corpus init — opens
~/.dotperson/corpus.db, runs the V2 migration (threads+messagestables included), and loads thesqlite-vecextension (or degrades gracefully to FTS5 + entity + temporal retrieval). - Seed — walks your git repos and ingests the last 30 days of commits.
- Verify — confirms each surface is wired and that the MCP server responds.
Turn on the background daemon
personkit daemon --install
Installs one launchd job (one.aiperson.personkit-daemon) that runs every five minutes and does harvest → embed → observe → sync → synthesise in a single cycle. Without this step, harvesters only run when you invoke them manually. With it, your corpus stays fresh on its own.
Watch what it’s doing:
tail -f ~/.dotperson/daemon.out.log
Install the browser extension
For the global chat frontier — load the unpacked extension from apps/browser-extension/ (developer mode) or wait for the Chrome Web Store listing. Sign in once via the popup; from then on it injects your persona on every chat you open and (opt-in per surface) captures every thread back into your local corpus.
Twenty-one supported surfaces:
- Verified (default-on): ChatGPT, Claude, Gemini, Microsoft Copilot, Grok, Meta AI, Perplexity, Mistral Le Chat, HuggingChat, Poe, Pi, Lmarena.
- Experimental (Chinese frontier, opt-in flag): Kimi, DeepSeek, Qwen / Tongyi, Doubao, ChatGLM, Wenxin (Ernie), Yi, Hailuo, SenseChat.
You’re in the driver’s seat: master kill switch, per-conversation skip via the in-page indicator, regex redactor, and per-surface traffic-light health dots all live in the popup. The dashboard’s Overview card mirrors the same signals via the relay’s /v1/me/capture-health endpoint.
See Daily use for what to do once everything is wired.
Your first query
In any wired editor, ask your AI:
“What was I working on yesterday?”
It calls corpus_query via MCP, fuses FTS + vec + entity + temporal scores, and answers with sourced specifics. From the terminal:
personkit today # daily brief — recent threads + git activity
personkit corpus health # threads / messages / embedding counts
The persona it uses came from your git repo. The corpus it queried lives on your laptop. We host nothing you didn’t ask us to.
Next steps
- Daily use — what to expect day-to-day once the daemon is running.
- The persona model — how voice, values, conventions, refusals, and signatures shape every output.
- The corpus — schema, retrieval semantics, and how to add your own harvesters.
- Privacy — what stays local, what gets mirrored, and how to lock it down further.
- Troubleshooting — daemon not running, embeddings stuck at zero, extension says “not signed in”.