一台4核4G的服务器,两天时间,从零搭出一个真正能用的个人AI系统。
你是不是也有这些问题?
- 买了Claude、用着各种AI工具,但每次对话结束,什么都没留下来。
- Obsidian记了很多笔记,但和AI完全割裂,AI不知道你写过什么。
- 做了投资决策,买入逻辑从来没有系统记录,下次复盘找不到当时的想法。
- 工作开了很多会,结论散落在消息里,三天后就找不到了。
你有工具,但没有系统。
之前我每天花将近2小时整理各种信息,现在只需要5分钟确认归档。我决定用两天时间,把这些工具连起来,搭一个真正属于自己的AI系统。
搭完之后,系统能做什么?
先说两个真实的”爽点”场景:
📊 场景一:投资复盘
周五晚上,我正陪着年幼的女儿玩耍,投资Bot已经根据A股收盘数据、最新季报和我这周随手记录的买入逻辑,自动在Obsidian生成了《本周调仓复盘》。我只需在睡前扫一眼,确认逻辑没偏离,就能安心睡觉。
🌱 场景二:生活捕捉
散步时脑子里蹦出一个关于女儿教育的小想法,不用打开繁琐的App,飞书发一句”记录:xxx”,月底它就整整齐齐地出现在《3月家庭日志》的索引里。这种”想法从不掉地上”的感觉非常治愈。
系统三大核心层级:
- 入口层:四个专属Bot。飞书里有三个业务Bot:投资助手、工作助手、生活助手,外加一个inbox Bot(秒存草稿箱)。意图由物理入口决定,AI不用猜。
- 知识沉淀层:每次对话的关键信息,经你确认后写入知识库。本地Obsidian笔记自动同步到服务器,三域隔离,互不干扰。
- 自动化层:每周五自动生成跨域周报,每月底生成索引。A股实时行情+最新季报,投资Bot直接调用分析。
整体架构:全貌概览
核心逻辑:入口做减法(专用Bot),处理做加法(自动化流),存储做乘法(多端同步)。
核心设计原则:物理隔离 + 数据单向流动
意图由你的物理入口决定(用哪个Bot),不由AI猜测。数据只从业务层流向归档层,不反向。
实际花了多少钱?
| 项目 | 费用 | 说明 | |
|---|---|---|---|
| 腾讯云服务器 | 83元/年 | 4核4G,约7元/月 | |
| MiniMax M1模型 | 29元/月 | Starter套餐,OpenClaw接入 | |
| 合计 | 约29.2元/月 | 不到一杯咖啡 |
省钱的关键决策:
- 服务器选腾讯云新用户活动,83元/年是正常价格的零头
- OpenClaw接入国产大模型做日常对话,成本大幅降低
- Claude API只用于周报和索引生成等重逻辑任务
我的数据,我做主 🔒
很多人担心AI泄露隐私。这个系统的设计初衷就是私有化:
- 物理存储:所有笔记原件只存在于你的私有服务器和本地电脑,不经过任何第三方云平台。
- 按需调用:只有当你主动发起”归档”时,相关内容才会传给模型处理,不会在后台持续上传你的数据。
- 零污染:所有的分析脚本(Python/Bash)都在本地运行,确保核心资产逻辑不被窥探。
第一天:搭建系统骨架
Phase 1:飞书Bot接入OpenClaw(1小时)
在飞书开放平台创建四个应用,开通im:message权限。OpenClaw里为每个Bot编写SOUL.md,定义它的角色边界和归档规则。
# 投资工作流示例
角色:专职A股投资分析助手
归档触发词:买入/卖出/清仓/加仓/止损
归档确认格式:
📊 准备归档以下记录,确认?
- 标的:xxx / 操作:xxx
- 文件名:YYYY-MM-DD-标题.md
- 逻辑:xxx / 风险点:xxx
相关链接:[[相关概念]]
硬性规则:非投资问题返回"请找对应助手"
配对流程:飞书复制App ID和Secret → OpenClaw粘贴获取配对码 → 飞书填入验证。三个Bot重复三遍,每遍5分钟。
惊喜发现:main Bot可以直接帮你更新其他Bot的SOUL.md,还自动备份到坚果云。管理操作本身也被AI接管了。
Phase 2:Obsidian双向Git同步(2小时)
目标:服务器生成的内容(周报、索引)自动出现在本地Obsidian。
服务器端关键脚本:
# 配置post-receive hook
cat > hooks/post-receive << 'EOF'
#!/bin/bash
git --work-tree=/opt/obsidian-sync/my_vault \
--git-dir=/home/git/obsidian-vault.git \
checkout -f
echo "同步完成: $(date)"
EOF
chmod +x hooks/post-receive
同步回本地的脚本(关键):
#!/bin/bash
cd "$KB"
git add . && git commit -m "server sync: $(date '+%Y-%m-%d %H:%M:%S')"
# 关键:rebase避免冲突
git pull origin master --rebase
git push origin master
⚠️ 最大的坑:不加--rebase会导致本地和服务器同时推送时冲突,每次都要手动处理,极其痛苦。
本地Windows端:安装Git → 生成SSH密钥 → 公钥写入服务器 → 初始化本地仓库 → 安装Obsidian Git插件(Auto push/pull间隔30分钟)。
Phase 3:A股分析API(1小时)
# Ubuntu 24必须用venv(系统级pip已被锁定)
apt install python3.12-venv -y
python3 -m venv /opt/venv
/opt/venv/bin/pip install akshare flask
# ❌ 错误:head()拿到的是2014年历史数据
# ✅ 正确:tail()拿最新,indicator用"按报告期"
fin = ak.stock_financial_abstract_ths(
symbol=code_num, indicator="按报告期"
)
print(fin[['报告期','净利润','营业总收入','净利润同比增长率']].tail(6))
Flask封装成API,投资Bot直接调用,返回技术面均线形态+最新6期季报,systemd开机自启。
Phase 4:周报自动化(30分钟)
#!/bin/bash
WEEK=$(date +%Y-W%V)
cd "$KB"
claude -p "
读取当前目录所有md文件(排除周报文件夹),生成本周跨域周报:
投资/工作/生活/跨域反思,直接输出markdown。
" --output-format text > "$KB/周报/$WEEK.md"
每周五22:00自动触发,生成后自动同步到本地Obsidian。
⚠️ 关键排雷:Claude Code是无状态工具,每次运行没有对话记忆。解决方案:通过cd切换到知识库目录,让它读取完整文件内容作为上下文。Prompt必须包含完整上下文,AI才能输出精准周报。
第二天:进化知识库
系统跑起来后,发现最大的问题:有价值的想法,往往在不是”正式对话”的时候冒出来。
进化1:inbox随手记录
搭一个轻量Flask API,飞书发”记录:xxx”,秒存服务器自动同步到Obsidian。
@app.route("/inbox", methods=["POST"])
def receive():
content = request.json.get("content", "")
timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
with open(f"{INBOX_DIR}/{timestamp}.md", "w") as f:
f.write(f"# {timestamp}\n\n{content}\n")
return jsonify({"status": "ok"})
想法出现的那一刻捕捉,不要等到”正式记录”。
进化2:时间维度+双向链接
归档文件名强制加日期前缀:2026-03-29-某股买入分析.md
归档文末自动添加:
## 相关链接
- [[医疗器械板块]] / [[A股投资逻辑]]
积累半年后,知识库会自动形成一张网,而不是一堆孤立文件。
进化3:月度索引自动化
每月最后一天23:00自动触发,Claude Code读取本月所有归档,生成月度索引,自动同步到本地。
两天踩过的所有坑 🛠️
| # | 坑 | 解决方案 | 教训 |
|---|---|---|---|
| 1 | Claude Code没有跨调用记忆 | Prompt必须包含完整上下文 | 无状态工具,每次独立 |
| 2 | Git双向同步冲突 | sync脚本加git pull –rebase | 双向推送必须处理冲突 |
| 3 | Ubuntu 24 pip报错 | apt install python3.12-venv | 系统级pip已被锁定 |
| 4 | Claude Code读系统目录被拒 | cd到目标目录后再调用 | 只对当前目录有默认权限 |
| 5 | akshare财务数据拿到2014年 | tail()替换head() | 数据升序,最新在最后 |
| 6 | OpenClaw没有独立知识库模块 | 用Files+API方式实现 | 先看清工具能力再设计 |
| 7 | cat命令粘贴出现乱码前缀 | 改用python3写入文件 | 终端粘贴格式问题 |
两天完成的完整任务清单
第一天·系统骨架:
✅ 4个飞书Bot配置完成
✅ 3个OpenClaw工作流+SOUL.md
✅ Obsidian双向Git同步
✅ A股分析API(技术面+季报)
✅ 周报每周五自动生成
✅ 系统架构文档+restore.sh一键恢复
✅ 三重备份验证
第二天·知识库进化:
✅ inbox随手记录API
✅ 归档文件名日期前缀+双向链接规则
✅ 月度索引自动化
✅ 所有配置更新备份
现在系统的自动化节奏
随时: 飞书发"记录:xxx" → 秒存inbox
每小时:知识库自动同步到本地Obsidian
每周五:跨域周报自动生成
月底: 月度索引自动生成
随时: 投资Bot调用A股实时数据分析
最重要的不是技术,是这几个原则
1. 物理隔离优于逻辑隔离 容错率为零的场景,不能靠AI猜你的意图。用哪个Bot,就是哪个意图。
2. 数据单向流动 从业务节点流向归档层,不反向。安全边界一旦建立,不要为了便利打破它。
3. 先跑通,再自动化 每个模块先手动验证,再接入自动化。一次搭太多东西,出问题不知道排查哪里。
4. 归档由用户主动确认 AI提取信息,你确认后才写入。这个摩擦是必要的——它让你对自己的知识库保持主权。
5. 想法捕捉越快越好 inbox的价值在于降低记录摩擦。想法出现的那一刻就要捕捉,不要等到”合适的时候”。
这不是在用AI聊天,这是在构建你的数字大脑
AI不应该只是一个偶尔调戏的聊天框,它应该是你意志的延伸。
在这套系统里,每一次对话都在积累,每一条记录都在沉淀。六个月后,它会记得你所有重要的决策逻辑;一年后,它会开始发现你自己都没意识到的规律。
系统跑起来了,知识库内容还很少。真正的考验是接下来一个月:日常使用有没有摩擦?归档的内容有没有价值?跨域反思能不能发现自己没意识到的关联?
一个月后来回答。
📦 获取一键复活包
我把这两天折腾出来的所有东西都整理好了:完整代码、4个核心Skill文档、restore.sh快速部署脚本。
哪怕服务器宕机,一行命令也能在10分钟内重建整个系统。
评论区留言”系统”,我私发给你。
注:文中涉及的A股投资分析代码及逻辑仅为个人系统演示,不构成任何投资建议。投资有风险,入市需谨慎。