用途:为 Amp 网页版、iOS 与 macOS 应用构建个人客户端插件,运行在已登录用户页面而非执行器,具备 DOM 与认证网络访问(含应用暴露的原生桥),非沙箱环境,应将其整体视为可信代码。
主要能力:通过客户端 API 修改侧边栏 orb 颜色等客户端行为。默认导出接收 API 版本 1,可异步并返回清理函数。API 含 sidebar.setOrbColorRule 与 amp.jev。orbColors 为默认调色板数组,目前含 blue、purple、pink、red、orange、yellow、green、cyan。规则接收含 id、title、project、agentMode、isRunning、hasError、isUnread 的线程快照,可返回命名色、六位十六进制色或 null。
使用方式:运行 amp plugins repositories 选择可写的 User Plugins 仓库,工作目录为 ~/.cache/amp/repositories/<host>-user-plugins。将浏览器可执行 JavaScript 写入 client/index.mjs,须为单个自包含 ES 模块(不超过 2 MiB),Amp 原样提供该文件;若使用 TypeScript 或依赖,需在发布前自行打包。源码放 client/src/,勿将浏览器代码放 client/index.ts 或 client/index.js。提交源码与产物,经用户授权后推送。发布后让用户重载应用。
限制:客户端插件 API 与执行器插件 API 分开,勿用 @ampcode/plugin、load_plugin、reload_plugins 或 .amp/plugins/ 安装。Amp 不在服务端编译、装包或运行构建脚本,不提供其他仓库文件作为模块。目标为 Safari 17+。无实时替换,语法或运行时错误不回滚,需发布修正或回退。用 ?client-plugins=off 跳过加载,?client-plugins=on 恢复。Jev 请求每用户每分钟 20 次,请求最多 20 个问题、64 KiB JSON,20 秒超时,字符串状态限 50,000 字符,指令与标准各限 10,000 字符。发布前须测试确定性规则、异步规则与清理逻辑。