用 OpenClaw + PARA 搭建个人数字知识助理 最近想给自己搭一个”数字助理”,主要解决两个问题:
学习、工作、生活中的资料越来越多,找起来麻烦
AI 这么火,想让 AI 帮我整理、检索、提醒
折腾了一阵子,用 OpenClaw + PARA 搞定了。写下来记录一下,也许对其他人有用。
一、为什么需要数字知识助理? 说白了就是两个问题:
东西太多,找不着 :论文资料、实习文档、面试准备、课程笔记……散落在各个地方,要用的时候想不起来放哪了
AI 这么火,能不能帮我干活 :不光存资料,还希望 AI 能帮我整理、总结、提醒
以前试过不少笔记软件,但总觉得差点意思:
Notion 功能强但国内访问慢
印象笔记搜索不太智能
Obsidian 本地存但没 AI 能力
干脆自己搭一个。
二、整体架构 先看一眼全貌:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ┌─────────────────────────────────────────┐ │ 使用入口(微信/网页) │ └─────────────────┬───────────────────────┘ ↓ ┌─────────────────────────────────────────┐ │ OpenClaw(数字助理核心) │ │ • 理解你的问题 │ │ • 去 PARA 知识库里找相关内容 │ │ • 调用大模型生成回答 │ └─────────────────┬───────────────────────┘ ↓ ┌───────────────┬───────────────┬─────────┐ │ OSS 云存储 │ 向量数据库 │ 大模型 │ │ 存原始文件 │ 存语义索引 │ DeepSeek │ └───────────────┴───────────────┴─────────┘
几个关键点 :
OpenClaw :开源的 AI Agent 框架,能接微信、飞书
PARA :知识库的组织方法,后面细说
低配 VPS 就能跑 :2G 内存 + 30G 硬盘
三、PARA 知识管理方法 3.1 PARA 是什么? Tiago Forte 提出的方法,把信息分成四类:
分类
英文
是什么
例子
P
Projects
正在做的项目,有截止日期
毕业论文、求职准备
A
Areas
长期关注的事,没截止日期
健康、财务、职业发展
R
Resources
以后可能用到的资料
课程笔记、教程
A
Archives
完成的事,归档
本科课程、过往项目
3.2 目录结构 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 知识库/ ├── 01 _Projects/ # 当前项目(最重要) │ ├── 毕业论文/ │ │ ├── 文献资料/ │ │ ├── 实验数据/ │ │ └── 论文草稿/ │ ├── 实习工作/ │ │ ├── 工作文档/ │ │ └── 会议记录/ │ └── 职业规划/ │ ├── 简历作品集/ │ └── 面试准备/ │ ├── 02 _Areas/ # 持续关注 │ ├── 学业/ │ ├── 专业技能/ │ ├── 人际关系/ │ └── 健康/ │ ├── 03 _Resources/ # 知识素材 │ ├── 课程笔记/ │ ├── 书摘/ │ └── 工具教程/ │ ├── 04 _Archives/ # 归档 │ └── 本科阶段/ │ └── 00 _Inbox/ # 临时收集
3.3 AI 检索优先级 提问的时候,AI 按这个顺序找:
1 2 3 4 1. 先搜 Projects(当前任务最相关)2. 再搜 Areas(长期关注)3. 补充搜 Resources(参考资料)4. Archives 一般不搜
这样设计的好处:问”我的论文资料在哪”,AI 会优先从毕业论文项目里找,而不是翻一堆旧课笔记。
四、硬件准备 4.1 VPS 配置 我买的是入门款:
项目
配置
费用
CPU
1 核
-
内存
2G
-
硬盘
30G SSD
-
带宽
3M
-
系统
Ubuntu 22.04
-
月费
-
¥30-50
4.2 内存分配 2G 内存看着少,规划一下够用:
组件
占用
系统基础
300MB
OpenClaw
500MB
Redis
100MB
Nginx
50MB
预留
150MB
剩余
~900MB
关键点:大模型用 API,不在本地跑 。本地只做调度和检索。
五、VPS 环境搭建 5.1 基础配置 1 2 3 4 5 6 7 8 9 10 11 12 sudo apt update && sudo apt upgrade -y sudo apt install -y git curl wget vim htop tmux sudo timedatectl set -timezone Asia/Shanghai mkdir -p ~/openclaw/{config,data,logs} mkdir -p ~/knowledge
5.2 装 Docker 1 2 3 4 5 6 7 8 9 10 11 12 curl -fsSL https://get.docker.com | sh sudo usermod -aG docker $USER sudo systemctl start docker sudo systemctl enable docker docker --version
六、部署 OpenClaw 6.1 拉取代码 1 2 3 cd ~git clone https://github.com/openclaw/openclaw.git cd openclaw
6.2 配置文件 创建 ~/openclaw/config/config.yaml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 app: name: "Knowledge Assistant" env: production llm: provider: deepseek api_key: ${DEEPSEEK_API_KEY} model: deepseek-chat base_url: https://api.deepseek.com/v1 vector_db: provider: qdrant url: ${QDRANT_URL} api_key: ${QDRANT_API_KEY} storage: provider: aliyun_oss bucket: ${OSS_BUCKET} access_key: ${OSS_ACCESS_KEY} secret_key: ${OSS_SECRET_KEY} endpoint: ${OSS_ENDPOINT} knowledge: para_structure: projects: "01_Projects" areas: "02_Areas" resources: "03_Resources" archives: "04_Archives" search_priority: - projects - areas - resources
6.3 环境变量 创建 ~/openclaw/.env:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 DEEPSEEK_API_KEY=sk-xxxxxx QDRANT_URL=https://xxx.qdrant.io QDRANT_API_KEY=xxxxxx OSS_BUCKET=your-bucket OSS_ACCESS_KEY=xxxxxx OSS_SECRET_KEY=xxxxxx OSS_ENDPOINT=oss-cn-hangzhou.aliyuncs.com WECOM_CORP_ID=xxxxxx WECOM_AGENT_ID=xxxxxx WECOM_SECRET=xxxxxx
6.4 Docker Compose 创建 ~/openclaw/docker-compose.yml:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 version: '3.8' services: openclaw: image: openclaw/openclaw:latest container_name: openclaw restart: unless-stopped ports: - "8000:8000" environment: - TZ=Asia/Shanghai env_file: - .env volumes: - ./config:/app/config - ./data:/app/data - ./logs:/app/logs mem_limit: 800 m redis: image: redis:7-alpine container_name: openclaw-redis restart: unless-stopped mem_limit: 100 m nginx: image: nginx:alpine container_name: openclaw-nginx restart: unless-stopped ports: - "80:80" - "443:443" mem_limit: 50 m
6.5 启动 1 2 3 4 5 cd ~/openclawdocker compose up -d docker compose logs -f openclaw
七、接入微信 OpenClaw 原生支持企业微信,个人微信可以通过”微信插件”关联。
7.1 创建企业微信
去 https://work.weixin.qq.com 注册
选”个人”类型,免费
创建一个自建应用
7.2 获取凭证 在应用详情页记下:
然后配置回调 URL:https://你的域名/wecom/callback
7.3 关联个人微信 在企业微信后台:
“我的企业” → “微信插件”
用个人微信扫码关注
之后在个人微信里就能直接跟 AI 聊天了
八、存储方案 8.1 为什么需要两套存储?
存什么
放哪
为什么
原始文件
OSS
容量大、不占本地盘
语义索引
向量库
让 AI 能”理解”内容
简单说:
OSS = 文件的”仓库”,存原文
向量库 = 文件的”索引”,存 AI 能理解的特征
8.2 OSS 配置 阿里云 OSS 或 Cloudflare R2 都行,R2 有免费 10G。
建议用 RaiDrive 把 OSS 挂载成本地盘,这样往里拖文件就自动上传了。(这个之前写过,不展开了)
8.3 向量库选择
方案
费用
推荐
Qdrant Cloud
免费 1G
👈 首选
本地 Qdrant
免费
占内存
选 Qdrant Cloud 就行,免费额度够个人用很久。
九、知识库接入 OpenClaw 9.1 创建检索工具 在 OpenClaw 里创建 tools/knowledge_search.py:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 from qdrant_client import QdrantClientclass KnowledgeSearch : PRIORITY = ["projects" , "areas" , "resources" ] def __init__ (self) : self.client = QdrantClient( url=os.getenv("QDRANT_URL" ), api_key=os.getenv("QDRANT_API_KEY" ) ) def search (self, query, limit=5 ) : results = [] for category in self.PRIORITY: hits = self.client.search( collection_name=f"para_{category} " , query_vector=self.embed(query), limit=limit ) results.extend(hits) if len(results) >= limit: break return results
9.2 系统提示词 配置 OpenClaw 的 system prompt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 你是个人知识管理助手,帮助用户管理基于 PARA 方法的知识库。 知识库结构: - Projects:当前项目(毕业论文、实习、职业规划)- Areas:长期关注(学业、健康、财务)- Resources:参考资料- Archives:归档内容检索时优先从 Projects 找,其次是 Areas。 你的能力: - 帮用户查找、整理知识- 协助项目管理- 提供学习建议- 记录重要信息
十、使用场景 搭好之后能干什么?
10.1 论文相关 1 2 3 4 5 用户:我之前看过一篇关于深度学习的论文,讲 Transformer 的,帮我找一下 AI:在"毕业论文/文献资料" 里找到了 3 篇相关文献: 1. Attention Is All You Need (2017 ) 2. BERT: Pre-training of Deep Bidirectional Transformers 3. ...
10.2 实习工作 1 2 3 4 5 用户:上周例会讨论的进度安排是什么来着? AI:根据"实习工作/会议记录/03-02例会纪要" : - 你负责的部分:数据清洗模块 - 截止日期:3 月 15 日 - 下次汇报:3 月 9 日
10.3 面试准备 1 2 3 4 用户:帮我整理一下常见的机器学习面试题 AI:从"职业规划/面试准备" 里找到了你之前收集的 20 道题目, 主要分为:基础理论、算法实现、项目经验三类。 要我按类别给你讲一遍吗?
十一、成本估算
项目
费用
VPS(2G 内存)
¥30-50/月
DeepSeek API
¥10-30/月
Qdrant Cloud
免费
阿里云 OSS(10G)
¥5/月
域名(可选)
¥10/年
合计
¥50-90/月
比订阅 Notion AI($10/月)贵一点,但好处是完全自主可控,数据在自己手里。
十二、总结 搭这个数字助理,主要想解决两个问题:
资料太多太乱,找不着
让 AI 帮着整理和检索
技术栈:
OpenClaw :AI Agent 框架
PARA :知识库组织方法
OSS + 向量库 :存储方案
DeepSeek API :大模型
整体不算太复杂,有点技术基础的话,一个周末能搞定。
后续想做的事 :
加上语音交互(微信发语音也能识别)
接入更多工具(日历、提醒)
多用户支持(给家里其他人也开账号)
相关链接