/install redline-annotate
Redline
把 AI 生成的网页变成"可批注文档",让用户像在 Google Docs 上 comment 一样直接在网页元素上提反馈。
核心架构:浏览器 ←(HTTP)→ 本地 server → 写 inbox 文件 → UserPromptSubmit hook 自动注入 → 模型 apply。用户只需点一次"提交反馈",没有复制粘贴动作。
触发场景
- 用户已经让你生成了一个 HTML 文件,想对其中某些元素提具体修改意见
- 用户明确说"标注 xxx.html"、"给这个网页加批注"、"/annotate"
- 注意:apply 阶段是 hook 自动触发的,模型不需要等用户说"应用反馈"
主要流程:注入(Inject)
何时执行:用户要求"标注 \x3C文件名>"或"给 \x3C文件> 加批注"。
步骤:
- 确认目标 HTML 文件路径(默认就是最近生成的那个)
- 调用
injector.sh \x3Chtml-file>,它会:- 启动本地 server(127.0.0.1:7893,复用已有进程)
- 把
inject.css/inject.js/__RL_CONFIG__注入到\x3C/body>前 - 输出到
\x3C原文件名>.annotated.html(不动原文件) - 用
open在默认浏览器打开
- 告诉用户:「已打开标注页面。点右上角"✏️ 标注模式"开始,标完点"📤 提交反馈",回来随便说一句话即可应用」
绝对不要:
- 改写原 HTML 文件
- 主动模拟 apply 阶段——它由 hook 自动触发
阶段 2:应用(Apply)
何时执行:hook 自动触发——当 cwd 下存在 .redline-inbox.json 时,UserPromptSubmit hook 会把它的内容塞进 additionalContext,并附带 apply 指令。模型不需要等用户显式说"应用"。
步骤:
- 读取 hook 注入的 inbox JSON 内容
- 读取
feedback-template.md的渲染规则 - 用 Edit 修改 inbox.file 对应的源 HTML(不是 .annotated.html)
- 必须用
rm \x3Cinbox_path>删掉 inbox 文件,否则下一次 prompt 会重复触发 - 简明汇报:每条标注 ✓/✗/⚠ + 一行说明
冲突处理:
- 如果用户当前 prompt 和反馈无关,先问「检测到 N 条挂起反馈,先处理还是继续当前话题?」
- 多条反馈对同一元素冲突 → 以最后一条为准,但在汇报里指出
文件清单
injector.sh— 注入脚本,启 server + 注入资源 + 开浏览器inject.js— 标注层逻辑(toolbar/popover/sidebar/fetch 提交)inject.css— 标注层样式server.py— 本地 HTTP 接收端(POST /feedback → 写 inbox 文件)hook.sh— UserPromptSubmit hook(检测 inbox → 注入 additionalContext)feedback-template.md— JSON → 模型 prompt 的转换规则
安装 / 卸载
# 安装(自动配置软链接 + hook)
cd \x3Cskill-dir>/redline
./install.sh
# 卸载(移除软链接 + hook + 停 server)
./uninstall.sh
install.sh 会自动完成:
- 创建
~/.claude/skills/redline软链接 - 向
~/.claude/settings.json添加 UserPromptSubmit hook - 设置脚本可执行权限
首次使用时 server 自动启动,无需手动运行。
标注 JSON 形态(inbox 内容)
{
"file": "output.html",
"timestamp": "2026-05-21T10:30:00Z",
"annotations": [
{
"id": 1,
"selector": "main > .hero > button.cta",
"elementHTML": "\x3Cbutton class=\"cta\">立即购买\x3C/button>",
"elementText": "立即购买",
"boundingBox": {"x": 480, "y": 320, "w": 120, "h": 40},
"comment": "颜色改成红的,再大 1.5 倍"
}
]
}
调试
- 看 server 日志:
tail -f ~/.claude/redline/server.log - 手动起 server:
python3 server.py 7893 - 手动测 hook:
CLAUDE_PROJECT_DIR=/path/to/project ./hook.sh(需先在该目录放一份 inbox) - 杀 server:
kill $(cat ~/.claude/redline/server.pid)
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install redline-annotate - After installation, invoke the skill by name or use
/redline-annotate - Provide required inputs per the skill's parameter spec and get structured output
What is Redline Annotate?
在 AI 生成的 HTML 网页上做可视化标注,把"点元素 + 写评论"的反馈通过本地 server + UserPromptSubmit hook 自动喂回模型,无需复制粘贴。当用户说"标注网页"、"给这个 HTML 加批注"、"/annotate"、或希望对生成的网页提具体元素修改意见时触发。 It is an AI Agent Skill for Claude Code / OpenClaw, with 50 downloads so far.
How do I install Redline Annotate?
Run "/install redline-annotate" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Redline Annotate free?
Yes, Redline Annotate is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Redline Annotate support?
Redline Annotate is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Redline Annotate?
It is built and maintained by Times77 (@times77); the current version is v1.0.0.