safeeyes
Protect your eyes from eye strain using this simple and beautiful, yet extensible break reminder
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
自己部署的饮食和训练记录网页,分析交给你电脑上的 Claude Code
翻译准备中
正在加载完整 README。
查看完整 README ↗一个自己部署的饮食和训练记录网页,分析交给你电脑上的 Claude Code:用数据练薄肌,研究员是 AI。
吃饭前后拍张照、练完记几组、早上称个体重,都在手机网页上点几下。服务器只负责存。你电脑上的 Claude Code 当你的私人教练:定时(或者你叫它的时候)运行 /fitness-review,把新记录拉下来,看照片估热量和三大营养素,点评训练、给出下次的重量,写日报和周报,办你在网页上交代的事,按你给的授权调整计划,再写回服务器。手机上打开就能看到。
今日 · 训练中 · 训练计划 · Claude · 数据(演示账号,数据是编的)
手机浏览器 ──记录、照片、留言──▶ 你的服务器(app/server.py) ◀──读取、写回── 你电脑上的 Claude Code
(网页) ◀──简报、提案──── SQLite + 照片目录 (bin/lsj) /fitness-review、/fitness-plan
(可以用 launchd 定时跑)
▲
iPhone 快捷指令「同步健康」───────┘ 睡眠、步数、活动能量、静息心率、HRV、体重、体脂率、心率明细(只能上传)
先把这几点想清楚再用:
LSJ_TOKEN)能读写所有账号的数据。 谁拿着它(就是运行 Claude Code 的人),谁就能看到每个人的全部记录和照片。它不能建账号、改密码所以:只和你信任、也信任你的人共用一台服务器。详细的威胁模型见 SECURITY.md。
需要 Python 3.9+,不用装任何依赖。
LSJ_TOKEN=dev-token LSJ_PASSWORD=dev-password LSJ_DATA=./data LSJ_COOKIE_SECURE=0 python3 app/server.py
打开 http://127.0.0.1:8780 ,用 admin / dev-password 登录。LSJ_COOKIE_SECURE=0 只用于本机 http 测试。
一台 Linux 服务器 + systemd + nginx + HTTPS 证书,步骤见 deploy/README.md(也有 Docker Compose 的写法)。环境变量见 .env.example。
~/.config/lianshiji/config.json(服务器地址和 LSJ_TOKEN),chmod 600bin/lsj users 看能不能连上claude:
/fitness-plan:按基础信息做计划(先在网页「我的 → 基础信息」填好)/fitness-review:处理新记录、写日报;新的一周第一次运行时顺便写上周的周报。参数 weekly 强制写周报scripts/auto-review.sh 和 launchd(模板 deploy/auto-review.plist.example,里面有安装命令)。定时运行不直接改计划,计划改动都做成提案等你在网页上同意;有事要做时才启动 Claude,会用到你的 Claude 额度CLAUDE.local.md,它不进仓库,Claude Code 会自动读Claude 怎么读写数据、数据长什么样,见 CLAUDE.md 和 docs/data-model.md;处理流程在 .claude/skills/ 里。
在一台登录了 iCloud 的 Mac 上:
deploy/make-shortcut.py https://你的域名
deploy/deploy.sh
用户在网页「我的 → Apple 健康同步」下载快捷指令、生成自己的上传令牌,粘进快捷指令的第一个文本框。可以在「快捷指令 → 自动化」里设成每天早上自动跑。
训记是一款记训练的 App。连上之后,训记里的训练会同步进薄肌研究所,由 Claude 点评;也可以把计划写成训记的「Agent 模版」,打开训记就能照着练(每次写入都会先给你看、等你同意)。
~/.config/lianshiji/xunji.json,格式见 bin/xunji -hdeploy/README.md)python3 -m unittest discover -s tests -v # 测试
ruff check . # 代码检查(ruff.toml)
scripts/check-secrets.sh # 提交前检查有没有密钥、IP 之类的个人信息
没有构建步骤,服务端和命令行只用标准库。见 CONTRIBUTING.md。
代码、命令和路径里的 lsj、lianshiji 来自项目原来的名字「练食记」。
MIT。字体 Barlow Condensed 使用 SIL Open Font License 1.1,见 app/web/fonts/OFL.txt。