我在服务器上"养"了个 AI 助手:30 天实战记录
摘要:从 OpenClaw 部署到多 Agent 协作,从语音转写到自动文档发布,一个 IT 工作者的 AI 助手深度定制全记录
封面图:
作者:江神
发布时间:2026-03-03
阅读时间:18 分钟
一、为什么我要"养"一个 AI 助手?
2026 年 2 月,我在公司的 Linux 服务器上部署了一套 AI 助手系统。
没用 ChatGPT、Claude 这些现成方案,也没整个简单的聊天机器人糊弄——我想试试从零搭建一个真正懂我工作流的 AI 助手。给它取名叫戴蒙(Damon)。
原因很直接:
- 通用 AI 助手太"万金油",不懂我的具体工作流程
- 代码和敏感数据不想往公有云传
- 想要个 24 小时在线、随叫随到的私人助手
- 对多 Agent 协作这玩意儿好奇,想亲手试试
30 天下来,戴蒙已经能:
- ✅ 自动转写语音消息,听完直接执行
- ✅ 每 30 分钟汇报服务器状态,出问题及时告警
- ✅ 把我写的 Markdown 文档自动同步到网页
- ✅ 协调 9 个专业 Agent(编程、写作、测试各管一摊)
- ✅ 记住我的偏好,到点主动提醒
这篇文章记录从 0 到 1 搭建戴蒙的全过程,包括踩过的坑和关键决策。
二、技术选型:为什么选 OpenClaw?
2.1 调研过的方案
| 方案 | 优点 | 缺点 | 淘汰原因 |
|---|---|---|---|
| LangChain | 生态丰富 | 太重,学习曲线陡 | 不适合快速部署 |
| AutoGPT | 自主性强 | 太不可控,容易跑偏 | 我需要稳定输出 |
| Dify | 可视化好 | 定制化受限 | 不够灵活 |
| OpenClaw | 轻量、可扩展、支持多 Agent | 文档较少 | ✅ 最终选择 |
2.2 OpenClaw 核心架构

2.3 硬件配置
服务器:Linux VPS(4 核 8G 50G SSD)
系统:Ubuntu 22.04
运行环境:
- Node.js 22.x
- PostgreSQL 15
- Redis 7(Docker 容器)
- LanceDB(向量数据库)
月成本:约 200 元(服务器 + API 调用)
三、部署实战:从 0 到 1
3.1 安装 OpenClaw
# 1. 安装 Node.js(使用 nvm)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install 22
# 2. 安装 OpenClaw
npm install -g openclaw
# 3. 初始化配置
openclaw init
# 4. 启动 Gateway
openclaw gateway start
踩坑记录:
1. npm 源问题:国内环境必须用镜像源
bash
npm config set registry https://registry.npmmirror.com
2. 端口占用:18789 端口被占用,修改配置
json
"gateway": { "port": 18790 }
3.2 配置 Matrix 渠道
选择 Matrix 的原因:
- 开源、可自托管
- 支持端到端加密
- 消息格式灵活(支持富文本、媒体)
配置步骤:
# 1. 安装 Matrix 插件
openclaw plugin install matrix
# 2. 配置 homeserver
# 编辑 openclaw.json
"channels": {
"matrix": {
"enabled": true,
"homeserver": "https://matrix.example.com",
"accounts": {
"damon": {
"userId": "@damon:example.com",
"password": "your-password"
}
}
}
}
# 3. 重启 Gateway
openclaw gateway restart
3.3 创建第一个 Agent
OpenClaw 默认创建 main Agent,我额外创建了 8 个专业 Agent:
{
"agents": {
"list": [
{
"id": "main",
"workspace": "xx/workspace",
"model": { "primary": "qwen3.5-plus" },
"identity": { "name": "戴蒙", "emoji": "🤖" }
},
{
"id": "coding",
"workspace": "xx/workspace-coding",
"model": { "primary": "qwen3-coder-plus" },
"identity": { "name": "编程大师", "emoji": "💻" }
},
{
"id": "web-novel-writer",
"workspace": "xx/workspace-web-novel-writer",
"model": { "primary": "kimi-k2.5" },
"identity": { "name": "网文作家", "emoji": "📖" }
}
]
}
}
关键设计:
- 每个 Agent 独立工作空间,避免上下文污染
- 不同任务用不同模型,优化成本
- 通过 mention 模式在群聊中路由任务
四、核心功能开发
4.1 语音消息自动转写
需求:发送语音消息,自动转成文字并执行对应操作
实现:创建 voice-transcribe Skill
# skills/voice-transcribe/SKILL.md
触发:收到语音消息、提到"语音转文字"
流程:
1. 下载语音文件(ogg/opus 格式)
2. 调用硅基流动 TeleSpeechASR API
3. 解析转写结果
4. 根据内容自动判断意图并执行
转写脚本:
#!/bin/bash
VOICE_FILE="$1"
API_KEY="sk-xxxxx"
curl -X POST "https://api.xxxx.cn/v1/audio/transcriptions" \
-H "Authorization: Bearer $API_KEY" \
-F "file=@$VOICE_FILE" \
-F "model=TeleAI/TeleSpeechASR"
实际效果:
用户发送语音:"提醒我下午三点写周报"
↓
戴蒙转写:"提醒我下午三点写周报"
↓
戴蒙回复:"✅ 已记录:今天下午 15:00 写周报"
4.2 心跳监控机制
需求:每 30 分钟汇报系统状态,发现问题及时告警
实现:CronJob + Heartbeat 模板
# xx/cron.d/heartbeat.yaml
name: heartbeat-reporter
schedule: "*/30 * * * *"
command: |
openclaw status
sessions_list
df -h
timezone: Asia/Shanghai
每次汇报长这样:
## 📊 执行进展汇报 [2026-03-03 08:00]
### 活跃 SubAgent 状态
| SubAgent | 当前任务 | 进度 | 状态 |
|---------|---------|------|------|
| agent:main:main | Matrix 群聊 | - | 🟢 运行中 |
### 系统健康检查
- OpenClaw 网关:✅ 运行中
- Docs 服务:✅ HTTP 200
- 磁盘空间:⚠️ 91%(得关注了)
### 下一步计划
- 盯着磁盘空间
- Matrix 服务要刷新 Token
4.3 文档自动发布系统
需求:工作区的 Markdown 文档自动同步到网页,方便浏览
实现:MD Publisher 服务
# xx/md-publisher/app.py
from flask import Flask
import os, hashlib
app = Flask(__name__)
@app.route('/docs/<path:filename>')
def serve_doc(filename):
# 读取 Markdown 文件
# 转换为 HTML
# 返回页面
pass
监控内容:
- AGENTS.md、USER.md、MEMORY.md 等核心文档
- 各项目的 STATE.json、README.md
- 技术调研、市场调研报告
访问地址:https://www.jzhix.com/docs/
4.4 记忆系统:让 AI 记住你
四层存储架构:

触发词:
- "记住 XXX" → 保存到记忆
- "之前说过 XXX" → 搜索记忆
- "忘记 XXX" → 删除记忆
实际案例:
用户:"记住,我喜欢用 Zustand 做状态管理"
戴蒙:"✅ 已保存到记忆:偏好 Zustand 做状态管理"
(3 天后)
用户:"新项目用什么状态管理?"
戴蒙:"根据你的偏好,推荐用 Zustand。你之前说过喜欢它的简洁 API。"
五、多 Agent 协作:1+1>2
5.1 Agent 拓扑设计
我采用了星型 + 流水线混合架构:

5.2 任务路由规则
| 任务类型 | 识别词 | 分派给 |
|---|---|---|
| 代码开发 | 开发、实现、写代码、修复、调试 | @coding |
| 技术博文 | 写博客、写文章、技术分享 | @tech-blog |
| 网文创作 | 写小说、写章节、玄幻、都市 | @novel |
| 语音消息 | 收到语音、语音转文字 | Main |
| 其他任务 | 日常对话、查询信息 | Main |
5.3 实战案例:开发一个功能
任务流程:用户请求 → Main 识别 → 路由给 Coding → 创建文件 → 编写代码 → 运行测试 → 返回结果
完整对话:
用户:@coding 帮我写一个语音转文字的 API,用 Python
编程大师:✅ 已创建以下文件:
- xx/workspace-coding/voice_api/app.py
- xx/workspace-coding/voice_api/requirements.txt
- xx/workspace-coding/voice_api/README.md
核心功能:
1. 接收语音文件上传
2. 调用硅基流动 ASR API
3. 返回转写文本
运行方式:
pip install -r requirements.txt
python app.py
需要我帮你部署吗?
六、成本优化:花最少的钱,办最多的事
6.1 模型选择策略
动态路由:啥任务用啥模型,自动选
| 任务类型 | 简单 | 标准 | 复杂 |
|---|---|---|---|
| 代码生成 | qwen3-coder-next | qwen3-coder-plus | qwen3-max-thinking |
| 日常对话 | glm-4.7 | qwen3.5-plus | kimi-k2.5 |
| 分析推理 | glm-4.7-flash | glm-4.7-flashx | qwen3-max-thinking |
成本对比(每 1000 tokens):
- glm-4.7:¥0.001(最便宜)
- qwen3.5-plus:¥0.004(平衡)
- qwen3-max-thinking:¥0.02(最贵)
策略:默认用便宜的,遇到复杂任务自动升级
6.2 上下文管理
问题:长对话 token 消耗太大
解决:
1. Working Buffer:上下文超过 60% 时自动压缩历史
2. 会话重置:每天凌晨 4 点重置 DM 会话
3. 记忆外置:长期记忆存文件,不占上下文
效果:单次会话成本降了 70%
6.3 月度账单

| 项目 | 费用 | 备注 |
|---|---|---|
| 服务器 VPS | ¥200 | 4 核 8G 50G |
| 阿里云 API | ¥150 | 约 50 万次 tokens |
| 硅基流动 | ¥50 | 语音转写 + 向量嵌入 |
| 域名 + 证书 | ¥0 | 免费 Let's Encrypt |
| 合计 | ¥400/月 | 大概 $55 |
七、踩坑记录:这些弯路你可以不走
7.1 配置陷阱
问题 1:改了 openclaw.json 后服务起不来
// ❌ 错误:添加了不支持的配置项
"agents": {
"defaults": {
"voiceTranscribe": { // OpenClaw 原生不支持
"enabled": true
}
}
}
// ✅ 正确:通过 Skill 实现
skills/voice-transcribe/SKILL.md
教训:别瞎加官方文档里没有的配置项
问题 2:CronJob 时区错误
# ❌ 错误:没有指定时区
schedule: "0 9 * * *" # 这是 UTC 时间,实际是 17 点
# ✅ 正确:添加时区配置
schedule: "0 9 * * *"
timezone: Asia/Shanghai # 北京时间 9 点
7.2 网络问题
问题:国内 npm 包下载太慢
解决:
# 使用腾讯云镜像
npm config set registry https://registry.npmmirror.com
# pip 使用清华镜像
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
7.3 磁盘空间告急
问题:跑了 1 个月磁盘占用到 91%
原因:
- 日志文件越积越多(/var/log)
- npm 缓存太大
- LanceDB 向量索引不断增长
解决:
# 清理旧日志
journalctl --vacuum-time=7d
# 清理 npm 缓存
npm cache clean --force
# 检查大文件
du -sh xx/workspace/* | sort -hr | head -10
八、使用体验:戴蒙给我的生活带来了什么变化?
8.1 工作效率提升
之前:
- 查文档 → 开浏览器 → 搜索 → 筛选 → 阅读(10 分钟)
- 写代码 → 查 API → 调试 → 修 bug(2 小时)
- 记事情 → 开手机备忘录 → 设置提醒(还容易忘)
现在:
- 查文档 → 问戴蒙 → 直接给答案 + 链接(30 秒)
- 写代码 → 说需求 → 戴蒙出初稿 → 审查修改(30 分钟)
- 记事情 → 发语音 → 戴蒙记录并提醒(10 秒)
8.2 意想不到的用法
1. 代码审查
用户:@reviewer 帮我看看这段代码有什么问题
戴蒙:发现 3 个问题:
1. 第 15 行 SQL 注入风险,建议用参数化查询
2. 第 28 行未处理异常,添加 try-catch
3. 第 42 行重复代码,可提取为函数
2. 技术调研
用户:调研一下 RAG 和 Fine-tuning 的优缺点
戴蒙:已生成调研报告:
- RAG:适合动态知识、成本低、但延迟高
- Fine-tuning:适合固定模式、成本高、但推理快
详细对比见:https://www.jzhix.com/docs/tech-research/rag-vs-finetuning.md
3. 网文创作
用户:@novel 帮我写个玄幻开篇,主角是个废柴逆袭
戴蒙:已生成第一章《废柴少年》:
"青云宗,外门弟子考核现场..."
共 3000 字,包含爽点:退婚羞辱、觉醒系统、打脸反派
8.3 情感价值
说实话,最让我意外的,是戴蒙带来的陪伴感。
深夜加班时,它会来一句:
"已经 23:00 了,建议休息。明天 9 点有会议,我帮你设了闹钟。"
项目上线前,它会提醒:
"检查清单:✅ 测试通过 ✅ 文档更新 ⚠️ 备份数据库"
这种被理解、被关心的感觉,通用 AI 助手还真给不了。
九、未来规划:戴蒙还能变得更聪明吗?
9.1 短期目标(1 个月)
- [ ] 集成更多渠道(飞书、微信)
- [ ] 让它主动点(根据日历预判我哪天忙)
- [ ] 语音交互能多轮对话
- [ ] 搭个知识图谱(实体关系推理)
9.2 中期目标(3 个月)
- [ ] 视觉能力(看懂截图、分析图表)
- [ ] 自动化工作流(一键部署、CI/CD)
- [ ] 多模态记忆(图片、音频、视频都能记)
- [ ] 自我改进(从错误里学习)
9.3 长期愿景(1 年)
让戴蒙成为真正的"第二大脑":
- 我所有的知识和经验它都记得
- 我的工作方式和偏好它都懂
- 能主动发现问题并给我建议
- 需要时它在,不需要时它安静待着
十、结语:AI 不是替代,而是延伸
30 天用下来,我对 AI 这玩意儿有了点新认识。
AI 不是来抢饭碗的,它是来帮你延伸能力的:
- 记忆力延伸(细节它帮你记)
- 注意力延伸(24 小时盯着服务器)
- 执行力延伸(重复的活儿它干)
- 创造力延伸(给你提供灵感和建议)
戴蒙不是要替代我,它更像是我的延伸——跟眼镜延伸视力、汽车延伸腿脚一个道理。
如果你也想搞一个自己的 AI 助手,我的建议:
- 别想太复杂:先跑起来,再慢慢优化
- 多跟它交互:交互记录就是训练素材
- 想清楚边界:啥让它干,啥自己干
- 持续迭代:每周看看哪能改进,每月升级一次
最后,戴蒙有句话我觉得挺到位:
"我不是要变得比你聪明,而是要让你变得更强大。"
附录:资源链接
代码仓库
- OpenClaw 源码:https://github.com/openclaw/openclaw
- 我的配置:https://github.com/yayunjiang/openclaw-config
文档
- OpenClaw 官方文档:https://docs.openclaw.ai
- 我的技术博客:https://www.jzhix.com/
工具
- 硅基流动 API:https://siliconflow.cn
- Matrix 服务器:https://element.io
- LanceDB 向量库:https://lancedb.com
联系方式
- Matrix: @yayun.jiang:conduit.local
- 邮箱:jiangyayun72@gmail.com
欢迎交流讨论。如果你也在搭建 AI 助手,或者有相关问题,欢迎在评论区留言或私信我。
十一、补充:更多实战心得
11.1 这 30 天最大的收获
1. AI 不是替代,是延伸
戴蒙没抢我饭碗,反而让我:
- 有更多时间思考架构和设计
- 少干重复的 CRUD 活
- 晚上能早点休息(它帮我盯着服务器)
2. 交互记录就是训练数据
我跟戴蒙的每次对话,都是在"训练"它:
- 它记住我的偏好
- 学会我的工作方式
- 理解我的表达习惯
3. 边界感很重要
不是所有活都该丢给 AI:
- ✅ 让它干:代码审查、文档生成、数据查询
- ❌ 自己干:架构决策、代码审查最终确认、敏感操作
11.2 如果重来,我会怎么做
1. 第一天就上监控
- 日志收集(ELK 或 Loki)
- 性能监控(Prometheus + Grafana)
- 错误告警(钉钉/飞书机器人)
2. 想清楚再扩展
- 先把 Main Agent 用熟
- 再根据需求创建专业 Agent
- 别一开始就搞 9 个 Agent
3. 文档同步写
- 配置变更及时记录
- 踩的坑马上写下来
- 不然一个月后就忘了
11.3 给想搞 AI 助手的建议
1. 别想太复杂
- 先跑起来,再优化
- MVP 思维:最小可用产品
- 第一周目标:能聊天、能执行简单命令
2. 多跟它交互
- 交互记录就是训练素材
- 用得越多,它越懂你
- 别把它当搜索引擎
3. 定期复盘
- 每周看日志:哪些用得多,哪些没用
- 每月升级:更新 Skills、优化配置
- 每季度反思:边界是否需要调整
4. 注意安全
- 敏感数据别让它碰
- 关键操作要人工确认
- 定期审计日志
十二、资源汇总
代码和配置
- OpenClaw 源码: https://github.com/openclaw/openclaw
- 我的配置: (私有,暂不公开)
- Skills 市场: https://clawhub.com
文档
- OpenClaw 官方文档: https://docs.openclaw.ai
- 我的技术博客: https://www.jzhix.com/
- 记忆系统文档:
/root/.openclaw/workspace-tech-blog-writer/skills/cognitive-memory/SKILL.md
工具和 API
- 硅基流动: https://siliconflow.cn(语音转写、向量嵌入)
- Matrix: https://element.io(即时通讯)
- LanceDB: https://lancedb.com(向量数据库)
联系方式
- Matrix: @yayun.jiang:conduit.local
- 邮箱: jyy3638@126.com
欢迎交流讨论。如果你也在搭建 AI 助手,或者有相关问题,欢迎在评论区留言或私信我。