乐于分享
好东西不私藏

腾讯云轻量 + OpenClaw + DeepSeek V4 + 飞书:一个人 3 天搭出 AI 阅读老师

腾讯云轻量 + OpenClaw + DeepSeek V4 + 飞书:一个人 3 天搭出 AI 阅读老师

        5,769 行 Python、18 次 Git 提交、5 篇飞书文档、4 个学生用户、96% 模型缓存命中率、实际模型费用接近零——五一假期窝在家,看着孩子语文作业做着头大,每次考试阅读理解作文都是老大难问题。作为一个老父亲,冥思苦想一个小时后,决定搭个 AI 阅读老师,看能否通过持续的练习,帮助孩子提升阅读理解能力。

我相信这个世界大部分问题的解决都在于重复和坚持。

一、这台机器,先睹为快

硬件配置

项目

详情

云服务商

腾讯云轻量应用服务器(Lighthouse)

CPU

AMD EPYC 7K62,2 vCPU @ 2.0GHz

内存

8GB(已用 2.9GB,可用 4.7GB)

硬盘

50GB SSD

系统

OpenCloudOS 9.4

当前 CPU 负载

0.00 / 0.04 / 0.09

7.5GB 总内存,日常只用了不到 3GB——跑着 Nginx + Gunicorn(4 worker × 10 线程)+ OpenClaw Agent 引擎,轻量服务器的性能对这个场景来说,完全没问题。

网络与流量

上线半个月的真实访问数据:

指标

数值

总请求数

390

HTTP 200 响应

180

HTTP 404(含爬虫扫描)

87

客户端断开(499)

59

唯一访问 IP

141

真实用户 IP

约 5 个

恶意扫描请求

62(WP 漏洞扫描等)

62 个扫描请求全是自动化攻击——暴露在公网的服务器,即使刚上线不久,也会立刻被扫描器盯上。

二、项目全景:「瘦狗伴读·伴你阅读」

2.1 做什么的?

这是一个面向小学高年级和初中的阅读练习平台。每天自动抓取一篇高质量文章,AI 生成六大学习板块,通过飞书文档分发,Web 端提供交互式练习和评分,每日一练,让语文悄悄变好。

2.2 技术架构

四层结构,从上到下:

    • Nginx — 反向代理,静态文件直出,POST 限流 5次/分钟 + burst 8,Cache-Control: no-store

    • Gunicorn — 应用服务器,4 worker × 10 线程,承载 Flask 业务逻辑

    • Flask Web 应用 — 学生端互动 + 教师端管理 + SQLite(8张表)

    • OpenClaw Agent — 心跳定时任务(自动抓取→生成→发布),飞书指令(对话→改代码→部署)

外部依赖:

    • 飞书 API — 文档创建 + 消息推送,78 次调用 0 失败

    • DeepSeek V4 Pro — 内容生成引擎,缓存命中率 96%

三、OpenClaw:龙虾壳下的 Agent 引擎

3.1 它是什么

        OpenClaw 不是一个聊天机器人前端,而是一个完整的 AI Agent 运行时。你可以把它理解为:

      「给 AI 配了工具箱 + 定时器 + 多通道收发器」的操作系统

        在这台服务器上,OpenClaw 扮演的角色包括:

    • 内容主编:每天定时抓文章 → 筛选 → 让 DeepSeek 生成教学内容

    • 飞书管家:创建文档、设置权限、发送消息、接收指令

    • 运维工程师:收到飞书消息→ 执行 → reload 服务

    • 记忆系统:MEMORY.md + 每日笔记,跨会话保持上下文

3.2 一条指令的完整旅程

在飞书里发「把好句赏析搞紧凑点」,背后的旅程:

  • 飞书消息到达

  • OpenClaw 接收 → 读取上下文(SOUL.md / MEMORY.md / HEARTBEAT.md)

  • 理解意图:需要修改「四、好句赏析与仿写」的飞书文档格式

  • 读取当前文档 MeDzd3iCEotXwfxoQLjcjXCenpb

  • 用 DeepSeek V4 生成新的紧凑格式内容(emoji 行内标签代替【原句】【赏    析】)

  • 调用飞书 API 写回文档

  • 更新 state.json → 同步 Web 端 → reload Gunicorn

  • 飞书回复「搞定!打开看看?」

全程无 SSH、无 IDE、无手动操作——一个人在飞书里打字就完成了从需求到上线的闭环。

3.3 会话数据(真实)

指标

数值

说明

上下文窗口

77k / 200k(38%)

大量空间留给工具调用和上下文

Token 输入

3,200

当前会话累计

Token 输出

3,500

当前会话累计

缓存命中率

96%

系统指令、工具定义几乎全缓存

会话压缩

2 次

自动压缩长对话,不丢关键信息

模型费用

$0.00

缓存折扣 + 低用量

        96% 的缓存命中率是关键——工具定义(飞书 API、读写文件、Git 操作等)和系统指令(AGENTS.md、SOUL.md 等)每次对话都会重复加载,DeepSeek 对缓存内容有大幅折扣,导致很多对话的实际计费为零。

四、DeepSeek V4 Pro:能写会改的 AI 阅读老师

4.1 它做了什么

DeepSeek V4 Pro 是整个系统的内容引擎。:

    • 文章筛选:从公开优质文章中摘选 400-800 字、贴近生活的适读内容

    • 生字词:拼音 + 释义 + 难易度把控

    • 词语运用:从文中提炼精华词汇,造句练习

    • 好句赏析与仿写:修辞分析 + 仿写提示

    • 阅读思考题:开放式问题,鼓励独立思考

    • 写作小课堂:技法讲解 + 练习建议

4.2 质量实测

以文章《小小绿化带 为生活添彩》为例:

生字词示例:

    • 绿化(lǜ huà):种植树木花草,使环境优美。

    • 景观(jǐng guān):自然或人造的景色、风景。

    • 晶莹(jīng yíng):光亮透明,形容物品清澈闪亮。

    • 脆嫩(cuì nèn):又脆又嫩,口感好。

    • 绽放(zhàn fàng):花朵开放。

注音准确,释义简洁,难度适配小学中高年级——这个水平已经不输很多教辅资料。

好句赏析示例:

这句话用”春会、夏能、四季常绿”三个短句排比,写出了荔枝树一年四季的不同姿态,节奏明快。接着从”清凉”和”味蕾”两个角度——视觉和味觉——写出荔枝树带给人们的双重享受。

能识别排比修辞,能分析多感官描写,能解释表达效果——这就是 V4 的中文理解力。

4.3 多模型储备

模型

类型

上下文窗口

用途

DeepSeek V4 Pro

主力

200K

日常内容生成

DeepSeek V4 Flash

快速模式

200K

简单任务

MiniMax M2.5

备选

200K

长文本理解

混元 TurboS

备选

200K

腾讯云原生(更低延迟)

Kimi K2.5

备选

200K

超长文档处理

实际体验下来,DeepSeek V4 Pro 的中文生成质量最稳定,MiniMax 在长文本处理上有优势,混元因为是腾讯云自家产品,内网延迟最低。

五、飞书:不只是聊天工具

5.1 双通道交互

    • 通道一:内容分发——OpenClaw 定时任务 → 飞书 API 创建文档 → 写入 6 大板块内容 → 设置「互联网公开可读」→ 发送文档链接到用户对话

    • 通道二:运维指令——在飞书里发消息 → OpenClaw 接收 → Agent 理解意图 → 调用工具(读文件/改代码/重启服务/Git 提交)→ 飞书回复结果

5.2 API 调用统计

    • 文档创建:5 次,0 失败

    • 文档写入:8 次(含格式调整后的重写)

    • 权限设置:5 次,全部成功

    • 消息推送:约 60 次(对话回复 + 文档链接推送)

    • 总计约 78 次 API 调用,0 次失败,0 次限流

飞书免费 API 的调用限额是 100 次/分钟,日常使用完全碰不到上限。

5.3 一个坑:create 后必须 write

feishu_doc.create 只创建一个空白文档壳子(有标题无正文)。如果不立刻调用 feishu_doc.write 写正文,用户收到的就是一个空文档。

这是踩过的坑——第一次生成时,文档创建成功、权限也设好了,但正文是空的,因为忘了 write。后来把这个教训写进了 MEMORY.md 和 HEARTBEAT.md,确保不会再犯。

六、开发全记录

        这次开发最让我惊喜的是 飞书 + OpenClaw + DeepSeek V4 的组合,能力非常强悍。全程在飞书里对话,代码自动写、自动改、自动部署上线——一条消息下去,从需求到发布全闭环,实现了”对话即开发”,即使到亲戚家吃饭,都能随时调整随时执行开发。

6.1 开发过程

核心开发:

    • 项目初始化:「瘦狗伴读·伴你阅读」仓库创建

    • Flask + SQLite 骨架搭建

    • 文章抓取脚本

    • 飞书文档自动生成

    • Flask dev server → Gunicorn 4 worker × 10 thread

    • Nginx 反向代理 + 静态文件直出

    • POST 限流:5 次/分钟 + burst 8

    • SQLite busy_timeout = 5000ms

    • 域名购买 + ICP 备案提交 → 临时切 IP 访问模式

    • Popover API 命名冲突:togglePopover 是浏览器原生方法

    • 学生首页 UI 打磨(头像、帮助、状态卡片)

交互深化:

    • 生字词三种学习模式:✍️ 跟写(笔画动画 )、🎧 听写(听音打字)、📷 OCR(拍照识别 、自动匹配)

    • 生字词跟写、听写、OCR拍照上传三种模式各自闭环,互不干扰

    • AI 评分引擎:分模式计分(跟写 2★、听写 1★)

    • 经验值系统分模式记录,避免重复发放

6.2 代码统计

语言/类型

行数

说明

Python(app.py)

5,676

主应用:路由 + 业务逻辑 + 模板 + 评分引擎

Python(脚本)

305

文章抓取 + 权限设置 + 同步

内联 JavaScript

~464 行

分页卡片、OCR、语音朗读

内联 CSS

~697 行

全站样式(响应式、暗色模式适配)

内联 HTML

~505 行

Jinja2 模板

总计

~7,647 行

全部在 3 个 .py 文件中

       没有前端构建工具、没有 Webpack、没有 node_modules——就是一个 Flask 单体应用,HTML/CSS/JS 全内联在 Python 字符串里。对于这种规模的项目,单体架构的开发效率远高于前后端分离。

七、费用拆解

项目

费用

备注

腾讯云轻量服务器

99 元/年

Lighthouse 8GB,活动价申请

DeepSeek V4 API

≈50 元/月

缓存命中率 96%,大部分会话 $0.00,开发使用Pro

其他模型 API

0 元

MiniMax/混元/Kimi 备而未用

飞书 API

0 元

免费额度内

域名

≈83 元(一次性)

shougoubandu.com + .cn 购买 + ICP 备案

        服务器是今年初腾讯云做活动时申请的,一年 99 元的轻量应用服务器,8GB 内存——随时关注云服务商的推广活动,比如618、双11等。

DeepSeek V4 为什么这么便宜?

官价:输入 2.00/1M tokens。但实际产生费用的 token 很少,原因:

  • 缓存折扣:OpenClaw 每次会话都会加载大量系统指令和工具定义,这些内容在 DeepSeek 服务端被缓存,不计入输入费用或大幅折扣

  • 短对话:大部分日常交互只需要几千 token

  • 心跳任务:每日文章生成的上下文稳定,缓存命中率极高

实测:一个包含代码修改 + 文档写入 + Git 提交的对话会话,费用经常是 $0.00。

八、踩过的坑(避坑指南)

坑 1:Popover API 命名冲突

浏览器原生提供了 HTMLElement.togglePopover()、showPopover()、hidePopover() 方法。如果定义同名函数会直接报 DOMException。解决方案:换个名字(如 openInfoPopup())。

坑 2:HTTP 80 端口被云服务商 DPI 拦截

域名备案期间,腾讯云会对未备案域名的 HTTP 80 请求做 DPI(深度包检测)拦截。解决方案:备案完成前直接用 IP 访问,Nginx 在 80 端口监听不做域名绑定,备案通过后再切回域名 + SSL。

坑 3:飞书文档 create 后必须 write

feishu_doc.create 只创建文档元数据(标题),不包含正文。必须紧接着调 feishu_doc.write 写内容。正确流程:create → write → set_public_perm → send message,漏掉任何一步都会出问题。

九、下一步

  • 语音交互:学生可以通过语音回答问题,AI 语音点评

  • 多年级适配:一到九年级,不同难度自动调整

  • 家长端、老师端数据看板:孩子的学习曲线、薄弱点分析

  • 多平台分发:微信公众号 + 企业微信 + 钉钉

工具链:🦞 OpenClaw + DeepSeek V4 Pro + 飞书开放平台。          作者:胖猫和瘦狗