我创建了个爱发电账号,如果觉得我的“屎山”项目很有用的可以去浅浅支持一下


今天是昨天的明天
写了个轻量级个人知识库系统,融合了笔记、时间追踪、关系图谱和日历视图。它支持类 Obsidian 的 [[@页面链接]] 和 [[标签]] 语法,内置待办清单、提醒组件和 Markdown 渲染。
Notiobsidian(Nobsidian)作为开源版本
🌐 Notiobsidian
把 Notion 的交互美学 + Obsidian 的本地自由 + AI Agent 原生接口 揉在一起
一个完全自托管、可编程、跑在你电脑上的个人第二大脑(目前已是我本人的主力生产力工具)
.png)
.png)
.png)
.png)
git clone https://github.com/NanamiChiaki-7/Notiobsidian.git
cd NotiobsidianBash pip install -r requirements.txtBash python Notiobsidian.pyBash→ 默认监听 http://0.0.0.0:5004
生产建议:
--host 0.0.0.0 --port 你的端口 或用 gunicorn / uvicorn 部署nation_pro_v3.db(SQLite),记得定期备份!欢迎 PR 加速这些功能!
欢迎 issue、PR、想法!
喜欢就点个 ⭐ 支持一下~
Last updated: February 2026 · 最后更新:2026年2月
Happiness depends upon ourselves.
幸福取决于我们自己。
静态资源请求被错误地当成了动态路由处理,导致路径被二次编码。
你的预期:
浏览器请求 /LifeDrive/static/css/style.css
→ Nginx 静态 location
→ 直接读硬盘文件 ✅
实际发生:
浏览器请求 /LifeDrive/static/css/style.css
→ Nginx 无静态 location(或被覆盖)
→ 转发给 Flask 代理
→ Flask 的 ReverseProxied 剥离 /LifeDrive
→ Flask 收到 /static/css/style.css
→ Flask 把它当作路由去找 @app.route('/static/...')
→ 找不到,返回 404 ❌
^~ /Project/static/ 没写alias 路径错误/少斜杠 <!-- 这会让静态请求也经过 Flask 路由系统 -->
<link href="{{ url_for('static', filename='css/style.css') }}">
url_for('static') → 生成 /LifeDrive/static/css/style.css → 同上死循环
| 方案 | 静态文件处理 | 动态路由 | HTML写法 | 适用场景 |
|---|---|---|---|---|
| ❌ 全代理 | Flask处理 | Flask处理 | url_for | 单项目,无Nginx静态 |
| ✅ 组合拳 | Nginx直出 | Flask处理 | 写死路径 | 多项目同域名,性能最优 |
| ⚠️ 全直出 | Nginx直出 | Nginx直出 | 写死路径 | 纯静态站 |
你最终选的是「组合拳」——工业标准做法。
# ✅ 正确顺序
location ^~ /Project/static/ { ... } # 1. 精确匹配优先
location /Project/ { ... } # 2. 模糊匹配在后
<!-- ✅ 静态资源:直接写死,不走 Flask -->
<link href="/Project/static/css/style.css">
<!-- ✅ 动态链接:用 url_for,自动加前缀 -->
<a href="{{ url_for('view_page', id=1) }}">
# ✅ 只有 Flask 需要知道
export BASE_PATH=/Project
# ❌ Nginx 静态 location 完全不需要
# alias 直接写绝对路径即可
^~ /项目名/static/)/项目名/)/项目名/static/xxxexport BASE_PATH=/项目名问题发现:浏览器控制台 404
定位过程:curl → Nginx 404 → 检查 alias → 发现少斜杠
深层原因:发现静态请求进了 Flask
解决方案:Nginx 静态直出 + HTML写死路径
最终验证:静态文件 200,动态页面 200,完美
耗时:一下午
收获:多项目反代的标准模式固化
^~(被正则覆盖)staticcss 经典错误)url_for(本末倒置)这次 BUG 修完,你已经是 Nginx + Flask 多项目部署的专家了。
这套组合拳可以复用到以后所有项目,不会再卡一下午了。
钱会把人引进恶劣的社会中去,把高尚的理想撇开,而甘心走入地狱中去。
Money can lead people into vile society, making them abandon noble ideals and willingly walk into hell.
*当初为了项目反代问题处理一下午,今天又处理一下午,要吸取教训了*

我常常想的太多 做的太少 太多想法没得到记录 太多想法没得到事实践 那么这种思考本身就是种逃避 我希望LifeDrive能将我那些天马行空的空中楼阁般的想法托举到地上 虽然这些楼阁大抵是云做的虚无缥缈且摇摇欲坠 我将为我的想法接生 这是就是我对LifeDrive的寄语
*该图为我生日时NASA每日一图 是猫爪星云!
“最终,幸福不在于石头是否停留在山顶,而在于你每一次走向山脚的步伐。”
-读《坦纳伯斯寓言》有感
为有牺牲多壮志,敢教日月换新天.
学了下怎么用agent 现在AI技术真的是日新月异
搭建了一个框架 现在往里面填充血肉
具体更新了(已经链接云函数实现的):
1. 获取微信账号注册登录 头像名称修改
2. 教练页面的详细展示 图片插入与修改
头像修改 介绍修改等
3. 修复了2个框架BUG
妥协性修复了一个BUG
内部植入AI agent根据健身房器械和教练
制定和推荐训练计划
To be without some of the things you want is an indispensable part of happiness.
没有一些你想要的东西是幸福不可或缺的一部分。