个人项目 · 2025.10 至今 · 每天在用Personal project · Oct 2025 – present · in daily use

个人数字分身(个人系统)Personal Digital Twin (personal system)

我常用的几个 AI 都不了解我:不知道我昨晚睡得怎样、这周有哪些截止日期、我在意什么,每次都得从头解释。所以我把自己的生活记录和想法整理成一套系统,每天自动更新,AI 回答之前先查它。The AI assistants I use every day knew nothing about me: how I slept, what was due this week, what I care about. I had to explain myself every time. So I organised my daily records and my own thinking into one system that updates itself, and the assistants check it before they answer.

时间Timeline
2025.10 从一份 Word 手稿开始,一年里重做了 4 版Started as a Word manuscript in Oct 2025; four versions in a year
形态What it is
自用网页、iPhone App 和 Telegram 消息;目前只有我自己在用A personal web dashboard, an iPhone app and Telegram messages; I am the only user
我负责My part
需求、规则和验收;代码由 Claude Code、Codex 编写Requirements, rules and acceptance; Claude Code and Codex write the code
后来拆出Spin-off
健康管理部分在 2026.10 拆成开源 App Health.AIOHealth management became the open-source app Health.AIO in Oct 2026
它做什么What it does

它每天替我做的三件事Three things it does for me every day

自动收集记录Collect records automatically

Apple 健康里 2017 年以来的睡眠、心率和步数,MacBook、iPhone 和 iPad 的屏幕时间,看过的视频,Canvas 上的课程截止日期。大多每 2 小时自动更新一次,存在我家里的 Mac mini 上。Sleep, heart rate and steps from Apple Health going back to 2017; screen time on my MacBook, iPhone and iPad; videos I have watched; course deadlines from Canvas. Most of it refreshes every two hours and is stored on a Mac mini at home.

早上 8:30 发一份早报Send a morning brief at 8:30

昨晚睡得怎样,昨天的时间花在做事还是娱乐,AI 帮我跑了多长时间的任务(按 Claude Code 和 Codex 的本地记录算),今天有哪些课、截止日期和训练,再对照我定的目标,提醒今天先调整什么。哪一路数据断了,它会直说停在哪天。How I slept, whether yesterday went on work or entertainment, how long AI spent on tasks for me (from Claude Code and Codex logs), today's classes, deadlines and training, and what to adjust first against the goals I set. If a data source has stopped, it says which day the data ends.

AI 回答前先查我的资料Let AI check my records before answering

Claude、Codex 和 ChatGPT,还有在 Telegram 上和我聊天的现成助手 Hermes,都先读同一份说明文件:每类资料放在哪、先看哪份汇总。问到作息、训练或学习安排时,它们先查真实记录和我写下的偏好与原则(40 多个主题页),再给建议。这些偏好与原则包括怎样算睡得好、什么状态适合训练,以及做选择时看重什么。Claude, Codex, ChatGPT and Hermes (an off-the-shelf assistant I chat with on Telegram) all start from the same guide file: where each kind of record lives and which summary to read first. When I ask about sleep, training or study plans, they check my real records and the 40-odd topic pages of preferences and principles I have written, such as what counts as good sleep for me, when I am ready to train and what I weigh when choosing, before they answer.

早报示例:格式照真实早报,数字是编的Sample morning brief: real format, made-up numbers, translated from Chinese
  1. 早上好,10月20日 周二Good morning, Tuesday 20 October
  2. 今天:Today:
  3. 2 天后:小组报告截止Due in 2 days: group report
  4. 课:14:15 机器学习讲座Class: 14:15 machine learning lecture
  5. 训练:上肢力量Training: upper-body strength
  6. 今天该调整的:睡眠|今晚提前 15 分钟关灯To adjust today: sleep | lights out 15 minutes earlier
  7. 昨晚:睡了 6 小时 20 分,比平常少Last night: 6 h 20 min asleep, less than usual
  8. 昨天屏幕:做事 5.1 小时,刷、看、玩 2.8 小时Screens yesterday: 5.1 h working, 2.8 h scrolling, watching and gaming
  9. 昨天 AI:AI 替你干了 6.3 小时AI yesterday: AI worked 6.3 h for you
  10. 数据有 1 处断档,9:00 的数据检查会细说1 data gap; the 9:00 check will explain

系统分三块:我的记录,存实际发生的事,也就是上面这些;我的想法和原则,是我确认过的偏好、经验和原则;给 AI 的说明,告诉它先读什么、能用哪些工具。下面的演示里,这三块分别叫数据核、认知核和 AIOS。The system has three parts: my records, what actually happened (the records above); my thinking and principles, the preferences, experience and principles I have approved; and the guide for AI, telling it what to read first and which tools it can use. In the demo below they are called the Data Core, the Cognitive Core and AIOS.

实际界面The real thing

我自用的网页My own dashboard

网页上能同时看到当天的睡眠、身体恢复和屏幕时间,以及本周的课程;早报用的也是这套计算。截图是 2026 年 10 月 7 日的真实界面,文字和数值已模糊。The dashboard shows the day's sleep, recovery and screen time alongside this week's classes, and the morning brief uses the same calculations. The screenshot is the real page on 7 October 2026, with text and values blurred.

看拆出去的 Health.AIO,有可试用的演示 →See Health.AIO, which has a demo you can try →
个人数字分身网页端今天页的历史截图,正文和数值已模糊
2026-10-07 个人数字分身的网页界面;历史截图,不是 AIO 开源版演示。Personal Digital Twin interface from 7 Oct 2026; a historical screenshot, not the AIO open-source demo.

一个问题如何调动整个系统How one question brings the system together

个人数字分身 第四版 概念演示

一个问题。
整个系统一起回应。

我的记录、判断与工具,在同一个问题下协作。

我提出问题

今天,怎样安排更适合我?

一份安排草案

例如:先为重要任务留出连续时间。

我反馈、确认

再决定哪些经验留下。

演示以安排一天为例,内容是示例,不读取我的真实数据。The demo plans a day with sample content and does not read my real data.

用出来的问题Found in use

用的时候碰到的四个问题Four problems I ran into by using it

数据断档Data gaps

数据断了五天,我才发现Five days of missing data before I noticed

问题The problem

iPhone 采集 App 的签名过期,健康数据停了五天。页面照常显示旧数据,看上去一切正常。The iPhone collection app's signing expired and health data stopped for five days. The pages kept showing old data, so everything looked fine.

改法The fix

加了每天 9 点的数据检查,哪一路断了就发消息告诉我;早报也写明数据停在哪天,不再拿旧数当今天。I added a daily 9 am check that messages me when any source stops, and the morning brief now states the last day with data instead of passing old numbers off as today's.

范围Scope

不再自己维护聊天界面I stopped maintaining my own chat interface

问题The problem

自己做的聊天界面和让几个 AI 分工合作的框架越来越重,要维护的东西越来越多,很多和我真正想解决的问题无关。The chat interface and the framework for getting several AIs to split work, both built by me, kept growing, and much of the upkeep had little to do with the problem I actually wanted to solve.

改法The fix

2026 年 9 月起,聊天和定时推送交给现成的 Hermes 和 Telegram,手机 App 只管采集。我的记录、想法和给 AI 的说明文件仍然单独保存,以后换工具也不用跟着搬。From September 2026, chat and scheduled messages moved to Hermes and Telegram, and the phone app only collects data. My records, my thinking and the guide file for AI stay separate, so changing tools later does not mean moving them.

回答质量Answer quality

AI 有资料也不一定会查Having the records does not mean AI looks them up

怎么测How I tested

2026 年 10 月 8 日,我出了 25 道情境题,每道题事先写好必须答到的要点。判分交给另一个隔离的 AI 会话;回答里的睡眠时长这类数字,用系统自己的工具重新取一遍核对;“像不像我”的题由我自己打分。首轮通过 19 道。On 8 October 2026 I wrote 25 scenario questions, each with the points a good answer must cover. A separate, isolated AI session graded the answers; measurements such as sleep duration were re-fetched with the system's own tools and checked; questions about whether an answer sounded like me were scored by me. The first round passed 19.

发现What I found

没通过的题里,有一部分是 AI 该查资料时没查,直接按常识猜;最弱的是“猜我会怎么选”这类题,3 道只过了 1 道。后面要改的就是这几处:规定什么时候必须先查;引用要对得上原文,数字必须来自工具;缺数据时直接说缺。Some failures came from AI guessing from general knowledge when it should have looked things up. The weakest type was predicting how I would choose: 1 of 3 passed. The next changes target exactly this: when it must check first, quotes that match the source, numbers that come from tools, and saying plainly when data is missing.

还没用全套题重新测过,所以 19/25 只是首轮结果,不代表现在的准确率。The full set has not been rerun since, so 19/25 is a first-round result, not a measure of current accuracy.

数据分析Data analysis

想从 HRV 看出昨天哪里没做好,数据说做不到I wanted HRV to show what went wrong yesterday. The data said it can't

问题The question

HRV(心率变异性)常用来看身体恢复得怎样。我想让系统从第二天的 HRV 倒推出前一天哪件事做得不好,于是让 AI 比了四类模型,包括神经网络;数据是 2018 年以来 HRV 记录比较完整的约 2,300 天。HRV (heart rate variability) is a common sign of recovery. I wanted the system to work out from the next day's HRV which of the previous day's choices hurt it, so I had AI compare four kinds of models, including a neural network, on about 2,300 days since 2018 with reasonably complete HRV records.

结果The answer

单件事对第二天 HRV 的影响不到 1 毫秒,日常波动却有 ±5 毫秒,要几百个晚上才分得出来;神经网络也没有赢过简单的线性模型。唯一稳定的一条是多睡:多睡 1 小时,第二天 HRV 平均高 0.3–0.8 毫秒。我据此决定,网页不去猜“昨天哪件事让今天变差”。A single choice moves HRV by less than 1 ms while everyday swings are about ±5 ms, so it would take hundreds of nights to tell them apart, and the neural network did no better than a simple linear model. The one consistent signal was sleep: an extra hour went with 0.3–0.8 ms higher HRV the next day. So I decided the dashboard would not guess which of yesterday's choices made today worse.

多睡和 HRV 的关系只是观察数据里的关联,没做样本外验证。The sleep–HRV link is an association in observational data and has not been validated out of sample.

演进Evolution

一年里重做了四版Rebuilt four times in a year

  1. 2025.10
    第一版 · Word 手稿Version 1 · Word manuscript

    写下想法和原则My ideas and principles, on paper

    把自己的想法、原则和经历写进 Word。这批文字后来成了“我的想法和原则”这一块。I wrote my ideas, principles and experiences in Word. That text later became the “my thinking and principles” part.

  2. 2026.04
    第二版 · Word 重写Version 2 · Word rewrite

    发现文字对不上实际Text could not show what I actually did

    重新整理了一遍内容和关联,但文字只能写我想怎样生活,看不出实际做到了没有。于是需要另一份记录,专门记“实际发生了什么”。I reorganised the content, but text could only describe how I wanted to live, not whether I did it. I needed a second record of what actually happened.

  3. 2026.05
    第三版 · 网页版Version 3 · Web page

    用网页看趋势,但越改越难Trends on a web page, harder to change each time

    用网页整理身体和训练记录,画出变化趋势。可记录、计算和显示都挤在同一个页面里,每改一处都牵动别处。A web page organised body and training records and charted the trends. But recording, calculation and display all lived in one page, so every change touched everything else.

  4. 2026.06 —
    第四版 · 分层系统Version 4 · Layered system

    想法、记录和 AI 说明分开放Thinking, records and the AI guide, kept apart

    把我的想法和原则与我的记录分开存,加上给所有 AI 的同一份说明,再接上 iPhone 采集、网页和每天的早报。I kept my thinking and principles apart from my records, added one guide for every AI, then connected iPhone collection, the web dashboard and the daily brief.

    2026.10:健康管理部分拆成开源 App Health.AIO;个人数字分身继续管其余的记录、想法和 AI 协作。Oct 2026: health management became the open-source app Health.AIO; the Personal Digital Twin keeps the other records, my thinking and the AI collaboration.

看完整的迭代记录 →Read the full development log →
设计规则Design rules

我定的两条规则Two rules I set

  1. 我的想法不会被自动改写My thinking is never rewritten automatically

    AI 提出的新理解先放进候选区,我确认后才算数;一条新记录也不能直接改掉我的长期看法。另外,偏好只能解释我为什么这样选,不能当成发生过的事。A preference can explain why I chose something, but it is not a record of what happened. New interpretations from AI wait in a candidate area until I approve them, and one new record cannot overwrite a long-held view.

  2. 原始记录只追加,不改写Raw records are appended, never rewritten

    原始记录只往后加,要更正也是另加一条修订,所以什么时候变过都查得到。Raw records only grow. A correction is added as a new revision, so every change can be traced.

查看 AI 怎样读写我的想法和原则(历史示意)How AI reads and writes my thinking and principles (historical illustration)

图中的数量按 2026-10-07 统计;检索结果来自当时的索引测试,不代表现在的规模,也不代表 AI 回答的准确率。Counts are as of 7 Oct 2026; the retrieval results come from an index test at the time and show neither today's scale nor how accurate the AI's answers are.

示意:四个 AI 都从同一个入口进来,按编号只取这次任务要的几页;圈出来的就是这次取的页,蓝圈是正式内容,琥珀圈是还没确认的候选。我用 20 道固定测试题检查它能不能取到对的页(测的是检索索引,不是 AI 的回答),最近一次(2026.07)20/20。Illustration: all four assistants come in through one entry point and load, by ID, only the pages a task needs. The ringed pages are the ones read this time: blue rings are approved pages; the amber ring is a candidate I haven't approved. A fixed set of 20 test questions checks that the right pages come back (it tests the retrieval index, not the AI's answers); it passed 20/20 at its last run (Jul 2026).

图中数字(文字版)The numbers in this diagram, as text
  • 我的想法和原则:50 个主题页,分 9 类(2026-10-07 计数)。Self-report: 50 topic pages in 9 categories (counted 7 Oct 2026).
  • 记录:登记了 27 类,其中 11 类在登记位置还没有数据文件(2026-10-07 计数)。Records: 27 registered types, 11 of which have no data files yet (counted 7 Oct 2026).
  • 编号关联:已设计,只在测试样例上验证过。ID links: designed, tested only on sample data.
  • 读取:Claude、Codex、ChatGPT、Hermes 共用一个入口;20 道固定测试题,最近一次(2026.07)20/20。Reading: Claude, Codex, ChatGPT and Hermes share one entry point; 20 fixed test questions, 20/20 at the last run (Jul 2026).
查看系统架构历史简图与完整路径View the historical architecture and its paths
系统架构(历史简图)Architecture (historical overview)

据 2026-09-09 的架构图简化,补上了 9 月下旬做的网页端,其余按当时的情况画。认知和记录之间的编号关联只在样例上验证过,还不能说记录已经能自动对上认知。Simplified from the 9 Sep 2026 diagram, adding the web interface built in late September; everything else is drawn as it was then. ID links between beliefs and records have only been checked on samples; records cannot yet be matched to beliefs automatically.

从 1 开始:1 → 2 → 3,再按需读取 4 / 5。采集支线是 6 → 7 → 4 → 8;9 是候选确认支线。编号用于阅读,不代表所有模块依次执行。Start at 1: 1 → 2 → 3, then read 4 / 5 as needed. The collection branch is 6 → 7 → 4 → 8; 9 is the candidate-approval branch. Numbers guide reading, not a single execution sequence.

左右滑动,查看完整架构图Swipe sideways to explore the full diagram

我Me &与设备devicesAIAI接入Intake与入口& entry存储Storage上传upload读视图views对话 · 反馈chat · feedback先读入口reads first按编号只读by ID, read only查询query只能提出候选may only propose我确认才转正joins after I approve编号关联 · 仅样例验证ID links · sample data only网页端Web app今天 · 本周 · 复盘 · 数据today · week · review · dataiPhone AppiPhone app健康数据只读采集reads health data only我MeTelegram 对话 · Obsidian 编辑认知 · 确认候选chat on Telegram · edit beliefs in Obsidian · approve candidatesAI 助手AI assistantsHermes 在 Mac mini 常驻:对话、记忆、定时任务Hermes runs on a Mac mini: chat, memory, schedulesClaude · Codex · ChatGPT 按任务调用Claude, Codex and ChatGPT per task数据接入Data intake接收 · 校验 · 去重receive · validate · de-dupe统一入口(AIOS)Shared entry (AIOS)个人背景 · 地图 · 查询手册background · maps · query manual求职、课程的 AI 也先读这里job-search and course AIs too数据核Data core我实际怎样what my records show原始记录只追加raw records append-only认知核Belief core我怎么想what I think40 多个主题页(正式)40-plus topic pages候选认知Candidate beliefsAI 提出proposed by AI等我确认awaiting me
查看文字版Read text version
  1. 我Me我Me在 Telegram 对话,在 Obsidian 编辑认知,确认候选chat on Telegram, edit beliefs in Obsidian, approve candidates
  2. AIAIAI 助手AI assistantsHermes 在 Mac mini 常驻;Claude、Codex、ChatGPT 按任务调用Hermes runs on a Mac mini; Claude, Codex and ChatGPT per task
  3. 程序Program统一入口(AIOS)Shared entry point (AIOS)AI 先读这里,再按需查询 4、按编号只读 5AIs read this first, then query 4 and read 5 by ID as needed
  4. 数据Data数据核 · 我实际怎样Data core · what my records show原始记录只追加,清洗后成为视图;8 读取这些视图raw records are append-only; 8 reads cleaned views
  5. 数据Data认知核 · 我怎么想Belief core · what I think40 多个主题页,都是我确认过的;与 4 的编号关联只在样例上验证40-plus topic pages approved by me; ID links with 4 tested only on sample data
  6. 程序ProgramiPhone AppiPhone app采集支线 → 7;健康数据只读采集collection branch → 7; reads health data only
  7. 程序Program数据接入Data intake采集支线 → 4;接收、校验、去重collection branch → 4; receive, validate, de-duplicate
  8. 程序Program网页端Web app从 4 读取视图;今天 · 本周 · 复盘 · 数据reads views from 4; today · week · review · data
  9. AIAI候选认知Candidate beliefs候选支线:2 只能提出;我确认后才进入 5candidate branch: 2 may only propose; joins 5 after I approve
分工与现状Role and status

我做了什么,还差什么What I did, and what is still open

我负责的My part

上面四个问题的改法都由我决定,写成规格交给 AI 实现,做完再放回日常使用里检查。I decided how to handle each of the four problems above, wrote the specs for AI to build, then checked the result in daily use.

有些功能是从我自己的问题来的。比如我想知道玩游戏多了,会不会越来越难专注;手表测不了这种变化,我就让系统用娱乐时长和最长一段专注时长的 7 天平均,放在 90 天里对照着看。Some features came from my own questions. For example, I wanted to know whether more gaming was making it harder to focus. A watch cannot measure that, so I had the system plot 7-day averages of entertainment time and my longest focus block side by side over 90 days.

还没做完的Still open

让新记录自动对上我写下的想法,出现反例时提醒我重新考虑,目前只在样例上试过。AI 查到资料后能不能用对,也还要靠情境题持续检查。Automatically matching new records to what I have written, and prompting me to reconsider when they disagree, has only been tried on sample data. Whether AI uses what it finds correctly still needs ongoing scenario tests.

项目之间的关系How the projects connect

Health.AIO 从个人数字分身拆出,训练后恢复是 AIO 里的一个具体场景。Health.AIO was split out of the Personal Digital Twin; post-workout recovery is one use case inside AIO.

  1. 个人数字分身Personal Digital Twin最早的项目 · 想法、记录与 AI 协作The first project · thoughts, records and AI collaboration
  2. Health.AIO拆出的健康应用 · 重点在日常数据Health application split out · focused on daily data
  3. 训练后恢复Post-workout recoveryAIO 内的一个具体场景(不是 Ready to Train 课程项目)A focused use case within AIO (not the Ready to Train coursework)

项目之间的经验迁移Learning carried between projects

Ready to Train 状态评分与人体酸痛图Readiness rating and soreness body map AIO 晨间自评AIO morning check-in

Ready to Train 仍是独立的课程项目,部分设计已复用到 AIO;进一步的升级思路写在它的项目页里。Ready to Train remains an independent coursework project; parts of its design are already reused in AIO, and its project page sets out how to take them further.