anycap-human-interaction
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAnyCap Human Interaction
AnyCap 人机交互
Read this entire file before starting. Skipping sections leads to incorrect workflows -- each media type has different capabilities and constraints.
Workflow guide for collecting structured visual feedback from humans using AnyCap's annotation tool. This skill teaches you when and how to involve humans in your workflow through visual annotation and screen recording.
For CLI command reference, read the skill. For media generation workflows, read the skill.
anycap-clianycap-media-production开始前请通读整个文档。 跳过章节会导致工作流程出错——每种媒体类型都有不同的功能和限制。
本指南介绍如何使用AnyCap的标注工具收集人类提供的结构化可视化反馈。该技能将教你何时以及如何通过可视化标注和屏幕录制让人类参与工作流程。
如需CLI命令参考,请阅读技能。如需媒体生成工作流程,请阅读技能。
anycap-clianycap-media-productionPrerequisites
前置条件
AnyCap CLI must be installed and authenticated. Read the skill if setup is needed.
anycap-cli必须安装并验证AnyCap CLI。如需设置,请阅读技能。
anycap-cliTwo Core Scenarios
两大核心场景
AnyCap annotation excels at two distinct review workflows. Choose the one that fits your situation:
| Scenario | Best for | Primary artifact | Highlight |
|---|---|---|---|
| URL / Web Page Review | Web pages, local dev servers, live UIs | Screen recording with narration | Browse, annotate, and narrate -- the recording captures everything |
| Image Collaborative Review | Generated images, screenshots, designs | Annotated image with merged feedback | Multiple reviewers annotate simultaneously in real-time |
Both scenarios support all annotation tools (Rect, Arrow, Point, Freehand) and text labels. The difference is in what you get back and how the review is conducted.
AnyCap标注擅长两种不同的评审工作流程。请根据你的情况选择合适的场景:
| 场景 | 适用场景 | 核心产出物 | 亮点 |
|---|---|---|---|
| URL/网页评审 | 网页、本地开发服务器、实时UI | 带语音旁白的屏幕录制 | 浏览、标注、旁白——录制会捕获所有操作 |
| 图像协作评审 | 生成的图像、截图、设计稿 | 合并反馈后的标注图像 | 多位评审者可同时进行实时标注 |
两种场景均支持所有标注工具(矩形、箭头、点、自由手绘)和文本标签。区别在于最终产出物和评审方式。
Command Quick Reference
命令速查
bash
undefinedbash
undefinedBlocking -- opens browser, waits for Done click, outputs result
阻塞模式——打开浏览器,等待点击“完成”,输出结果
anycap annotate <target> [-o output.png]
anycap annotate <target> [-o output.png]
Non-blocking -- starts background server, returns session info
非阻塞模式——启动后台服务器,返回会话信息
anycap annotate <target> --no-wait [-o output.png]
anycap annotate <target> --no-wait [-o output.png]
Poll for result after human confirms done
人类确认完成后轮询结果
anycap annotate poll --session <session_id>
anycap annotate poll --session <session_id>
Stop background server
停止后台服务器
anycap annotate stop --session <session_id>
anycap annotate stop --session <session_id>
List all active sessions (useful for recovery after context loss)
列出所有活跃会话(上下文丢失后恢复时有用)
anycap annotate list
`<target>` is auto-detected by content: image file, URL (`http://` or `https://`), video file, or audio file.anycap annotate list
`<target>`会自动识别内容类型:图像文件、URL(`http://`或`https://`)、视频文件或音频文件。Key Flags
关键参数
| Flag | Description |
|---|---|
| Non-blocking mode (recommended for agents) |
| Save annotated image to this path |
| Bind to a fixed port (default: random) |
| Bind address (default: |
Tip: Use with a consistent value (e.g., ) across sessions. The browser stores each user's display name in localStorage, which is scoped by origin (host + port). A fixed port means returning collaborators are recognized automatically without re-entering their name.
--port--port 8888| 参数 | 描述 |
|---|---|
| 非阻塞模式(推荐Agent使用) |
| 将标注后的图像保存至指定路径 |
| 绑定固定端口(默认:随机端口) |
| 绑定地址(默认: |
提示: 在会话中使用固定端口(例如)。浏览器会在localStorage中存储每个用户的显示名称,其作用域为源(主机+端口)。固定端口意味着返回的协作者会被自动识别,无需重新输入名称。
--port 8888Browser Auto-Open
浏览器自动打开
Both blocking and non-blocking modes automatically attempt to open the annotation URL in the default browser. In headless environments (SSH, container), the CLI prints the URL to stderr instead. No error is raised.
阻塞和非阻塞模式都会自动尝试在默认浏览器中打开标注URL。在无头环境(SSH、容器)中,CLI会将URL打印到stderr,不会抛出错误。
Presenting to the Human -- Guidelines
向人类展示的指南
When presenting an annotation session to the human, adapt your message based on context. Key points to communicate:
- Browser auto-open: On desktop, the page opens automatically -- acknowledge this ("the review page should already be open"). In headless/SSH, share the URL and tell them how to access it.
- Always mention Done: Tell the human to click Done when finished. This is how feedback gets saved.
- Recording for URL mode: Emphasize recording (Rec button) because URL mode cannot export an annotated screenshot. The recording is the primary artifact.
- Multi-user: If multiple reviewers will participate, mention real-time collaboration and that each person can save independently. Exception: URL/iframe mode is single-user (recording is the primary feedback artifact, and multiple users' cursors would make it confusing).
- Headless access: When using , share the URL with the actual host IP. If behind SSH, suggest port forwarding.
--bind 0.0.0.0 - What to annotate: Briefly describe what tools are available (Rect, Arrow, Point, Freehand) and that each annotation can have a text label.
Do NOT use canned messages. Compose naturally based on the situation (what you just generated/modified, whether it is desktop or headless, single or multi-reviewer).
向人类展示标注会话时,请根据上下文调整信息。需要传达的关键点:
- 浏览器自动打开:在桌面端,页面会自动打开——请告知用户(“评审页面应该已经打开”)。在无头/SSH环境中,请分享URL并说明访问方式。
- 务必提及“完成”按钮:告诉人类完成后点击完成按钮,这是保存反馈的方式。
- URL模式的录制:强调录制(Rec按钮),因为URL模式无法导出标注后的截图,录制是核心产出物。
- 多用户场景:如果有多位评审者参与,请提及实时协作,且每个人可独立保存反馈。例外:URL/iframe模式仅支持单用户(录制是核心反馈产出物,多用户的光标会使录制内容混乱)。
- 无头环境访问:使用时,请分享服务器实际IP的URL。如果在SSH环境下,建议使用端口转发。
--bind 0.0.0.0 - 标注内容说明:简要介绍可用工具(矩形、箭头、点、自由手绘),以及每个标注可添加文本标签。
请勿使用固定话术,请根据实际情况自然组织语言(例如你刚生成/修改的内容、是桌面还是无头环境、单评审者还是多评审者)。
Headless / Remote Access
无头/远程访问
When running in a headless environment (SSH, container, cloud VM), the human cannot access directly. Use and to make the annotation server accessible:
127.0.0.1--bind--portbash
undefined在无头环境(SSH、容器、云虚拟机)中,人类无法直接访问。请使用和使标注服务器可访问:
127.0.0.1--bind--portbash
undefinedBind to all interfaces on a fixed port
绑定到所有接口并使用固定端口
anycap annotate screenshot.png --no-wait --bind 0.0.0.0 --port 8888
The human can then access the annotation UI via:
- **Direct access:** `http://<server-ip>:8888` (if the port is exposed)
- **SSH port forward:** `ssh -L 8888:localhost:8888 user@host`, then open `http://localhost:8888`
- **Container port mapping:** `docker run -p 8888:8888 ...`, then open `http://localhost:8888`
- **Reverse proxy:** expose through nginx, Caddy, or any reverse proxy with a path prefix
Always use `--port` with a fixed number in headless environments so the URL is predictable and forwardable.anycap annotate screenshot.png --no-wait --bind 0.0.0.0 --port 8888
人类可通过以下方式访问标注UI:
- **直接访问:** `http://<server-ip>:8888`(端口已暴露的情况下)
- **SSH端口转发:** `ssh -L 8888:localhost:8888 user@host`,然后打开`http://localhost:8888`
- **容器端口映射:** `docker run -p 8888:8888 ...`,然后打开`http://localhost:8888`
- **反向代理:** 通过nginx、Caddy或任何带路径前缀的反向代理暴露服务
在无头环境中请务必使用固定端口,以便URL可预测且可转发。Reverse Proxy Compatibility
反向代理兼容性
The annotation UI works behind reverse proxies with arbitrary path prefixes. All asset, API, and WebSocket URLs are resolved relative to the page URL, so setups like the following work out of the box:
https://yourserver.com/tools/annotate/ -> http://localhost:8888/If your proxy passes query parameters (e.g., for access control), they are preserved on all internal requests automatically. No additional configuration is needed on the annotation server side.
?token=...标注UI可在带任意路径前缀的反向代理后正常工作。所有资源、API和WebSocket URL都会相对于页面URL解析,因此如下配置可直接生效:
https://yourserver.com/tools/annotate/ -> http://localhost:8888/如果你的代理传递查询参数(例如用于访问控制的),这些参数会自动保留在所有内部请求中。标注服务器端无需额外配置。
?token=...When to Use Annotation
何时使用标注功能
Use annotation when:
- You generated an image/video and need the human to point at what to change
- You built or modified a web page and need the human to review it visually
- You need spatially-grounded feedback ("move this here", "this area is wrong")
- Text-only feedback would be ambiguous about location or visual details
- You want the human to record a narrated walkthrough of their feedback
Do NOT use annotation when:
- You only need a yes/no approval (just ask in chat)
- The feedback is purely textual (e.g., "change the title text to X")
在以下场景使用标注:
- 你生成了图像/视频,需要人类指出需要修改的地方
- 你构建或修改了网页,需要人类进行可视化评审
- 你需要空间关联的反馈(“把这个移到这里”、“这个区域有问题”)
- 纯文本反馈会在位置或视觉细节上产生歧义
- 你希望人类录制带旁白的反馈讲解
请勿在以下场景使用标注:
- 你只需要是/否的批准(直接在聊天中询问即可)
- 反馈完全是文本形式(例如“将标题文本改为X”)
Interaction Pattern
交互模式
All annotation workflows follow this pattern:
mermaid
sequenceDiagram
participant Agent
participant CLI as AnyCap CLI
participant Human
Agent->>CLI: anycap annotate <target> --no-wait
CLI-->>Agent: {session, url, session_file, poll_command, stop_command}
Agent->>Human: Present URL with guidance
Human->>Human: Annotate, record, click Done
Human->>Agent: Confirms done
Agent->>CLI: poll_command
CLI-->>Agent: Annotations + recording
Agent->>Agent: Process feedback
Agent->>CLI: stop_command所有标注工作流程都遵循以下模式:
mermaid
sequenceDiagram
participant Agent
participant CLI as AnyCap CLI
participant Human
Agent->>CLI: anycap annotate <target> --no-wait
CLI-->>Agent: {session, url, session_file, poll_command, stop_command}
Agent->>Human: Present URL with guidance
Human->>Human: Annotate, record, click Done
Human->>Agent: Confirms done
Agent->>CLI: poll_command
CLI-->>Agent: Annotations + recording
Agent->>Agent: Process feedback
Agent->>CLI: stop_commandThe "Done" Button
“完成”按钮
The human clicks Done in the annotation toolbar to save their feedback. The behavior differs by mode:
- Blocking mode (no ): Clicking Done ends the session. The CLI command returns immediately with the result. In collaborative modes (image, video, audio), other connected users see a "Feedback Submitted" overlay.
--no-wait - Non-blocking mode (): Clicking Done saves the feedback without ending the session. In collaborative modes, other users see a toast notification and can keep annotating. Each subsequent Done click overwrites the saved result. The agent polls to retrieve the latest saved state.
--no-wait
For agents: Always tell the human to click Done when they are finished. In non-blocking mode with multiple reviewers (image/video/audio only), each reviewer can save independently -- the poll result reflects the most recent save.
人类点击标注工具栏中的完成按钮保存反馈。不同模式下的行为有所不同:
- 阻塞模式(无):点击“完成”会结束会话。CLI命令立即返回结果。在协作模式(图像、视频、音频)中,其他连接的用户会看到“反馈已提交”的覆盖层。
--no-wait - 非阻塞模式():点击“完成”会保存反馈但不会结束会话。在协作模式中,其他用户会收到提示通知并可继续标注。后续每次点击“完成”都会覆盖已保存的结果。Agent通过轮询获取最新的保存状态。
--no-wait
对于Agent: 务必告诉人类完成后点击完成按钮。在非阻塞模式且有多评审者的场景(仅图像/视频/音频模式),每位评审者可独立保存反馈——轮询结果会反映最近一次保存的状态。
Session Recovery
会话恢复
Session state is persisted at in the working directory (returned as in the start response). If you lose the session ID or commands after a context reset:
.anycap/annotate/<session_id>.jsonsession_filebash
undefined会话状态会保存在工作目录下的文件中(启动响应中会返回字段)。如果上下文重置后丢失了会话ID或命令:
.anycap/annotate/<session_id>.jsonsession_filebash
undefinedList all sessions with their status and recovery commands
列出所有会话及其状态和恢复命令
anycap annotate list
The `list` output includes `poll_command` and `stop_command` for each session, so you can resume without manually reading session files.
---anycap annotate list
`list`输出包含每个会话的`poll_command`和`stop_command`,因此你无需手动读取会话文件即可恢复会话。
---Scenario 1: URL / Web Page Review
场景1:URL/网页评审
Use when you built or modified a web page, UI, or any browser-accessible content and need the human to review it visually.
URL mode is single-user. Recording is the primary feedback artifact (cross-origin iframe prevents annotated screenshot export). Multiple users' cursors and annotations would make the recording confusing. The client name tag and peers indicator are hidden. Only one person should review a URL session at a time.
Why recording matters: Unlike image mode, URL mode cannot export an annotated screenshot (cross-origin iframe restriction). The screen recording with narration is the primary feedback artifact. The human browses your page inside the annotation frame, draws annotations on top, and records a narrated walkthrough -- you get both the visual markups and a video of exactly what they saw and said.
适用于你构建或修改了网页、UI或任何可通过浏览器访问的内容,需要人类进行可视化评审的场景。
URL模式仅支持单用户。 录制是核心反馈产出物(跨域iframe限制了标注截图的导出)。多用户的光标和标注会使录制内容混乱。客户端名称标签和同行指示器会被隐藏。一次URL会话仅应由一人评审。
录制的重要性: 与图像模式不同,URL模式无法导出标注后的截图(跨域iframe限制)。带语音旁白的屏幕录制是核心反馈产出物。人类在标注框架内浏览你的页面,在上方绘制标注,并录制带旁白的讲解——你会同时获得视觉标记和他们所见所说的视频内容。
Start the Session
启动会话
bash
undefinedbash
undefinedLocal dev server
本地开发服务器
anycap annotate http://localhost:3000 --no-wait
anycap annotate http://localhost:3000 --no-wait
Live URL
在线URL
anycap annotate https://staging.example.com --no-wait
undefinedanycap annotate https://staging.example.com --no-wait
undefinedCollect and Analyze Feedback
收集并分析反馈
bash
undefinedbash
undefinedPoll for result
轮询结果
anycap annotate poll --session <session_id>
anycap annotate poll --session <session_id>
Check if recording exists
检查是否存在录制文件
RECORDING=$(anycap annotate poll --session <session_id> | jq -r '.recording // empty')
RECORDING=$(anycap annotate poll --session <session_id> | jq -r '.recording // empty')
Analyze the recording with AI video understanding
使用AI视频理解分析录制内容
if [ -n "$RECORDING" ]; then
anycap actions video-read --file "$RECORDING"
--instruction "List all issues the user pointed out. For each issue, describe what they are looking at, what is wrong, and what they want changed. Include timestamps." fi
--instruction "List all issues the user pointed out. For each issue, describe what they are looking at, what is wrong, and what they want changed. Include timestamps." fi
if [ -n "$RECORDING" ]; then
anycap actions video-read --file "$RECORDING"
--instruction "列出用户指出的所有问题。对于每个问题,描述他们查看的内容、存在的问题以及想要的修改。包含时间戳。" fi
--instruction "列出用户指出的所有问题。对于每个问题,描述他们查看的内容、存在的问题以及想要的修改。包含时间戳。" fi
Also read text annotations
同时读取文本标注
anycap annotate poll --session <session_id>
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
anycap annotate poll --session <session_id>
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
Clean up
清理会话
anycap annotate stop --session <session_id>
> **Recording may be empty.** The Rec button uses the browser's `getDisplayMedia` API, which requires the user to grant screen-sharing permission. If the user declines the permission prompt or never clicks Rec, the `recording` field will be absent from the poll result. Always check for its existence before attempting video-read. Text annotations are still available regardless.anycap annotate stop --session <session_id>
> **录制文件可能为空。** Rec按钮使用浏览器的`getDisplayMedia` API,需要用户授予屏幕共享权限。如果用户拒绝权限提示或从未点击Rec,轮询结果中会缺少`recording`字段。在尝试video-read之前,请务必检查其是否存在。无论如何,文本标注始终可用。Applying URL Feedback -- Iterative Review
应用URL反馈——迭代评审
URL review feedback typically maps to code changes, not image generation. After analyzing the recording and annotations:
- Identify which files need changes based on the visual feedback
- Make the code changes
- Stop the previous session
- Start a new annotation session for the human to verify
Each round of changes requires a fresh session because the URL content has changed:
bash
undefinedURL评审反馈通常对应代码修改,而非图像生成。分析录制内容和标注后:
- 根据视觉反馈确定需要修改的文件
- 进行代码修改
- 停止之前的会话
- 启动新的标注会话供人类验证
每一轮修改都需要新的会话,因为URL内容已更改:
bash
undefinedRound 1: Initial review
第一轮:初始评审
anycap annotate http://localhost:3000 --no-wait
anycap annotate http://localhost:3000 --no-wait
... human reviews, you poll and analyze ...
... 人类评审,你轮询并分析 ...
anycap annotate stop --session <session_1>
anycap annotate stop --session <session_1>
Apply code changes based on feedback
根据反馈进行代码修改
... edit files ...
... 编辑文件 ...
Round 2: Verification review
第二轮:验证评审
anycap annotate http://localhost:3000 --no-wait
anycap annotate http://localhost:3000 --no-wait
... human confirms or gives more feedback ...
... 人类确认或提供更多反馈 ...
anycap annotate stop --session <session_2>
Version your rounds in your messages so the human can track progress ("Round 2: I addressed issues #1 and #3 from your first review").anycap annotate stop --session <session_2>
在消息中标注轮次,以便人类跟踪进度(“第二轮:我已处理你第一次评审中的问题#1和#3”)。Recording Analysis Patterns
录制内容分析模式
The recording is a video captured from the browser tab, including annotations being drawn and voice narration. Use to analyze it:
.webmanycap actions video-readbash
undefined录制内容是从浏览器标签捕获的视频,包含绘制的标注和语音旁白。使用进行分析:
.webmanycap actions video-readbash
undefinedGeneral feedback extraction
提取通用反馈
anycap actions video-read --file <recording_path>
--instruction "List all issues and desired changes the user described"
--instruction "List all issues and desired changes the user described"
anycap actions video-read --file <recording_path>
--instruction "列出用户描述的所有问题和所需修改"
--instruction "列出用户描述的所有问题和所需修改"
UI-specific review
UI专项评审
anycap actions video-read --file <recording_path>
--instruction "For each UI element the user points at, describe the current state and the desired change"
--instruction "For each UI element the user points at, describe the current state and the desired change"
anycap actions video-read --file <recording_path>
--instruction "对于用户指向的每个UI元素,描述当前状态和所需修改"
--instruction "对于用户指向的每个UI元素,描述当前状态和所需修改"
Prioritized feedback
优先级分类反馈
anycap actions video-read --file <recording_path>
--instruction "Categorize the user's feedback by priority (critical, important, nice-to-have)"
--instruction "Categorize the user's feedback by priority (critical, important, nice-to-have)"
---anycap actions video-read --file <recording_path>
--instruction "按优先级(关键、重要、锦上添花)对用户反馈进行分类"
--instruction "按优先级(关键、重要、锦上添花)对用户反馈进行分类"
---Scenario 2: Image Collaborative Review
场景2:图像协作评审
Use when you generated an image and need one or more humans to mark desired changes. This scenario shines with real-time multi-user collaboration -- multiple reviewers can open the same URL and annotate simultaneously, seeing each other's cursors and drawings in real-time.
Note: Multi-user collaboration is available for image, video, and audio modes. URL/iframe mode is single-user only.
For the complete image-to-image refinement loop (generate -> annotate -> edit -> iterate), read the skill.
anycap-media-production适用于你生成了图像,需要一位或多位人类标记所需修改的场景。该场景的优势在于实时多用户协作——多位评审者可打开同一个URL并同时标注,实时看到彼此的光标和绘图。
注意: 多用户协作适用于图像、视频和音频模式。URL/iframe模式仅支持单用户。
如需完整的图像到图像优化循环(生成→标注→编辑→迭代),请阅读技能。
anycap-media-productionStart the Session
启动会话
bash
undefinedbash
undefinedSingle reviewer
单评审者
anycap annotate hero-banner.png --no-wait -o hero-banner-annotated.png
anycap annotate hero-banner.png --no-wait -o hero-banner-annotated.png
Multi-user review -- bind to network so teammates can join
多用户评审——绑定到网络以便团队成员加入
anycap annotate hero-banner.png --no-wait -o hero-banner-annotated.png
--bind 0.0.0.0 --port 8888
--bind 0.0.0.0 --port 8888
undefinedanycap annotate hero-banner.png --no-wait -o hero-banner-annotated.png
--bind 0.0.0.0 --port 8888
--bind 0.0.0.0 --port 8888
undefinedCollect and Use Feedback
收集并使用反馈
bash
undefinedbash
undefinedPoll for result
轮询结果
anycap annotate poll --session <session_id>
anycap annotate poll --session <session_id>
Extract annotation labels for image-to-image prompt
提取标注标签用于图像到图像生成的提示词
anycap annotate poll --session <session_id>
| jq -r '[.annotations[] | select(.label != "") | "#(.id): (.label)"] | join(". ")'
| jq -r '[.annotations[] | select(.label != "") | "#(.id): (.label)"] | join(". ")'
anycap annotate poll --session <session_id>
| jq -r '[.annotations[] | select(.label != "") | "#(.id): (.label)"] | join(". ")'
| jq -r '[.annotations[] | select(.label != "") | "#(.id): (.label)"] | join(". ")'
Apply changes via image-to-image
通过图像到图像生成应用修改
anycap image generate
--prompt "<annotations as prompt>. Keep all other elements unchanged."
--model <model-id>
--mode image-to-image
--param images=./hero-banner-annotated.png
-o hero-banner-v2.png
--prompt "<annotations as prompt>. Keep all other elements unchanged."
--model <model-id>
--mode image-to-image
--param images=./hero-banner-annotated.png
-o hero-banner-v2.png
anycap image generate
--prompt "<标注内容作为提示词>. 保持所有其他元素不变。"
--model <model-id>
--mode image-to-image
--param images=./hero-banner-annotated.png
-o hero-banner-v2.png
--prompt "<标注内容作为提示词>. 保持所有其他元素不变。"
--model <model-id>
--mode image-to-image
--param images=./hero-banner-annotated.png
-o hero-banner-v2.png
Clean up
清理会话
anycap annotate stop --session <session_id>
---anycap annotate stop --session <session_id>
---Other Media Types
其他媒体类型
Video Review
视频评审
Use when you generated a video or need the human to review video content. The human can pause the video at any frame and annotate it. The annotated image output is a snapshot of the paused frame with all annotations composited on top.
适用于你生成了视频或需要人类评审视频内容的场景。人类可随时暂停视频并对当前帧进行标注。标注后的图像输出是暂停帧与所有标注合成的快照。
Start
启动会话
bash
anycap annotate output.mp4 --no-waitTell the human to pause at key moments, draw annotations on the frame, optionally record with narration, and click Done when finished.
bash
anycap annotate output.mp4 --no-wait告诉人类在关键时刻暂停视频,在帧上绘制标注,可选择录制旁白,完成后点击“完成”按钮。
Collect and Analyze
收集并分析
bash
undefinedbash
undefinedPoll for result
轮询结果
anycap annotate poll --session <session_id>
anycap annotate poll --session <session_id>
The annotated_image is a snapshot of the paused frame with annotations
annotated_image是带标注的暂停帧快照
Read the annotations for spatial feedback on that frame
读取标注以获取该帧的空间反馈
anycap annotate poll --session <session_id>
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
anycap annotate poll --session <session_id>
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
If recording exists, analyze it for time-specific feedback
如果存在录制文件,分析时间相关的反馈
RECORDING=$(anycap annotate poll --session <session_id> | jq -r '.recording // empty')
if [ -n "$RECORDING" ]; then
anycap actions video-read --file "$RECORDING"
--instruction "What feedback did the user give about the video? For each issue, note the timestamp in the original video, what is wrong, and what they want changed." fi
--instruction "What feedback did the user give about the video? For each issue, note the timestamp in the original video, what is wrong, and what they want changed." fi
RECORDING=$(anycap annotate poll --session <session_id> | jq -r '.recording // empty')
if [ -n "$RECORDING" ]; then
anycap actions video-read --file "$RECORDING"
--instruction "用户对视频提出了哪些反馈?对于每个问题,记录原视频中的时间戳、存在的问题以及所需修改。" fi
--instruction "用户对视频提出了哪些反馈?对于每个问题,记录原视频中的时间戳、存在的问题以及所需修改。" fi
Clean up
清理会话
anycap annotate stop --session <session_id>
Video feedback typically maps to regeneration with an adjusted prompt, or specific frame-level edits if the model supports it.anycap annotate stop --session <session_id>
视频反馈通常对应调整提示词后的重新生成,或如果模型支持的话,进行特定帧的编辑。Audio Review
音频评审
Use when you generated music or audio and need the human to provide feedback. The human sees an audio player with a drawing canvas below it.
适用于你生成了音乐或音频,需要人类提供反馈的场景。人类会看到一个音频播放器,下方有绘图画布。
Start
启动会话
bash
anycap annotate track.mp3 --no-waitTell the human to play the audio, draw annotations on the canvas to mark time regions or sections, add labels describing desired changes, and click Done when finished.
bash
anycap annotate track.mp3 --no-wait告诉人类播放音频,在画布上绘制标注以标记时间区域或片段,添加描述所需修改的标签,完成后点击“完成”按钮。
Collect and Analyze
收集并分析
bash
undefinedbash
undefinedPoll for result
轮询结果
anycap annotate poll --session <session_id>
anycap annotate poll --session <session_id>
Read annotation labels -- these describe desired audio changes
读取标注标签——这些标签描述了所需的音频修改
anycap annotate poll --session <session_id>
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
anycap annotate poll --session <session_id>
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
| jq -r '.annotations[] | "#(.id) [(.type)]: (.label)"'
If recording exists, analyze the narrated feedback
如果存在录制文件,分析旁白反馈
RECORDING=$(anycap annotate poll --session <session_id> | jq -r '.recording // empty')
if [ -n "$RECORDING" ]; then
anycap actions video-read --file "$RECORDING"
--instruction "What audio changes did the user request? Note any specific time ranges or sections they mentioned." fi
--instruction "What audio changes did the user request? Note any specific time ranges or sections they mentioned." fi
RECORDING=$(anycap annotate poll --session <session_id> | jq -r '.recording // empty')
if [ -n "$RECORDING" ]; then
anycap actions video-read --file "$RECORDING"
--instruction "用户请求了哪些音频修改?记录他们提到的任何特定时间范围或片段。" fi
--instruction "用户请求了哪些音频修改?记录他们提到的任何特定时间范围或片段。" fi
Clean up
清理会话
anycap annotate stop --session <session_id>
Audio feedback typically results in re-generation with an adjusted prompt rather than spatial edits.
---anycap annotate stop --session <session_id>
音频反馈通常会导致调整提示词后的重新生成,而非空间编辑。
---Iterative Review Loop
迭代评审循环
For complex tasks, iterate:
mermaid
graph TD
A[Agent produces work] --> B[Start annotation session]
B --> C[Human reviews and annotates]
C --> D[Agent collects feedback]
D --> E[Agent applies changes]
E --> F{More changes needed?}
F -->|Yes| B
F -->|No| G[Deliver final result]Tips for iteration:
- Version your outputs (,
v1,v2) so the human can comparev3 - Reference previous feedback in your changes ("Addressed #1 from previous review: ...")
- After 2-3 rounds, summarize all changes made to confirm nothing was missed
对于复杂任务,请进行迭代:
mermaid
graph TD
A[Agent产出成果] --> B[启动标注会话]
B --> C[人类评审并标注]
C --> D[Agent收集反馈]
D --> E[Agent应用修改]
E --> F{需要更多修改?}
F -->|是| B
F -->|否| G[交付最终成果]迭代技巧:
- 对输出进行版本标记(、
v1、v2),以便人类进行对比v3 - 在修改中参考之前的反馈(“已处理上一轮评审中的问题#1:...”)
- 2-3轮迭代后,总结所有已做修改,确认没有遗漏
Choosing the Right Scenario
选择合适的场景
| Situation | Scenario | Why |
|---|---|---|
| Built/modified a web page | URL Review (single-user) | Recording captures browsing, scrolling, and narrated feedback |
| Local dev server needs review | URL Review (single-user) | Same as above -- use |
| Generated image needs edits | Image Review | Annotated image feeds directly into image-to-image editing |
| Team needs to review a design | Image Review (multi-user) | Everyone annotates together, all feedback in one place |
| Design critique with stakeholders | Image Review (multi-user) | Real-time cursors and annotations keep everyone aligned |
| Generated video needs feedback | Video Review | Pause at key moments to annotate specific frames |
| Music/audio needs feedback | Audio Review | Annotate the canvas to mark time regions |
| Need to create/iterate on diagrams | Use | Interactive whiteboard with Mermaid input, agent can push updates |
| Architecture chart needs human input | Use | Collaborative Excalidraw editor with real-time sync |
| 情况 | 场景 | 原因 |
|---|---|---|
| 构建/修改了网页 | URL评审(单用户) | 录制可捕获浏览、滚动和旁白反馈 |
| 本地开发服务器需要评审 | URL评审(单用户) | 同上——使用 |
| 生成的图像需要编辑 | 图像评审 | 标注后的图像可直接用于图像到图像编辑 |
| 团队需要评审设计稿 | 图像评审(多用户) | 所有人可同时标注,所有反馈集中一处 |
| 与利益相关者进行设计评审 | 图像评审(多用户) | 实时光标和标注确保所有人保持一致 |
| 生成的视频需要反馈 | 视频评审 | 在关键时刻暂停以标注特定帧 |
| 音乐/音频需要反馈 | 音频评审 | 在画布上标注以标记时间区域 |
| 需要创建/迭代图表 | 使用 | 支持Mermaid输入的交互式白板,Agent可推送更新 |
| 架构图需要人类输入 | 使用 | 支持实时同步的协作Excalidraw编辑器 |