跳到主要内容

v1.4 — Agent 智能助手

测试阶段

v1.4 目前仍处于测试阶段,以下功能和 API 可能会在正式发布前进行调整。欢迎试用并反馈问题。

v1.4 是脚本猫的一次重大更新,引入了全新的 Agent 智能助手系统,让用户可以通过自然语言对话来自动化浏览器操作、提取网页数据、管理文件和执行定时任务。

Agent 聊天

在管理页面新增了 Agent 聊天入口,支持与 AI 模型进行多轮对话:

  • 流式输出 — 实时显示 AI 回复,支持思考过程(Thinking)展开/折叠
  • 多模态输入 — 支持发送文本、图片、文件等附件
  • 工具调用可视化 — 每次工具调用在聊天界面中展示状态和结果
  • 消息编辑重发 — 可以编辑已发送的消息重新生成回复
  • 对话命令 — 支持 /new(新建会话)、/reset(重置)、/compact(压缩上下文)等命令
  • 临时会话 — 脚本可创建不持久化的临时对话
  • 子代理 — 可生成独立的子代理处理复杂子任务

多模型支持

支持同时配置多个 AI 模型 Provider:

  • OpenAI 兼容格式 — GPT-4o、DeepSeek 等兼容 OpenAI API 的模型
  • Anthropic 原生格式 — Claude 系列模型,支持 Prompt Caching
  • 模型能力标记 — 可手动标记视觉输入和图片生成能力
  • Provider 图标识别 — 根据 API 地址自动识别 Provider 类型
  • 自定义 max_tokens — 支持为每个模型单独设置最大输出长度

11 个内置工具

Agent 内置了丰富的工具,AI 可以根据对话自动调用:

网页操作

  • web_fetch — 抓取网页内容,支持 HTML 转文本和 LLM 摘要
  • web_search — 多搜索引擎支持(Bing、百度、DuckDuckGo、Google Custom Search)
  • get_tab_content — 读取当前页面渲染后的结构化内容
  • list_tabs / open_tab / close_tab / activate_tab — 浏览器标签页管理

文件系统(OPFS)

  • opfs_write — 写入文件到工作区(支持文本、Blob、data URL 二进制)
  • opfs_read — 读取文件内容(文本或 blob URL)
  • opfs_list — 列出目录内容
  • opfs_delete — 删除文件或目录

其他

  • ask_user — 向用户发起结构化提问(单选/多选/自由输入)
  • execute_script — 在页面或沙箱中执行 JavaScript 代码
  • agent(子代理) — 生成独立的子代理处理子任务

Skill 系统

Skill 是提示词 + 工具脚本 + 参考资料的组合能力包,可以扩展 Agent 的专业领域知识:

  • SKILL.md 声明 — 通过 YAML frontmatter 定义名称、描述和配置字段
  • SkillScript — 使用 ==SkillScript== 元数据声明参数化脚本,可作为 LLM 工具调用
  • 参考资料 — 附带文档/数据文件作为 AI 参考上下文
  • ZIP 包安装 — 支持通过 ZIP 包拖拽安装或 URL 安装
  • 配置系统 — Skill 可声明配置字段(文本、数字、开关、选项),运行时通过 CAT_CONFIG 注入
  • 三层渐进加载 — 系统提示词只注入摘要,按需加载完整提示词和工具

MCP 集成

支持 Model Context Protocol 开放协议,可连接外部工具服务器:

  • Streamable HTTP 传输 — 基于 JSON-RPC 2.0 的标准 HTTP 通信
  • 工具发现 — 自动发现 MCP 服务器提供的工具并注册到 Agent
  • 资源读取 — 支持读取 MCP 服务器提供的文本/二进制资源
  • 提示词模板 — 获取和实例化 MCP 服务器的提示词模板
  • 管理界面 — 添加/删除服务器、测试连接、浏览可用工具和资源

定时任务

支持基于 Cron 表达式的定时任务调度:

Internal 模式

  • Agent 自动创建/恢复会话,按照配置的提示词调用 LLM
  • 可选择模型和要加载的 Skill
  • 记录执行历史和用量统计

Event 模式

  • Cron 触发时发送事件通知
  • 用户脚本通过 CAT.agent.task.addListener 监听事件并自定义处理

DOM 自动化

Agent 具备完整的浏览器页面操控能力:

  • navigate — 导航到指定 URL
  • readPage — 读取页面内容为结构化 HTML
  • screenshot — 截图(支持区域截图、全页截图、保存到 OPFS)
  • click / fill — 点击元素和填充表单
  • scroll / waitFor — 页面滚动和等待元素出现
  • executeScript — 在 MAIN 或 ISOLATED 环境执行 JavaScript
  • DOM 监控 — 通过 CDP 监控页面对话框和 DOM 变化

脚本 API(CAT.agent.*)

用户脚本可以通过新增的 CAT.agent.* 命名空间调用 Agent 能力:

  • CAT.agent.conversation — 创建对话、发送消息、流式接收回复
  • CAT.agent.dom — 页面导航、截图、点击、填充、滚动等 DOM 操作
  • CAT.agent.skills — 查询/安装/卸载 Skill 包
  • CAT.agent.task — 创建/管理定时任务、监听任务事件
  • CAT.agent.model — 查询已配置的模型列表(只读,不暴露 API Key)
  • CAT.agent.opfs — 读写 OPFS 工作区文件
  • CAT.agent.mcp — 管理 MCP 服务器连接和调用

每个 API 需要通过 @grant 声明对应权限,例如 @grant CAT.agent.conversation

UI 管理页面

新增 6 个管理页面:

页面功能
聊天对话列表、消息流、工具调用展示、附件预览
模型配置添加/编辑 Provider 和模型、测试连接
Skill 管理安装/编辑/卸载 Skill 包、配置参数
定时任务创建 Cron 任务、查看执行历史
MCP 服务器管理 MCP 连接、浏览工具和资源
OPFS 浏览器浏览/上传/下载/删除工作区文件

搜索引擎配置

在 Agent 设置页面中可以配置 web_search 工具使用的搜索引擎:

  • Bing — 需要 Bing Search API Key
  • 百度 — 使用百度搜索(无需 API Key)
  • DuckDuckGo — 默认搜索引擎
  • Google Custom Search — 需要 API Key 和 Search Engine ID

上下文管理

  • Auto-compact — 当上下文使用超过 80% 时自动压缩历史消息
  • 手动 /compact — 随时手动触发上下文压缩
  • Prompt Caching — 支持 Anthropic 和 OpenAI 的提示词缓存,减少 Token 消耗