Craft Agent v0.6.0 实战指南:内置浏览器、文档工具与多面板分支工作流
2026/9/17 7:36:36 网站建设 项目流程

Craft Agent v0.6.0 实战指南:内置浏览器、文档工具与多面板分支工作流

【免费下载链接】craft-agents-oss项目地址: https://gitcode.com/GitHub_Trending/cr/craft-agents-oss

Craft Agent v0.6.0 是一次以“内置能力”为核心的大版本升级:Agent 不再依赖外部浏览器扩展或 Python 文档处理包,而是直接内置了完整的浏览器自动化能力与全套文档处理工具,同时引入会话分支与多面板布局,让多任务并行与结果对比成为日常操作。本文以官方发布说明为主线,结合仓库源码逐项拆解这些能力的真实实现与实战用法,读完你既能掌握browser_tool的命令全集,也能理解文档工具链与特权审批机制的底层设计。


集成浏览器:从“打开网页”到“端到端自动化”

v0.6.0 最核心的变化是:Craft Agent 拥有了完整的内置浏览器——无需安装扩展、无需外部工具,Agent 可以在应用内部直接浏览网页、填写表单、提取数据并截屏。

发布说明概括了四个关键特性:

  • 应用内浏览器面板—— 浏览器窗口以面板形式与对话并排打开,你可以实时观察 Agent 的导航过程;
  • 特权执行审批—— 敏感浏览器操作需要显式批准,用户始终掌握控制权;
  • 智能截图—— 默认使用 JPEG 格式,配合正确的 DPI 缩放,更快、更小;
  • 完整 CLI 命令集—— 导航、点击、填写、滚动、截屏、执行 JS、管理下载等一应俱全。

从源码看browser_tool的命令全集

在源码中,浏览器能力被封装为单一的会话级工具browser_tool,其完整命令说明位于 browser-tools.ts。这是一个 CLI 风格的工具:支持字符串模式(可用分号批量执行,如fill @e1 value; fill @e2 value; click @e3)与数组模式(保留原始参数中的分号、制表符与换行,推荐用于evaluatepaste这类含特殊字符的场景)。

从工具描述与BrowserPaneFns接口(browser-tools.ts)可以归纳出完整的命令矩阵:

类别命令说明
生命周期open/focus/windows/release/close/hide打开新窗口、聚焦已有窗口、列出窗口、释放控制、关闭/隐藏窗口
导航navigate <url>/back/forward跳转与前进后退
元素交互snapshot/find <关键词>/click @eN/click-at x y/drag x1 y1 x2 y2/fill @eN value/type text/select @eN value/upload @eN <file>基于可访问性树的@eN元素引用进行定位与操作
键盘与剪贴板key <key>/set-clipboard/get-clipboard/paste发送按键、读写剪贴板、模拟 Ctrl/Cmd+V
截图screenshot/screenshot --annotated/screenshot-region ...整页截图;--annotated会在交互元素上叠加@eN标签;区域截图支持坐标、--ref @eN--selector三种定位方式
页面诊断console [n] [level]/network [n] [status]/wait network-idle控制台日志、网络请求日志、等待网络空闲
执行evaluate <js>在页面上下文中执行 JavaScript
窗口管理window-resize 1440 900调整视口尺寸(响应式调试常用)
下载downloads list/downloads wait <ms>列出或等待下载完成

值得注意的是,截图参数(browser-tools.ts)明确支持format: 'png' | 'jpeg'jpegQuality,而browser-pane-manager.ts中截图实现同样维护了 PNG/JPEG 双格式支持(见 browser-pane-manager.ts),这正是发布说明中“JPEG 默认、更快更小的截图”的技术落点。会话结束后,工具描述会提示 Agent 调用close关闭窗口或release释放覆盖层,把浏览控制权交还给用户。

特权执行审批:控制权在用户手中

“敏感浏览器操作需要显式批准”的实现主体是 privileged-execution-broker.ts。从源码看,该模块承担三项职责:

  1. 审批绑定:为每次特权请求生成requestId,对命令做 SHA-256 哈希(commandHash),批准时校验哈希一致,防止请求被篡改;
  2. TTL 过期:默认审批有效期DEFAULT_APPROVAL_TTL_SECONDS = 120秒(privileged-execution-broker.ts),超时自动拒绝;
  3. 策略与审计:内置白名单策略(当前仅放行brew install/upgrade --caskinstaller -pkg ... -target /类命令,见 privileged-execution-broker.ts),所有请求创建、批准、拒绝、过期、哈希不匹配事件都会追加写入审计日志~/.craft-agent/logs/privileged-actions.jsonl

也就是说,敏感操作会经历“策略预检 → 用户审批(带过期时间)→ 哈希校验 → 审计落盘”的完整链路,任何一步不通过都不会执行。

端到端自动化场景

内置浏览器真正的价值在于打通“数据”与“行动”之间的最后一环。官方示例是:从 Amplitude 拉取本周指标 → 在内网工具中填写周报表单 → 把摘要发布到 Slack。整个过程无需人工介入,浏览器面板可以实时展示每一步的导航、填写与提交。


文档工具:告别pip install python-docx

v0.6.0 内置了整套文档处理工具,覆盖 PDF、Word、Excel、PowerPoint、图片与日历文件,无需任何 Python 包或外部依赖。

发布说明列出的八个工具在系统提示词中有完整的命令示例,见 system.ts:

工具用途示例
markitdown通用文档转 Markdown(docx/xlsx/pptx/pdf/html/ipynb)markitdown report.docx
pdf-tool提取文本、合并、拆分、查看信息pdf-tool extract report.pdf
xlsx-tool读写与导出 Excelxlsx-tool read data.xlsx
docx-tool创建与编辑 Worddocx-tool create output.docx --title "Report"
pptx-tool查看与处理 PowerPointpptx-tool info presentation.pptx
img-tool缩放、转换格式、提取元数据img-tool resize photo.jpg --width 800
doc-diff并排对比两份文档doc-diff old.docx new.docx
ical-tool读取与解析日历文件ical-tool read calendar.ics

所有工具都支持--help查看完整用法,并支持-o <file>将输出写入文件而非标准输出。系统提示词还给出了两条实用建议(system.ts):

  • markitdown 当作万能转换器,它覆盖.docx.xlsx.pptx.pdf.html.ipynb等格式;
  • 当 Read 工具读取二进制文件(如.docx.xlsx)失败时,用markitdown <file>转成可读文本再继续。

源码中的文件类型映射

在 claude-agent.ts 中可以看到各扩展名对应的推荐处理工具:.pdfmarkitdown or pdf-tool extract.docxmarkitdown.xlsxmarkitdown or xlsx-tool read.pptxmarkitdown or pptx-tool extract.doc/.xls/.ppt以及邮件格式.msg/.eml/.rtf则统一交给markitdown。这解释了为什么“读取二进制文件”在 v0.6.0 中不再是障碍——文件上传读取链路会对 Office 扩展名走 base64 读取并交由 markitdown 转换(见 files.ts)。

典型工作流

官方给出的组合示例极具代表性:从 Google Drive 下载最新报告 → 用 markitdown/xlsx-tool 提取数据表格 → 为每条行动项创建一条 Linear issue。相比以往先要“装 pandas”、再写脚本解析,如今一句话即可完成整条数据流水线。


分支与多面板:并行探索,不再怕走错路

工作区现在支持会话分支多面板同时查看

  • 会话分支(Session branching)—— 在对话的任意节点分叉,并行探索不同方案,原对话线程不受影响;
  • 多面板视图(Multi-panel view)—— 浏览器、文档、对话并排展示;
  • 新会话列表设计—— 会话管理更清晰、更有序。

实际用法:并行对比两种实现策略、写代码时旁边常驻浏览器面板、并排比较两份输出。分支的意义在于——永远不必担心“走错了路”,分支重试即可。这一能力与上一节的浏览器、文档工具形成配合:你可以同时开着浏览器面板观察 Agent 操作、打开文档面板查看处理结果,再回到对话继续调整指令。


模型更新

  • Sonnet 4.6—— 所有 Sonnet 4.5 连接自动迁移到 Sonnet 4.6;
  • Copilot 模型匹配—— 修复了 GitHub Copilot 连接的模型 ID 解析问题;
  • 连接兼容性—— 修复anthropic_compat连接拒绝裸模型名(bare model names)的问题。

这些修复都属于连接层(llm-connections、模型解析模块)的兼容性收尾,目的是让不同来源的模型连接都能稳定解析并执行会话。


改进

v0.6.0 还包含一批面向安全、稳定性与可发现性的改进:

  • 探索模式安全基线—— 默认白名单在原有只读搜索命令基础上,新增常见 typecheck 命令(bun run typechecktsc --noEmit等),降低开发者在探索模式下的摩擦;
  • 会话工具可靠性—— 统一了 Claude、Pi、session-mcp-server 各后端的工具列表与执行逻辑,防止漂移;
  • 权限模式处理—— 改进权限模式切换时的会话状态跟踪;
  • 工作区作用域—— source 与 skill 的广播消息现在限定在活动工作区内,避免跨工作区干扰;
  • 自动化可发现性—— 空自动化状态页新增 “Learn More” 与 “Add Automation” 入口,并在 Help 菜单补充链接;
  • 特性开关健壮性—— 运行时安全求值,避免调试会话中的导入顺序问题;
  • 类型检查覆盖——typecheck:all现在包含session-tools-core包。

其中“统一各后端工具列表与执行逻辑”在仓库中有对应佐证:session-tools-core的 handlers 目录(handlers)承载了配置校验、模板渲染、脚本沙箱、状态/标签管理等会话级工具定义,是各后端工具对齐的公共底座。


Bug 修复

  • 超大图片—— 防止超大图片永久性破坏会话;
  • 图片缩放—— 强化了图片缩放的错误作用域与元数据剥离;
  • 工具输入历史—— 从会话历史展示中剥离_displayName/_intent元数据;
  • 窗口拖拽区—— 修复 TopBar 拖拽区域;
  • 日志噪音—— 清理调试日志,将readFile的 ENOENT 降级为 debug 级别;
  • 重复模型—— 修复连接迁移过程中的重复模型条目;
  • Git Bash(Windows)—— 修复自 v0.5.0 起被跳过的 onboarding 检查。

_displayName/_intent正是系统提示词中规定的所有 MCP 工具必填元数据字段(见 system.ts),本次修复确保这些用于 UI 反馈与结果摘要的元数据不再污染会话历史本身。


小结

v0.6.0 通过内置浏览器、内置文档工具、分支与多面板三大支柱,把 Craft Agent 从“能聊、能读”推进到“能看、能操作、能并行”的完整自动化 Agent:浏览器面板解决了 Agent 与现实网页的交互问题,markitdown 等文档工具消灭了环境依赖,分支与多面板则让复杂任务的多路并行成为可能。三者叠加,端到端工作流(拉数据 → 处理文档 → 填写表单 → 汇总发布)真正做到了开箱即用。

如果你想深入源码验证,推荐从这三处入手:命令全集看 browser-tools.ts、审批与审计机制看 privileged-execution-broker.ts、文档工具的系统级命令说明看 system.ts。

【免费下载链接】craft-agents-oss项目地址: https://gitcode.com/GitHub_Trending/cr/craft-agents-oss

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询