🧭 知行合一AI实验室

这是我用 AI 从零搭建的个人 AI 应用实验室,探索AI应用的边界。完整内容登录后才能看到,这里是公开的开发更新日志。

登录

这个网站是怎么做出来的

🤖 AI 开发模式(这个网站的实际流程)
💬
跟 Claude
对话提需求
→
🤖
Claude Code
写代码
→
🐙
推送到
GitHub
→
🚂
Railway
自动部署
→
✅
网站更新
上线
⏱ 一个想法到上线:几分钟到几小时
🧑‍💻 传统开发模式(对比)
📋
写需求
文档
→
🧑‍💻
工程师
手写代码
→
🧪
写测试
跑测试
→
👀
Code
Review
→
🔄
CI/CD
自动部署
→
✅
上线
⏱ 同样一个想法到上线:通常数天到数周

全程不用手写一行代码,我只负责提需求和验收;每次改动的细节都记录在下面的更新日志里。源代码在 GitHub →

网站现在有哪些功能

📈

交易盈亏

导入券商交易记录,自动生成每日盈亏日历、累计盈亏走势图,交易费用也单独算清楚。

去看看 →
💰

消费追踪

上传银行流水 PDF 就能识别,生成消费日历、收支分类、消费商户排行,一张图看懂钱花哪了。

去看看 →
🏧

ATM 取现

上传银行流水 CSV 就能统计 ATM 取现:按月、按国家汇总,每笔按当天汇率折成当地货币,还能看汇率走势。

去看看 →
📖

小说创作

在线写小说、发章节、加角色和视频,边写边发,读者可以直接在网页上追更。

去看看 →
🗺️

路线

在真实地图上手绘一条路线,或者直接输入地名自动连线,存好了随时能公开分享出去。

去看看 →
📝

分享动态

记录看书追剧、运动健身、生活点滴,还能把手机截图丢给 AI 自动识别导入。

去看看 →

网站的技术架构

🖥️📱 浏览器 / 手机 PWA HTTPS 🌍 Railway 边缘 CDN 全球多节点,图片/静态资源边缘缓存 未命中 / 动态请求 → 转发源站 🐳 源站容器 · Railway(新加坡) gunicorn:1 进程 + 4 线程,共享内存态数据 ⚙️ Flask 应用(app.py) 🔐 路由 + 登录鉴权 🧩 Jinja2 服务端渲染 🖼️ Pillow 图片 / ffmpeg 视频处理 🗜️ Gzip / Brotli 压缩 📊 请求耗时统计 💾 持久化存储 Railway Volume · /data • tracker.db(书影 / 动态 / 小说 数据) • uploads/(动态上传的照片) • novel_media/(小说封面 / 立绘 / 视频) • cover_cache/(豆瓣封面缓存) 🔌 外部服务 运行时对外请求 • 豆瓣网页抓取 + 封面代理 • Claude API(AI 截图识别,可选)

服务端是一个 Flask + SQLite 的单体应用,没有独立前端构建,页面都是服务端用 Jinja2 直接渲染出来的;用 gunicorn(1 进程 4 线程)跑在 Railway 新加坡区域的一个 Docker 容器里。图片用 Pillow 处理(生成分享图、压缩上传图片),视频用 ffmpeg 压缩并抽封面帧。数据库、用户照片、小说封面/立绘/视频、豆瓣封面缓存都存在 Railway 的持久化 Volume 里,图片和静态资源通过边缘 CDN 缓存;豆瓣书影信息靠抓取网页拿到,AI 截图识别接的是 Anthropic 的 Claude API。

更新日志

记录这个网站从零搭建到现在的开发过程(截图是重新生成的当前效果,不是每次改动当时的原图)。

11月12月1月2月3月4月5月6月7月8月9月10月11月
过去一年 28 天有更新,共 170 次迭代,累计约 21208 行代码

代码量:本次会话开始前的历史记录(标了「估算」)是回顾整理出来的大致数字;从这次开始的每一条都是改动时精确统计的。

2026-11-04

共 1 次更新 · 当日约 420 行代码
  • 盈亏走势图可以叠加 QQQ、SPY,并算相关系数

    +420 行(估算)

    累计盈亏走势图上现在会同时画出 QQQ 和 SPY 的走势:左轴是累计盈亏(美元),右轴是指数从区间第一天起的涨跌幅,图例里可以单独打开或关掉某一条(选择会记在浏览器里),鼠标移上去能同时看到那天的盈亏和两个指数的涨跌幅。为了让两条线对得上,曲线改成按交易日对齐:没有平仓的日子盈亏保持不变。图下面还有一张相关系数表:分别算每天、每周的已实现盈亏和指数涨跌幅的相关系数(只统计有已实现盈亏的日子或周),并说明了怎么看——接近 +1 说明指数涨的时候多半赚钱,接近 -1 说明相反,接近 0 说明几乎无关。每个券商页、汇总页和选定的区间都适用,相关系数也跟着区间走。指数日线来自 Yahoo Finance 的公开行情,缓存在数据库里,每 10 分钟最多重试一次;取不到时自动退回原来的盈亏图并提示,不影响其他功能。分享图没有变,仍然只画盈亏走势。