Built-ins
web Plugin
详细说明 web 内建 plugin 如何注入联网方法论,并通过 install action 准备联网相关 skill / CLI 依赖
web Plugin
web 是一个很薄的 system text plugin。
它主要做两件事:
- 向 agent 注入联网研究、网页阅读、浏览器操作的通用方法论
- 通过
installaction 准备web-access、agent-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-browserCLI 包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 用到了:
actionssetupsystem
它没有使用:
configusageavailability- 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 promptweb.install负责准备联网相关 skill / CLI 依赖- agent 执行时根据当前 tools / skills 决定具体联网路径
- 真实搜索、抓取、点击和浏览器操作仍由具体 tool / skill 执行
自然边界
web 不读取或写入项目配置文件。
如果你需要让 agent 拥有某个具体联网能力,应在 agent 环境中显式提供对应 tool、skill 或 plugin,而不是把它塞进 web。
什么时候使用它
适合:
- agent 经常需要联网研究、网页阅读或浏览器操作
- 你希望 agent 在使用联网能力前先做路径判断
- 你已经通过 tools、skills 或其他 plugin 提供了真实联网能力
不适合:
- 你想让它切换运行时默认 provider
- 你想让它直接执行网页搜索或浏览器点击
- 你想把联网配置持久化到项目配置里