Built-ins

web Plugin

详细说明 web 内建 plugin 如何注入联网方法论,并通过 install action 准备联网相关 skill / CLI 依赖

web Plugin

web 是一个很薄的 system text plugin。

它主要做两件事:

  • 向 agent 注入联网研究、网页阅读、浏览器操作的通用方法论
  • 通过 install action 准备 web-accessagent-browser 等联网相关 skill / CLI 依赖

它不负责:

  • 选择 provider
  • 决定运行时默认使用哪个联网实现
  • 执行真实网页搜索或浏览器操作
  • 保存项目级 web 配置

它到底做什么

web 会在 agent 组装 system prompt 时追加一段方法论文本。

这段文本告诉 agent:

  • 不要假设某个联网工具一定存在
  • 先查看当前可用 tools、skills 和上下文
  • 搜索、抓取、浏览器、登录态任务应该分别怎么选路径
  • 调研结论优先回到一手来源核实
  • 缺少必要联网能力时要直接说明,不要假装已经联网

所以它的角色不是“联网执行器”,而是“联网任务心智层”。

install action 做什么

install 是 setup action,只负责准备能力,不代表 agent 运行时必须使用某个 provider。

await agent.plugins.runAction({
  plugin: "web",
  action: "install",
  payload: {
    target: "agent-browser",
    scope: "user",
  },
});

可选 target

  • web-access:安装 web-access skill,默认值
  • agent-browser:安装 agent-browser skill,并准备 agent-browser CLI 包
  • all:同时准备以上能力

可选 scope

  • user:安装到用户级 skill / 全局 CLI,默认值
  • project:安装到当前项目级 skill / devDependency

和具体联网能力的关系

具体联网能力来自当前 agent 环境里的 tools、skills 或其他 plugin。

例如:

  • 有搜索或 fetch 工具时,agent 可以用它们做公开网页检索与读取。
  • 有 browser、Chrome、agent-browser 或 computer-use 能力时,agent 可以处理动态页面、登录态页面和真实浏览器交互。
  • web-access 类 skill 时,agent 可以按该 skill 的说明执行联网搜索、网页抓取和资料核实。

web 本身不决定使用哪一个。选择发生在 agent 执行任务时,由当前可用能力和用户目标共同决定。

它使用了哪些 plugin 能力

web 用到了:

  • actions
  • setup
  • system

它没有使用:

  • config
  • usage
  • availability
  • hooks
  • runtime HTTP

这也是它现在最干净的地方:prompt 负责方法论,install 只负责准备依赖,不把 provider 选择、项目配置和真实联网执行混在一起。

在 SDK 里怎么挂载

import { Agent } from "@downcity/agent";
import { WebPlugin } from "@downcity/plugins";

const agent = new Agent({
  id: "research-agent",
  path: "/path/to/project",
  tools: {},
  plugins: [new WebPlugin()],
});

挂载后,WebPlugin.system() 返回的方法论会自动进入 agent 的 plugin system prompt。

如何调用

web 只有一个 action:install

await agent.plugins.runAction({
  plugin: "web",
  action: "install",
  payload: {
    target: "web-access",
    scope: "user",
  },
});

正确理解是:

  • new WebPlugin() 负责把联网方法论放进 agent system prompt
  • web.install 负责准备联网相关 skill / CLI 依赖
  • agent 执行时根据当前 tools / skills 决定具体联网路径
  • 真实搜索、抓取、点击和浏览器操作仍由具体 tool / skill 执行

自然边界

web 不读取或写入项目配置文件。

如果你需要让 agent 拥有某个具体联网能力,应在 agent 环境中显式提供对应 tool、skill 或 plugin,而不是把它塞进 web

什么时候使用它

适合:

  • agent 经常需要联网研究、网页阅读或浏览器操作
  • 你希望 agent 在使用联网能力前先做路径判断
  • 你已经通过 tools、skills 或其他 plugin 提供了真实联网能力

不适合:

  • 你想让它切换运行时默认 provider
  • 你想让它直接执行网页搜索或浏览器点击
  • 你想把联网配置持久化到项目配置里

相关文档