# 软件能被 API 驱动，网页也能吗？

> source: 想法/草稿/软件能被API驱动-网页也能吗.md

> 引用块是作者原话，逐字；其余是 AI 整理。

## 问题

> 一些软件或应用在内部控件中可以用代码的方式控制，比如提供接受某个事件或进行某操作的按钮的API，这样只需要请求API就可以自动化了而不需要手动进行操作，这种模式有没有一个正式的名称？

> 既然软件可以这样，是否在浏览器上运行的网页或服务也可以支持此类模式？

## 为什么值得想

Agent 替人上网的时候，它是在「看」网页、去点按钮，还是直接调用网页提供的接口？如果网页本身就是一组可调用的操作，人和 Agent 用的就是同一套东西。

## 走到了哪

ChatGPT 当时的回答（AI 的话，摘要）：

- 没有唯一的正式名称。常见的叫法有 API-based automation、programmatic control、Automation API、scriptable application。
- 网页可以分几层做：后端公开 REST / GraphQL；前端在 `window` 上挂 JavaScript 方法；再不行就用浏览器自动化，模拟点击。

四个月后，作者自己的网站走上了这条路：网站做成一个终端，导航、搜索、打开文章、放音乐，每个操作都是一条命令。

## 转折

问题从「这种模式叫什么名字」，变成了「我自己的网站就这么做」。按钮只是命令的一种显示方式。

## 还没想通的

- 网站上的命令现在只能在页面里敲。要不要把同一套命令开放成 HTTP 接口，让 Agent 不用打开页面就能调？
- 浏览器那边有没有一个标准，让网页声明「我能做这些事」，Agent 读一下就知道怎么调？还是每个网站各做各的？
- 如果所有操作都能被调用，哪些不该开放给 Agent？
