学习工作赛道 + 墨瞳 — 亦师亦友的智能书法学习伙伴
1. 墨瞳Demo 简介
墨瞳是一款融合计算机视觉笔迹识别、大语言模型书论对话与书法知识图谱的智能书法学习网站,以"亦师亦友"为内核,提供零压力临帖评价、五法审美感知、产婆式书论学习、智能碑帖研读等能力。
我们的愿景:让每一位书法爱好者,都能拥有一位懂书法、懂你、亦师亦友的AI学习伙伴。
【3 句话看点】:
- 核心功能:AI 实时书法评价 + 苏格拉底式启发对话。
- 技术狠活:全流程 TRAE Work 开发,自创 OpenClaw 三层记忆架构。
- 一句话情怀:让 AI 成为你书斋里那位“亦师亦友”的门童。
面向用户
-
书法启蒙者:零基础但有兴趣,畏惧"写不好"的评判
-
进阶习书者:有一定基础,渴望系统提升笔法结构与章法气韵
-
书论探索者:对书法理论有思辨热情,希望自由漫游又形成闭环
主要功能
Demo说明:很多功能在Demo上只是模拟,软件在这一版Demo已经写好了硬件接口,只有在智能毛笔、配套的智能眼镜到位之后,所有的自动笔法评价、即时提醒沟通、基于前台视频和后台LLM的评价和艺术对话才会实现功能闭环。
功能一:翰墨知客 — 实时书写与五维评价 【高光时刻 H1】
基于传感毛笔的笔画数据,从笔法、字法、章法、律法、意法五个维度进行智能评价,配合 ECharts 雷达图可视化呈现,给出五档等级(神品 / 妙品 / 能品 / 入品 / 初学)与针对性改进建议。
-
传感器模拟数据驱动五维实时评价
-
五维雷达图直观展示评分分布
-
等级徽章 + 个性化改进建议
-
一键跳转习作对比页
功能二:习作对比 — 原帖 vs 习作差异分析 【高光时刻 H2】
上传习作照片,系统自动与原帖进行 ORB 特征配准,生成差异热力图,标注 5 个层级的偏差区域,并给出相似度评分与详细评语。
-
ORB 特征点配准与几何校正
-
5 色差异热力图标注(优/良/中/差/严重)
-
相似度量化评分 + 具体改进建议
-
支持从书写评价页一键直达
功能三:书论讲堂 — 产婆式对话学习 【高光时刻 H3】
不直接给答案,而是像苏格拉底的"产婆术"一样,通过追问、引导、发散,让学习者自己悟出书法的道理。对话基于书论知识图谱(含《书谱》《九势》《历代书法论文选》《益州名画录》《书断》等典籍),会引用古典书论原文。
-
产婆式引导对话,不评判、只启发
-
基于书论知识图谱的发散收敛逻辑
-
对话中引用古典书论原文
-
实时流式输出,打字机效果
功能四:碑帖馆藏 — 历代名帖鉴赏
收录魏晋至唐代三大经典碑帖(兰亭序神龙本 / 多宝塔碑 / 书谱),支持高清鉴赏、朝代分类、篆隶楷行草五体筛选。
-
3 张真实高清碑帖图片
-
朝代徽章 + 书体分类
-
宣纸纹理 + 中式装饰边
-
碑帖详情页(作品背景 + 高清鉴赏 + 临摹引导)
2. Demo 创作思路
灵感来源
书法是中华文明最具代表性的艺术形式,但在数字时代却离普通人越来越远。我们观察到,想学书法的人并非没有热情,而是缺少一个低门槛、有反馈、能坚持的学习入口。
传统书法学习的痛点:
-
无人指导:自学临帖,没人告诉你"差在哪、怎么改",进步全凭感觉
-
书论难懂:古典书论古奥晦涩,难以衔接实践
-
碑帖分散:想系统研习某个书家或某种书体,资料散落在各处
-
缺乏激励:独自练习没有成长轨迹的视觉反馈,容易放弃
市面上的书法 App 大多停留在"图库浏览 + 简单描红"的层面,没有真正的智能评价,更没有理论深度的引导。我们希望用 AI 做那个"热情引路、不评判、陪伴前行"的门童——就像走进书法殿堂时,有一位微笑着递上毛笔的门童,他不评判你写得好不好,只是陪你一步步走近书法之美。
为什么做这个方向
-
文化价值:书法是中华文化的根,用 AI 让传统焕发新生
-
真实痛点:自学者缺反馈、缺引导、缺陪伴
-
技术壁垒:五层评价体系 + 产婆对话 + 知识图谱,三层深度
-
产品温度:不做"老师"做"伙伴",零压力学习体验
产品名的由来
从"墨童"到"墨瞳"——"瞳"是眼睛,也是心灵的窗户。墨瞳,即以墨为瞳,见字见心。书法不只是写字,更是见自己、见天地的过程。
3. Demo 体验地址
在线体验地址: 首页 - 墨瞳
首次访问说明:localtunnel 安全机制会弹出"tunnel password"提示页,请在输入框中填入 221.217.26.135(当前公网IP)即可进入。
推荐体验路径:首页 → 碑帖馆(浏览名帖)→ 翰墨知客(点击"开始书写"体验评价)→ 查看对比 → 书论讲堂(输入"谈谈孙过庭"体验产婆对话)
4. TRAE 实践过程
整个项目从 0 到 1 全部在 TRAE Work 中完成,使用 OpenClaw 三层记忆开发方法论,按里程碑串行推进。
完整开发流程
阶段一:M1 顶层需求与架构设计(7月11日)
-
生成完整的产品需求文档(PRD)
-
冻结五层书法评价体系(笔法→字法→章法→律法→意法)
-
定义产婆式书论对话机制规范
-
输出系统架构与接口定义
-
确定 Demo 硬件边界(传感毛笔 + 高清摄像头最小闭环)
开发步骤截图:TRAE Work 生成的 PRD 文档,包含产品定位、核心模块、高光时刻、演示流程等完整内容
阶段二:M2~M4 资源库与后端引擎开发(7月12日~7月13日)
-
搭建碑帖素材库(兰亭序神龙本 / 多宝塔碑 / 书谱)
-
构建书论知识图谱(30 个书论段落,覆盖 5 部典籍)
-
实现 LLM 抽象层(Dev 模拟模式 + Cloud 云端模式双模式)
-
开发五维评价引擎、产婆对话引擎、临帖比对算法
-
封装 22 个 REST API + 5 个 WebSocket 端点
-
修复知识图谱索引 bug(路径错误 + 字段名不匹配)
开发步骤截图:后端 API 接口文档页,展示 22 个 REST 端点与 5 个 WS 端点的完整定义
阶段三:M5 前端开发与视觉装修(7月14日~7月15日)
-
Vue3 + TypeScript + Vite 前端工程化搭建
-
Pinia 状态管理 + 7 个路由页面
-
三大高光时刻页面(翰墨知客 / 习作对比 / 书论讲堂)
-
中式古典雅致风格(墨色 / 赭石 / 朱砂 / 金配色)
-
全站动效层(页面切换淡入 + stagger 入场)
-
网站装修:水墨晕染 + 朱砂印章 + 宣纸纹理 + 装饰边
开发步骤截图:前端首页展示,水墨晕染背景 + 朱砂印章 + 五大功能模块导航
关键 Session ID
| # | Session ID | 里程碑 |
|—|------------|--------|
| 1 | 6a54e2b73937e5fabcc79a1e | M5 A1-A2 前端架构设计与编码验证 |
| 2 | 6a5680ba3937e5fabcc7a150 | M5 A3.1 翰墨知客高光时刻开发 |
| 3 | 6a5688813937e5fabcc7a2a7 | M5 A3.2 习作对比页开发 |
| 4 | 6a5691113937e5fabcc7a437 | M5 A3.3 书论讲堂 + 对话 bug 修复 |
| 5 | 6a56e5273937e5fabcc7ab84 | 网站装修 + HTTP_PROXY 问题根治 |
5. 开发环境改造与带来的变化
在开发墨瞳项目的过程中,我们不仅完成了业务功能,还对 TRAE Work 的开发环境进行了深度改造,构建了一套OpenClaw 三层记忆开发方法论,实现了跨会话知识继承和自动化知识沉淀。
5.1 三层记忆架构改造
| 层级 | 名称 | 载体 | 生命周期 | 核心价值 |
|------|------|------|----------|----------|
| L1 | 工作记忆 | 会话上下文 | 仅限本次会话 | 实时上下文管理,80% 阈值自动压缩 |
| L2 | 中期情景记忆 | memory/daily/YYYYMMDD_session.md | 永久保存 | 完整交互日志归档,检索命中时按需读取 |
| L3 | 长期持久记忆 | MEMORY.md + ChromaDB 向量库 | 跨会话继承 | 核心知识沉淀,容量上限 45k token |
5.2 带来的变化
变化一:知识不再丢失
传统 AI 开发中,每次开启新会话都是"从零开始"。改造后,所有确认的方案决策、架构选择、技术选型、踩坑记录都会自动沉淀到 MEMORY.md 和向量库中。新会话启动时自动加载,Agent 能够记住之前的决策,避免重复造轮子。
变化二:自动化知识蒸馏
当会话上下文接近窗口阈值时,系统自动执行结构化蒸馏,从 6 个维度提取核心知识:
-
需求约束、已确认方案、失败方案
-
踩坑清单、编码规范、待办事项
变化三:技能萃取系统
当同类任务成功完成 ≥2 次时,系统自动提取可复用技能文档,存入 skills/ 目录并更新索引。后续遇到相似任务时,自动匹配并加载技能,提高开发效率。
变化四:标准化工作流
实现了两个自定义工作流指令:
-
/attach-main-project(挂载项目):加载 L3 热记忆 + 行为协议 + 环境自检 -
/milestone-archive(里程碑归档):系统化梳理产出 + 知识沉淀 + 冲突处理
5.3 具体改造文件
| 文件 | 作用 |
|------|------|
| .trae/workspace/MEMORY.md | 长期热记忆,跨会话继承核心知识 |
| .trae/rules/memory_protocol.md | 三层记忆执行协议,管控记忆读写与压缩 |
| .trae/rules/skill_protocol.md | 技能萃取与调用协议,管控技能全生命周期 |
| .trae/rules/workspace_commands.md | 自定义工作流指令定义 |
| .trae/rules/debug_protocol.md | 排障协议,强制按顺序排查问题 |
| .trae/skills/workspace-attach.md | 挂载项目技能 |
| .trae/skills/workspace-milestone-archive.md | 里程碑归档技能 |
| .trae/workspace/mcp_server.py | MCP 向量记忆服务(ChromaDB) |
5.4 改造带来的实际效果
-
效率提升:新会话启动时自动加载历史知识,无需重复说明项目背景和架构决策
-
质量保证:排障协议强制按路径→环境变量→Python解释器→依赖→超时→进程→日志的顺序排查,避免盲目试错
-
知识传承:从"一次性对话"升级为"可持续知识库",项目经验真正沉淀下来
这套开发环境改造不仅服务于墨瞳项目,也为后续所有项目提供了标准化、可复用的开发框架。
6. 开发心得与踩坑记录
踩坑一:前后端枚举值不匹配
问题:前端 WeightMode 定义使用了 balanced / basic / spiritual,但后端实际接受的是 flat / base_bias / realm_bias,导致评价权重设置失效。
解决:统一以后端定义为准,前端类型定义严格对齐,同时在对接规范中明确枚举值来源。
踩坑二:书论对话话题错配
问题:用户输入"探讨兰亭序",AI 却回复"中锋用笔"——因为首回合话题为空时 fallback 到了硬编码的"中锋用笔"。
解决:从 user_message 中提取话题并初始化 current_topic,将 fallback 改为更通用的"书法之道",同时优化知识图谱检索逻辑。
踩坑三:Windows 代理导致 LLM 调用失败
问题:Windows 注册表中 ProxyServer 值带 http:// 前缀,导致 Python urllib 自动再添加一层 http://,产生双 http:// 拼接,DNS 解析失败。
解决:
-
代码层面:
cloud_client.py中httpx.Client和httpx.AsyncClient添加trust_env=False -
系统层面:修正注册表
ProxyServer值为纯 host:port 格式
这个问题前后排查了 3 次才彻底根治,从"偶发连接失败"到定位到注册表,再到代码加防御,印象非常深刻。
踩坑四:uvicorn --reload 不触发文件变化
问题:修改后端代码后,uvicorn 的 --reload 模式没有热重载,浏览器看到的始终是旧代码。
原因:WatchFiles 检测到临时脚本删除但后续编辑没触发 reload,且存在 zombie 子进程占用端口返回旧代码。
解决:完整重启 uvicorn,并在启动时设置 PYTHONPATH 为项目根目录,从根目录启动。
6. 技术栈
| 层级 | 技术 |
|------|------|
| 前端框架 | Vue 3 + TypeScript + Vite |
| 状态管理 | Pinia |
| UI 样式 | SCSS + 中式设计系统(墨色/赭石/朱砂/金) |
| 图表 | ECharts(雷达图 / 柱状图) |
| 后端框架 | FastAPI + Python 3.13 |
| 图像比对 | OpenCV + ORB 特征匹配 |
| LLM 对接 | 智谱 GLM-VL + httpx(抽象层支持 Dev/Cloud 双模式) |
| 书论知识图谱 | 自研有向图索引 + 语义检索 |
| 实时通信 | WebSocket(5 个端点:评价/对话/传感/状态/调试) |
| 部署 | FastAPI 一体化 serve + localtunnel 公网暴露 |








