You get a lot done every day. By tomorrow, most of it has already slipped away.
personal agent is a daily self-assistant that runs on your own machine — turning everyday activity into a living profile, a self-updating website, and a triaged morning digest. Everything stays local; only what you point it at ever leaves.
Run the guided wizard. It walks every section — LLM, GitHub, email — writes your .env, and validates each one live, so a wrong key fails now, not at 7 a.m. tomorrow.
Dry-run first — it writes the digest to disk without sending anything. Happy? Drop the flag for the real thing, then let cron run it each morning.
assistant run --dry-run # full pipeline, nothing sentassistant run # the real thing# once a day, early morning:
0 7 * * * assistant run || assistant run --resume
Every setting, by hand
The wizard writes all of this and validates it live — but if you'd rather edit .env yourself, here's every group. Run assistant init --check when you're done.
GitHubrequired
A fine-grained personal access token — read-only access to your repos and notifications is enough. It powers the activity collector.
GEMINI_API_KEY=…# recommendedTAVILY_API_KEY=…# or this
Multi-model · MoAoptional
Route each role to its own model (LLM_ROLES), or run Mixture-of-Agents — several models propose in parallel and one aggregates — on the offline roles (LLM_MIXTURE). A dead or empty member is dropped, so it keeps working as long as one proposal survives.
LLM_ROLES={"chat":{"model":"mimo-v2.5"}}# one line needs no quotes# each member is {model, base_url?, api_key?}; span lines only if 'single-quoted'LLM_MIXTURE='{"members":[
{"model":"mimo-v2.5","base_url":"https://token-plan-cn.xiaomimimo.com/anthropic","api_key":"tp-…"},
{"model":"qwen3.6-plus","base_url":"https://dashscope.aliyuncs.com/apps/anthropic","api_key":"sk-…"}],
"aggregator":{"model":"deepseek-v4-pro","base_url":"https://api.deepseek.com/anthropic","api_key":"sk-…"},
"roles":["pipeline"]}'
Every knob — website marks sync, WeChat announce, research sources — is documented inline in .env.template.
What you wake up to
One quiet run each morning turns yesterday into four things worth having.
Morning digest
Triaged before coffee
GitHub notifications sorted red / yellow / white against your profile, new papers worth reading, and your open todos — one email.
Living profile
Backed by what you did
A picture of you that keeps itself current — every skill cited to something you actually shipped. Nothing invented.
Personal site
Renders itself, honestly
Publishes a website straight from your profile, rendered deterministically — no model ever writes a public page.
Résumé sync
Aligned, never auto-pushed
Keeps your résumé matched to your profile, gated on a compile and your explicit okay — never pushed without you.
Optional · chat channel
Chat from your phone
Email chat works the moment setup finishes. For WeChat — plus proactive reminders and a gateway that can run your daily schedule — connect it through OpenClaw. The agent stays the only brain; OpenClaw is just transport.
WeChat
step c prints a QR in your terminal — scan it here
a
Install the gateway
# the gateway needs Node ≥ 22.19npm i -g openclaw @tencent-weixin/openclaw-weixin
b
Link the bridge plugin
# from the repo — --link tracks it, so updates are a git pullopenclaw plugins install --link ./openclaw-plugin
c
Scan to log in
openclaw channels login --channel openclaw-weixin
The gateway binds to the account that scans, so the sender is always you — no pairing to approve. It can also run your daily digest and weekly consolidation as cron jobs, so a WeChat setup needs no separate scheduler.
Then just talk to it
Day to day, you text it — over WeChat or email. Log spending, track workouts, send a receipt photo, or hand it a whole multi-step task.
you
Lunch was 45
agent
✔ logged: expense 45 CNY · food · lunch · 12:30
you
receipt.jpg
agent
Read ¥68 · 面点王 · 12:30 from the receipt — ✔ logged as food.
you
Look into three Sichuan places and remind me to book Friday
agent
On it — I'll work through it step by step and message you the result. ⏱ reminder set for Friday.
Local-first. Open source. Yours.
Everything runs and stays on your machine. The only things that leave are the LLM calls, your digest email, and the sites you point it at.