Loading...
Loading...
通过inference.sh为AI Agent实现浏览器自动化。可浏览网页、使用@e引用与页面元素交互、截取屏幕截图、录制视频。功能包括:网页爬取、表单填写、点击操作、文本输入、拖拽、文件上传、JavaScript执行。适用场景:网页自动化、数据提取、测试、Agent网页浏览、科研。触发关键词:浏览器、网页自动化、爬取、导航、点击、表单填写、截图、网页浏览、Playwright、无头浏览器、Web Agent、上网、视频录制
npx skill4agent add inf-sh/skills agent-browser@e
# 安装CLI
curl -fsSL https://cli.inference.sh | sh && infsh login
# 打开页面并获取可交互元素
infsh app run agent-browser --function open --input '{"url": "https://example.com"}' --session new@e# 1. 启动会话
RESULT=$(infsh app run agent-browser --function open --session new --input '{
"url": "https://example.com/login"
}')
SESSION_ID=$(echo $RESULT | jq -r '.session_id')
# 元素:@e1 [input] "Email", @e2 [input] "Password", @e3 [button] "Sign In"
# 2. 填写并提交
infsh app run agent-browser --function interact --session $SESSION_ID --input '{
"action": "fill", "ref": "@e1", "text": "user@example.com"
}'
infsh app run agent-browser --function interact --session $SESSION_ID --input '{
"action": "fill", "ref": "@e2", "text": "password123"
}'
infsh app run agent-browser --function interact --session $SESSION_ID --input '{
"action": "click", "ref": "@e3"
}'
# 3. 导航后重新快照
infsh app run agent-browser --function snapshot --session $SESSION_ID --input '{}'
# 4. 完成后关闭
infsh app run agent-browser --function close --session $SESSION_ID --input '{}'| 函数 | 描述 |
|---|---|
| 导航至URL,配置浏览器(视口、代理、视频录制) |
| DOM变更后重新获取页面状态及 |
| 使用 |
| 截取页面截图(视口或整页) |
| 在页面中运行JavaScript代码 |
| 关闭会话,若开启录制则返回视频 |
| 操作 | 描述 | 必填字段 |
|---|---|---|
| 点击元素 | |
| 双击元素 | |
| 清空并输入文本 | |
| 输入文本(不清空原有内容) | |
| 按下按键(回车、制表符等) | |
| 选择下拉选项 | |
| 悬浮在元素上 | |
| 勾选复选框 | |
| 取消勾选复选框 | |
| 拖拽元素 | |
| 上传文件 | |
| 滚动页面 | |
| 返回历史页面 | - |
| 等待指定毫秒数 | |
| 导航至指定URL | |
@e@e1 [a] "Home" href="/"
@e2 [input type="text"] placeholder="Search"
@e3 [button] "Submit"
@e4 [select] "Choose option"
@e5 [input type="checkbox"] name="agree"# 启动会话并开启录制(可选择显示光标指示器)
SESSION=$(infsh app run agent-browser --function open --session new --input '{
"url": "https://example.com",
"record_video": true,
"show_cursor": true
}' | jq -r '.session_id')
# ... 执行操作 ...
# 关闭会话以获取视频文件
infsh app run agent-browser --function close --session $SESSION --input '{}'
# 返回结果:{"success": true, "video": <File>}infsh app run agent-browser --function open --session new --input '{
"url": "https://example.com",
"show_cursor": true,
"record_video": true
}'infsh app run agent-browser --function open --session new --input '{
"url": "https://example.com",
"proxy_url": "http://proxy.example.com:8080",
"proxy_username": "user",
"proxy_password": "pass"
}'infsh app run agent-browser --function interact --session $SESSION --input '{
"action": "upload",
"ref": "@e5",
"file_paths": ["/path/to/file.pdf"]
}'infsh app run agent-browser --function interact --session $SESSION --input '{
"action": "drag",
"ref": "@e1",
"target_ref": "@e2"
}'infsh app run agent-browser --function execute --session $SESSION --input '{
"code": "document.querySelectorAll(\"h2\").length"
}'
# 返回结果:{"result": "5", "screenshot": <File>}| 参考文档 | 描述 |
|---|---|
| references/commands.md | 包含所有选项的完整函数参考 |
| references/snapshot-refs.md | 引用生命周期、失效规则及故障排除 |
| references/session-management.md | 会话持久化、并行会话 |
| references/authentication.md | 登录流程、OAuth、双因素认证处理 |
| references/video-recording.md | 用于调试的录制工作流 |
| references/proxy-support.md | 代理配置、地域测试 |
| 模板 | 描述 |
|---|---|
| templates/form-automation.sh | 带验证的表单填写自动化 |
| templates/authenticated-session.sh | 一次登录,复用会话 |
| templates/capture-workflow.sh | 带截图的内容提取 |
SESSION=$(infsh app run agent-browser --function open --session new --input '{
"url": "https://example.com/contact"
}' | jq -r '.session_id')
# 获取元素:@e1 [input] "Name", @e2 [input] "Email", @e3 [textarea], @e4 [button] "Send"
infsh app run agent-browser --function interact --session $SESSION --input '{"action": "fill", "ref": "@e1", "text": "John Doe"}'
infsh app run agent-browser --function interact --session $SESSION --input '{"action": "fill", "ref": "@e2", "text": "john@example.com"}'
infsh app run agent-browser --function interact --session $SESSION --input '{"action": "fill", "ref": "@e3", "text": "Hello!"}'
infsh app run agent-browser --function interact --session $SESSION --input '{"action": "click", "ref": "@e4"}'
infsh app run agent-browser --function snapshot --session $SESSION --input '{}'
infsh app run agent-browser --function close --session $SESSION --input '{}'SESSION=$(infsh app run agent-browser --function open --session new --input '{
"url": "https://google.com"
}' | jq -r '.session_id')
infsh app run agent-browser --function interact --session $SESSION --input '{"action": "fill", "ref": "@e1", "text": "weather today"}'
infsh app run agent-browser --function interact --session $SESSION --input '{"action": "press", "text": "Enter"}'
infsh app run agent-browser --function interact --session $SESSION --input '{"action": "wait", "wait_ms": 2000}'
infsh app run agent-browser --function snapshot --session $SESSION --input '{}'
infsh app run agent-browser --function close --session $SESSION --input '{}'SESSION=$(infsh app run agent-browser --function open --session new --input '{
"url": "https://example.com",
"record_video": true
}' | jq -r '.session_id')
# 截取整页截图
infsh app run agent-browser --function screenshot --session $SESSION --input '{
"full_page": true
}'
# 关闭会话并获取视频
RESULT=$(infsh app run agent-browser --function close --session $SESSION --input '{}')
echo $RESULT | jq '.video'--session newsession_id# 网页搜索(用于科研+浏览)
npx skills add inference-sh/skills@web-search
# LLM模型(用于分析提取的内容)
npx skills add inference-sh/skills@llm-models