Hermes WebUI 实战:手机电脑都能跑的 AI 编码 Agent
开源项目 Hermes WebUI 今天刚冲上 GitHub 趋势(11144 stars),它能让你在浏览器甚至手机里用上 Hermes Agent —— 一个能写代码、改代码、做架构决策的 AI Agent。
我第一时间部署试了一下,这篇文章把过程、核心技巧、和主流工具的对比都梳理出来。你读完能立刻自己跑起来,并且知道什么时候该用它,什么时候还是用 Cursor 更爽。
这个 Agent 解决什么问题
用过 Claude Code 或者 Cursor Agent 的开发者都知道,AI 写代码最爽的是它不光补全,还会自己创建文件、运行命令、调试错误。但痛点也很明显:
- 需要装客户端,手机上没法用
- 需要买付费订阅(Claude Code 30 刀/月,Cursor 20 刀/月)
- 依赖特定 IDE,不能集成到自己的流程
Hermes WebUI 的答案是:把 Agent 做成 Web 服务,浏览器就能访问。后端调你的 LLM API(OpenAI、Anthropic、Ollama 都行),前端就是个聊天框 + 文件浏览器。手机打开网址就能用。
核心思路:Agent + WebUI = 远程编程副驾驶
Hermes 本身是一个开源 Agent 框架(基于 Terminus),它拿到任务后可以:
- 规划步骤
- 生成代码文件
- 执行 shell 命令
- 读取输出结果
- 自我修正
WebUI 只是给这个能力套了个网页壳。但它做对了三件事让体验接近本地:
- 内置文件编辑器和终端模拟器(WebSocket 实时交互)
- 支持配置多个 LLM 后端,随时切换
- 全响应式,手机浏览器也能操作
我把它跑在笔记本上,用 ngrok 映射出去,在地铁上用手机继续调代码——这体验确实有点未来感。
完整部署步骤(3 分钟)
项目基于 Python,依赖很简单。步骤:
git clone https://github.com/nesquena/hermes-webui.git
cd hermes-webui
pip install -r requirements.txt
然后创建 .env 文件(复制 .env.example),填入你的 API Key:
# 至少配一个后端
OPENAI_API_KEY=sk-xxxxx
ANTHROPIC_API_KEY=sk-ant-xxxxx
# 可选,Ollama
OLLAMA_BASE_URL=http://localhost:11434
启动:
python app.py
默认跑在 http://localhost:7860,浏览器打开就能用。如果想外网访问,加个 ngrok:
ngrok http 7860
⚠️ 注意:默认没有鉴权,外网暴露有安全风险。建议加 Nginx 反代 + Basic Auth,或者只在内网用。
效果演示:差 Prompt vs 好 Prompt
Hermes Agent 的核心是任务描述 prompt。我试了两组对比:
差 Prompt(想象新手用法)
帮我写一个 Python 计算器
Agent 行为:生成了一个简单的 CLI 计算器,没有错误处理,没有界面,不到 20 行。然后问我“还要加功能吗”。
好 Prompt(我的模板)
我需要在网页上做一个科学计算器。要求:
1. 用 HTML + CSS + 原生 JS,单个文件
2. 支持加减乘除、平方根、三角函数(用户可切换度/弧度)
3. 显示历史计算结果,点击可以复用
4. 响应式布局,手机也能用
5. 不要用任何第三方库
6. 把生成的代码放在当前目录的 calc.html 里
直接运行,不要问问题。
Agent 行为:先列出步骤,然后依次创建文件,打开浏览器测试了一遍,发现 CSS 有个手机适配缺陷,自动回退修改了一版。整个过程没有打断我。
差异总结:差 prompt 太模糊,Agent 只能随便交差。好 prompt 把上下文、约束、输出路径、行为模式全部说清楚,Agent 就能像有经验的工程师一样干活。

3 个可直接复用的 Prompt 模板
模板 1:快速重构
我有个文件 server.js,它现在把所有路由写在了一个文件里。
请把它重构为一个 Express 项目:
- routes/ 下按资源分文件(user.js, product.js, order.js)
- middleware/ 下抽离 auth.js 和 errorHandler.js
- 保持所有接口路径不变
- 不要修改 package.json,只新增文件和调整 imports
- 直接执行,遇到冲突退回到上一个版本并告诉我
模板 2:调试问题
项目在 myapp/ 目录下,运行 npm start 报错:
Error: Cannot find module 'express'
但它已经在 package.json 里了。
请帮我:
1. 检查 node_modules 是否存在
2. 检查 package-lock.json 和 package.json 是否一致
3. 如果不行,推荐修复步骤并自动执行
4. 最终确认服务能正常启动
模板 3:多文件生成
请帮我创建一个 Markdown 博客引擎的 Flask 项目:
- 项目结构:app.py, templates/, static/, posts/
- 每个文章是 .md 文件,支持 front-matter(title, date, tags)
- 首页列表,点击进入详情
- 用 Bootstrap 5 CDN 做简单样式,响应式
- 所有代码放在当前目录,直接运行能访问 localhost:5000
- 自动生成 2 篇示例文章
变体和注意事项
变体 1:换用不同的 LLM 后端
OpenAI 的 GPT-4 效果最好(尤其代码生成),但贵。Anthropic Claude 3.5 Sonnet 在复杂多步骤推理上更强。省钱方案:先用开源模型(比如 Qwen2.5-Coder-7B via Ollama)做简单任务,复杂任务切到闭源模型。在 WebUI 设置里可以配置多个后端,对话时手动切换。
变体 2:集成到 CI/CD
Hermes Agent 也可以 CLI 模式运行(命令是 hermes)。WebUI 只是前端。你可以在 GitHub Actions 里调用它来自动修复 lint 错误、生成测试代码。
注意事项
- 权限过大:Agent 能执行 shell 命令和读写文件。建议在 Docker 容器里跑,锁定权限。项目本身没有沙箱。
- 上下文长度:如果是很长的代码库,token 消耗很大。我试过把整个 2000 行的文件丢进去,GPT-4 直接开始编造代码。最好的做法是只给 agent 关键文件的摘要,或者用
tree命令让它先了解结构。 - 手机使用:屏幕太小,编辑代码不方便。适合看日志、执行简单命令、小范围改代码。真正写项目还是得用电脑。
我的判断:什么时候用它
和主流工具对比:
| 工具 | 费用 | 移动端 | 自托管 | 能力 |
|---|---|---|---|---|
| Cursor Agent | $20/月 | ❌ | ❌ | 极强(深度集成 IDE) |
| Claude Code | $30/月 | ❌ | ❌ | 极强(长上下文) |
| Hermes WebUI | 仅 API 费 | ✅ | ✅ | 中等(开源模型弱) |
我的结论:如果你已经有 LLM API 额度(比如公司提供或自建),Hermes WebUI 是一个零成本的远程编码 Agent。特别适合:
- 出门在外想查一下日志、修个 bug
- 团队共享一个 Agent 服务(内网)
- 在自己电脑上跑开源模型,完全离线使用
如果你主要用 Cursor 或 Claude Code 做日常开发,Hermes WebUI 不用替代它们,而是作为补充——特别是你需要远程控制或者低预算场景时。
最后提醒:开源项目更新快,今天 1.1w star,明天可能就 2w。但如果你现在就 clone 下来跑一遍,半小时后你就能在手机上用 AI 改代码了。试试看。