返回案例库

精选案例 · 工程接入与部署 / 知识库与文档

用 Hermes + OpenClaw 驱动的 AI 辅助开发实践

作者: gaozhenglei

原题:高正雷:用 Hermes + OpenClaw 驱动的 AI 辅助开发实践

高正雷(科大教职工)分享使用 Hermes Agent 和 OpenClaw 进行全栈 AI 辅助开发的经验。项目涵盖 Device Monitor 设备监控系统(Flask+AdminLTE)、财务系统 JSP 页面现代化改造、以及基于 OpenClaw 的微信 Bot。…

案例速读

案例详细展示了 AI 辅助开发在三个真实项目中的应用,包括架构设计、调试、部署、遗留系统改造,并总结出四条可操作的实践心得(具体提示词、环境感知、diff 审查、结对编程),对读者有很强的参考价值。内容结构清晰,案例具体,符合高质量分享标准。 建议从 「高正雷:用 Hermes + OpenClaw 驱动的 AI 辅助开发实践」、「背景」、「使用的 AI 工具」、「项目实践」 进入正文,先确认真实任务和模型辅助过程。

  • 重点看 封装通用工具函数(如 _normalize_timestamp)统一处理不同格式的数据、让 AI 先扫描项目结构、代码风格和依赖再开始修改,避免风格冲突、使用“看 diff 再 merge”的代码审查流程确保改动可控。结合 工程接入与部署 / 知识库与文档 / 代码生成 / 调试排错 和「软件开发工程师、AI 辅助编程用户、技术运维人员」,它更适合作为任务检索后的精读材料。
  • 正文目录和原始材料仍然是判断依据;导读只帮助你更快定位阅读重点。
首读入口
背景
读者
软件开发工程师、AI 辅助编程用户、技术运维人员
复用
封装通用工具函数(如 _normalize_timestamp)统一处理不同格式的数据
结构
12 个目录入口

原文内容

高正雷:用 Hermes + OpenClaw 驱动的 AI 辅助开发实践

背景

我是科大的教职工,日常工作涉及系统运维、Web 应用开发和技术支持。以前写代码主要靠自己查文档、翻 Stack Overflow,遇到问题要折腾半天。最近开始深度使用 Hermes AgentOpenClaw 作为日常开发搭档,从"问个语法"升级为"把整个项目交给 AI 协作",效率有了质的飞跃。

使用的 AI 工具

工具 用途
Hermes Agent 主力开发助手 — 代码编写、调试、部署、自动化运维
OpenClaw 微信 Bot 框架 — 多平台消息通道集成(微信/QQ/飞书)
词元计划 Token API 科大内部大模型 API(DeepSeek-v4 / Qwen 系列)

项目实践

1. Device Monitor 设备监控系统(Flask 全栈项目)

这是一个用 Flask + AdminLTE 构建的设备日志监控与告警系统,我让 Hermes 参与了从架构设计到部署上线的完整流程:

开发阶段:

  • 让 Hermes 基于需求描述生成了 SQLite 数据库 schema(log_entriesdevices 两张核心表)
  • 用 AdminLTE 3 + Jinja2 模板搭建前端页面,Hermes 帮我处理了侧边栏导航、下拉菜单裁剪等 CSS 兼容性问题
  • JWT 认证 + bcrypt 密码加密的安全加固,Hermes 逐文件审查后给出了具体修复方案

运维阶段:

  • systemd 服务部署、systemctl 管理
  • Flask 模板缓存导致的页面不更新问题,Hermes 帮定位到 TEMPLATES_AUTO_RELOAD 配置
  • 数据库凭证硬编码问题 → 改为环境变量 + 加密存储

最让我意外的一个细节: 时间格式统一问题。不同设备返回的日志时间格式五花八门,Hermes 建议封装一个 _normalize_timestamp() 统一转 CST,这一个函数就省了我大量的 if-else。这种"封装通用工具函数"的思路,AI 比我想得周到。

2. 科大财务系统 JSP 页面现代化改造

这是一个基于 Wingsoft 框架 + CAS 单点登录的遗留系统(2013 年左右构建)。改造过程中遇到很多"老系统特有的坑":

  • iframe 被 X-Frame-Options 拦截 — Hermes 帮我分析了 CAS 保护机制,最终收敛到"服务端预渲染 + <script type="text/template"> + JS textContent 读取"方案,零客户端网络请求
  • HTML 实体编码问题 — 发现浏览器 textarea 的 innerHTMLvalue 能自动解码 HTML 实体,比手动写解码函数靠谱得多
  • 新闻弹窗 404 但文件存在 — 定位到 News.getAllTitles("Y") 返回的 aNews[0] 参数格式不匹配,参考同模式文件(如 news.jsp)快速定位根因

这种老系统调试,AI 最有价值的是系统性排查:不是盲目试错,而是按"请求链路 → 响应头 → 参数匹配 → 参考已有实现"的顺序逐步收敛。

3. OpenClaw 微信 Bot("龙虾"项目)

用 OpenClaw 搭建微信 Bot,接入多个消息平台:

  • 微信扫码登录 + 会话管理
  • 多渠道消息路由(微信 / QQ / 飞书)
  • 定时任务(Hermes cron)驱动的内容推送和系统巡检

AI 辅助开发的心得

1. 提示词要具体,但不要"手把手"

好的提示词是"告诉我目标,让我自己规划"。比如:

  • ❌ “帮我写一个 Flask 登录页面”(太笼统,出来的东西不匹配项目)
  • ✅ “在现有的 AdminLTE 侧边栏下添加一个 /login 路由,用 JWT 验证,模板继承 base.html”(目标明确,AI 能自主发挥)

2. 让 AI 先理解环境,再动手改

每次开始新项目,我会先让 Hermes 扫描项目结构、读取现有代码风格、确认依赖版本。这样后续改动才不会"风格冲突"。

3. "看 diff 再 merge"是我的铁律

AI 生成代码很快,但提交前一定要看 diff。不是不信任 AI,而是确认它没有改到无关文件或引入不需要的依赖。

4. 最好的用法:结对编程,不是"一键生成"

把 AI 当成旁边的资深同事:先讨论方案 → 让它写初版 → 一起 review → 跑起来验证 → 根据报错再迭代。每一步都有人在场,远比"让它写完一整段代码再检查"靠谱。

对词元计划的评价

科大提供的 Token API 非常好用,价格实惠、延迟低、模型选择丰富。作为一个日常需要大量代码辅助的人,词元计划让我能无负担地让 AI 深度参与开发,而不是"省着问"。

希望我的分享对大家有帮助!欢迎交流 💬

返回顶部