你只管写日记。AI 用三个角度读懂你的一天,遇到拿不准的地方就来问你,把你的回答变成规则、真的用上,再每周检查自己有没有说到做到。You just write your journal. An AI reads your day through three lenses, asks you when it is unsure, turns your answers into rules, really uses them, and checks every week that it did what it said.
记录你的存在痕迹。Record your traces of existence. 最强的功能是自优化偏好系统:你纠正过的,它记住并且证明自己用上了。Its strongest feature is the self-optimizing preference system: what you correct, it remembers, and proves it used.
Read https://maxont.github.io/existence-trace/install and install existence-trace for me.
多数日记工具只负责存。existence-trace 的重点是另一件事:让系统学会怎样读懂你,并且能证明它学会了。Most journaling tools only store things. existence-trace is about something else: letting the system learn how to read you, and proving that it did.
一本受保护的日记,三个读懂你的角度,一套让系统越用越准的偏好容器,外加每天的运转节奏。A protected journal, three lenses for reading you, a preference container that makes the system more accurate with use, and a daily rhythm that runs it.
每天一个 Markdown 文件,分成「AI 写的区」和「你写的区」。你的区和「原版本」区受保护,AI 动一个字,引擎就拒绝保存。One Markdown file a day, split into zones the AI writes and zones you write. Your zones and the Original version are protected: if the AI touches a single character, the engine refuses to save.
晚写的补充只能追加在原版本末尾,并标明实际发生在哪一天。Late additions can only be appended to the end of the original, labelled with the day they actually happened.
愉悦 P、激活 A、掌控 D,三个轴各取 0 到 5 的连续值,再粗略投影到 27 个情绪词,比如「专注」「惬意」「恐慌」。Pleasure P, Arousal A, Dominance D: three axes, each a continuous value from 0 to 5, coarsely projected onto 27 mood words such as focused, at ease, panicked.
早、中、下午各一个读数,画成一天里平滑的三条曲线。A reading for morning, noon and afternoon, drawn as three smooth lines across the day.
0 到 10 分。B 稳定有四项:睡眠与恢复、身体精力、安全与支持、注意力与负担。E 探索也有四项:内在兴趣、自主与自由、期待与意义、边界与可持续性。G = (B + E) / 2。Scored 0 to 10. B (stability) has four items: sleep and recovery, physical energy, safety and support, attention and load. E (exploration) has four too: intrinsic interest, autonomy and freedom, anticipation and meaning, boundaries and sustainability. G = (B + E) / 2.
G 是 B 和 E 的平均。缺的项显示「缺」,绝不当成 0。G is the average of B and E. A missing item shows as n/a and is never counted as 0.
六个维度:节律与稳定、学习与吸收、边界与休息、行动与尝试、反思与发现、联结与探索。每个维度每天打 0 到 4 级。Six dimensions: rhythm and stability, learning and absorbing, boundaries and rest, action and trying, reflection and discovery, connection and exploration. Each is scored 0 to 4 a day.
再加上普通成果(0 到 10)和不封顶的重大事件,没有每日上限。Add ordinary achievements (0 to 10) and uncapped major events. There is no daily cap.
提问、反馈、决定、规则、回执、周审计,一整条可追溯的链。每个决定都能追到你说的哪句话,每条规则都能查到有没有真的用上。Questions, feedback, decisions, rules, receipts and a weekly audit form one traceable chain. Every decision traces back to a sentence you wrote, and every rule can be checked for whether it was really used.
被新规则替代的旧规则不会消失,会留下「谁替代了谁、为什么」。A rule replaced by a newer one does not vanish; the record of who replaced whom, and why, stays.
默认一天五个任务加每周一次审计,时间可改。系统只生成调度文件,不会替你安装。By default five tasks a day plus a weekly audit, all times configurable. The system only writes scheduler files; it never installs anything for you.
可选:邮件提问和接收回复、把笔记镜像到 Notion、每次任务后在本地 git 留一份版本记录。两套预设开箱即用。Optional: ask and receive replies by email, mirror notes to Notion, keep a local git history after every task. Two presets work out of the box.
下面是仓库自带的示例人物 Juniper(虚构的面包师)三天的日记,以及系统用真实引擎跑出来的结果。图、分数和日报都是引擎的实际输出,不是手画的。Juniper 用英文写日记,中文模式下显示的是译文。Below are three days of notes from the repository's example persona, Juniper, a fictional baker, and what the real engine produced from them. The chart, scores and report are actual engine output, not hand-drawn. Juniper writes in English; in Chinese mode you see a translation.
需要一个能读写文件、能运行命令的 AI 代理来执行这些任务,比如 Codex 或 Claude Code,也可以用 cron 去调起。引擎负责计算和把关,代理负责判断。An AI agent that can read and write files and run commands performs these tasks, for example Codex or Claude Code, started by cron if you like. The engine does the calculating and the gatekeeping; the agent does the judging.
发现疑问。Find doubts.先处理新反馈,再回看最近 14 天的笔记,只在真有拿不准的地方才提问,然后把当天的状态发给你。没疑问也会明说「目前没有新的重要疑问」;扫描失败就说无法判断,绝不假装没事。It processes new feedback, scans the last 14 days of notes, asks only when something is genuinely unclear, then sends you the day's status. With no doubts it says so plainly; if the scan fails it says it cannot tell, and never pretends all is well.
读你的回答。Read your answers.收下笔记反馈区和邮件回复,据此作决定、改规则,再写一段决定报告请你过目。没有新东西就保持安静。It collects feedback from your note and email replies, decides, changes rules, and writes a decision report for you to review. If nothing is new, it stays quiet.
写日报。Write the report.读取生效规则,整理当天的 PAD、XP 和叙述,写好回执,并为明天建好新的一页。It reads the active rules, prepares the day's PAD, XP and narrative, files the receipts, and creates tomorrow's page.
估 G。Estimate G.给稳定与探索的八个小项打分,对缺失的项低置信度补值,计算、冻结预测、出图。It scores the eight items of stability and exploration, fills gaps at low confidence, computes, freezes the prediction and draws the chart.
周审计。Weekly audit.检查每一条「提问到回执」的链,只有发现漏用或需要你判断的事才会来找你。It checks every chain from question to receipt, and only reaches out if something was missed or needs your judgement.
默认时间都可以在配置文件 trace.toml 里改。每个任务前后,系统会把你的数据目录提交到一个本地私有的 git 仓库,没变化就不提交,默认不推送到任何地方。All default times can be changed in the trace.toml config file. Before and after each task, your data directory is committed to a private local git repository (no change, no commit), and nothing is pushed anywhere by default.
下面三个小工具用的就是引擎里的公式和权重(default 预设)。预载的是 Juniper 3 月 2 日的数据,结果和仓库测试里的期望值一样:G 为 6.75,XP 为 62。These three tools use the engine's own formulas and weights (default preset). They are preloaded with Juniper's data for March 2, and give the same results as the repository's tests expect: G is 6.75 and XP is 62.
1 和 2 算低,3 算中,4 和 5 算高,3 × 3 × 3 共 27 个词。Levels 1 and 2 count as low, 3 as mid, 4 and 5 as high: 3 × 3 × 3 gives 27 words.
勾上「留空」试试:缺一项,这一组就显示「缺」,G 也算不出来,不会偷偷当成 0。Tick "blank" to see it: with one item missing, that group shows n/a and G cannot be computed. It never quietly counts as 0.
每维得分是「上限 × 等级 ÷ 4」。重大事件不封顶,在发生那天只记一次。Each dimension scores cap × level ÷ 4. Major events are uncapped and booked once, on the day they happened.
你需要 Python 3.11 以上,以及一个能运行命令的 AI 代理。不依赖任何第三方库。You need Python 3.11 or newer and an AI agent that can run commands. No third-party dependencies.
把下面这句话粘贴给 Claude Code、Cursor、Codex 或任何能运行命令的代理。它会读安装页,问你四个问题(预设、语言、时区、数据目录),每次改动前先征得你同意:Paste this into Claude Code, Cursor, Codex or any agent that can run commands. It reads the install page, asks you four things (preset, language, time zone, data folder) and asks before every change:
Read https://maxont.github.io/existence-trace/install and install existence-trace for me.
喜欢自己动手?一行命令装好 etrace(它不会替你建数据目录,也不会改 shell 配置):Prefer the terminal? One line installs the etrace command (it never creates your data folder or edits shell config):
curl -fsSL https://maxont.github.io/existence-trace/install.sh | bash etrace ai set etrace import ~/Documents/diary --run
etrace ai set 接入你的 AI(OpenAI、Anthropic、DeepSeek、OpenRouter、Ollama 或任何兼容地址),key 只存在你的 ~/.config,不进数据目录;etrace import 把你已有的日记(文件夹、.md/.txt 文件或 Day One 导出)逐字放进每天的笔记,--run 再让 AI 去读最近 7 天。两条命令都会在 ~/existence-trace-data 顺手建好数据目录。没有旧日记就用 etrace init 和 etrace note。不知道选哪套预设就用 default,tiger-method 是作者自己调出来的一套(--preset tiger-method)。etrace ai set connects your AI (OpenAI, Anthropic, DeepSeek, OpenRouter, Ollama or any compatible address) and keeps the key in your ~/.config, never in the data folder; etrace import puts the diary you already have (a folder, .md/.txt files or a Day One export) into each day's note word for word, and --run lets the AI read the latest 7 days. Both commands create your data folder in ~/existence-trace-data if needed. No old diary? Use etrace init and etrace note. If unsure which preset to pick, use default; tiger-method is the author's own tuned set (--preset tiger-method).
打开 journal 目录里当天日期的文件,其余区域由 AI 负责:Open today's file in the journal folder. The AI takes care of everything else:
系统会为你的代理生成调度文件,目标可选 codex、claude-code 或 cron。它只写文件,不会替你装进系统,你看过以后再自己接入:The system writes scheduler files for your agent; the target can be codex, claude-code or cron. It only writes files and never installs them, so you review them and wire them in yourself:
etrace schedule --target claude-code --out ./my-schedule
想先看看会是什么样子,可以把 Juniper 的示例完整跑一遍,步骤在仓库的 examples/persona/README.md 里。To see it in action first, run Juniper's example end to end; the steps are in examples/persona/README.md in the repository.
当笔记里出现「AI 想问你」,在反馈区用 [Q-编号] 开头回一句话就够了。之后的日报会附上决定报告:它决定了什么、为什么、依据你的哪句话。不同意就直接写下来,你随时可以推翻。When the note shows "What the AI wants to ask you", reply in the feedback zone with one sentence starting with [Q-id]. The next report carries a decision report: what it decided, why, and which of your sentences it relied on. If you disagree, just write it down; you can overrule anything.
[Q-20260303-1] It was the bus, not the work. Waiting in the rain drains me more than a busy shift does.
想改时区、语言、提问方式(只写进笔记,或同时发邮件)和各任务时间,编辑 trace.toml 即可。写错的配置项会直接报错,不会悄悄回退成默认值。To change the time zone, language, how it reaches you (note only, or note plus email) and each task's time, edit trace.toml. A mistyped setting is an error, not a silent fallback to a default.
系统有九条原则,全部写进了代码和测试,不是口号。换成日常的话,大致是这几件事:The system has nine principles, all written into code and tests rather than slogans. In everyday words, they come down to this:
你写的区域受保护,引擎在每次保存前后核对内容指纹,有任何差异就拒绝写入。Your zones are protected: the engine compares content fingerprints before and after every save and refuses to write on any difference.
你填的数永远原样保留,并被认真参考;AI 结合证据独立判断,如果和你的不同,必须写明理由。The number you enter is always kept as is and weighed seriously. The AI judges independently from the evidence, and if it differs from you it must say why.
每个数字都标明来源是「你自己说的」「AI 推断的」还是「补值」,还带着置信度。Every number says whether it came from you, from AI inference or from gap filling, and carries a confidence.
留空就是留空。补出来的值一律低置信度,而且从不用于训练或校准。Blank stays blank. Filled values are always low confidence and never used for training or calibration.
AI 先决定、写理由、请你过目。没反馈就保持现状,沉默从不算作赞成。The AI decides, gives reasons and invites your review. Without feedback things stay as they are, and silence is never counted as approval.
只有写出产物、读回核对、确认真的用上,才记作「已应用」。读过规则不算用过。Only when the output is written, read back and confirmed does a rule count as applied. Having read a rule is not using it.
不用。PAD 和 G 的自评可以留空,空就是空,系统会标成「待评分」或显示「缺」,不会当成 0。缺的 G 小项只会被低置信度补值,而且不进入任何校准统计。No. PAD and G self-ratings can be left blank. Blank stays blank, marked pending or shown as n/a, never as 0. A missing G item is only filled at low confidence and never enters any calibration statistics.
不会。「这里更接近真实的我」「给 AI 的反馈」和「原版本」都是受保护的区域。想补写时,只能追加在原版本末尾,并且会标明「补写于哪天,实际发生于哪天」。No. "Closer to the real me", "Feedback for the AI" and "Original version" are protected. Late additions can only be appended to the end of the original, labelled with when they were written and when they actually happened.
不限。核心是一个只用 Python 标准库的引擎加一份配置,调度层可以生成给 Codex、Claude Code 或 cron 用的文件。代理负责读日记和做判断,引擎负责计算、校验和把关。Any. The core is an engine using only the Python standard library plus a config file, and the scheduler layer can generate files for Codex, Claude Code or cron. The agent reads your journal and makes judgements; the engine computes, validates and guards.
引擎本身不联网。只有在你主动配置了邮件或 Notion 时才会发出内容:邮件只带必要的最少上下文,Notion 只是把当天笔记镜像过去,从不把 Notion 的内容读回你的笔记。你的 AI 代理自己怎么处理数据,取决于你选用的代理。The engine itself does not go online. Content leaves only if you configure email or Notion: email carries the minimum context needed, and Notion only receives a mirror of the day's note and is never read back into your notes. How your AI agent handles data depends on the agent you choose.
不是。PAD、G、XP 都是个人反思的辅助,不是临床量表,不做医学或心理判断,也不能替代专业帮助。如果你正在挣扎,请联系合格的专业人士或当地的危机热线。No. PAD, G and XP are personal reflection aids, not clinical scales. They make no medical or psychological judgement and are no substitute for professional care. If you are struggling, please reach out to a qualified professional or a local crisis line.
PAD 的 27 个词和 G 的模型完全一样。区别在 XP:tiger-method 的六个维度是作者按自己反复遇到的真实难题命名的,比如「停下优化与边界」「在不确定中行动」。想长出自己的维度,可以先用 default 写两三周,找出反复出现的难题再改名字。The 27 PAD words and the G model are identical. The difference is XP: tiger-method's six dimensions are named after real difficulties the author kept running into, such as stopping over-optimizing and acting under uncertainty. To grow your own, journal with default for two or three weeks, find the difficulties that keep coming back, then rename the dimensions.
全部是你数据目录里的 Markdown 和 JSON 文件,直接能打开。目录还是一个本地 git 仓库,每次任务前后都有提交记录,没配置远端就永远不会推送出去。It is all Markdown and JSON files in your data directory, openable as they are. The directory is also a local git repository with a commit around every task, and without a configured remote it is never pushed anywhere.