@djangocfg/ widget- agent
经纪人需要看到一个应用软件 并采取行动, 加上那些放一个 API,一个请求,一个日志或屏幕上的环境.
两个有不同重量的一半:
- 仪器 —— 说
page-snapshot作为紧凑树并抓取页面 LLM 能读;browser-bridge从那张快照上取回裁判 位于、聚焦或滚动到活元素的模型点;page-copilot电线 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}去聊天和开门 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}在页面上可以做什么 没有观众,没有重 依赖, 以及所有31个测试套房的位置. - 查看器 ——开发者数据表面.
openapi独自携带一个 采样器,一个HTTP客户端和一个商店.
安装
pnpm add @djangocfg/widget-agent
端点 : react 19号, react-dom 19号, @djangocfg/ui-core, (中文(简体) ), lucide-react, (中文(简体) ),
zustand。 。 。 .
导入子路径
| 子路径 | 这是什么 |
|---|---|
./page-snapshot | 将页面作为国家技术服务小组、编辑和参考登记册 |
./browser-bridge | 解决对元素的对比; 突出显示、 聚焦、 滚动 |
./page-copilot | 包裹一个聊天适配器,使每个转弯都带有页面,并打开它所建议的动作 |
./openapi | OpenapiViewer,懒惰——一个有请求游乐场的图谋浏览器 |
./request-viewer | 一个HTTP交换机、信头和机体 |
./api-ref-table | 作为表格的结束点 |
./log-viewer | 虚拟日志流, 懒惰 |
./log-viewer/full | 同样的,渴望 |
./env-table | 环境变量,隐藏值 |
import { PageSnapshotProvider } from '@djangocfg/widget-agent/page-snapshot';
import { HighlightOverlay } from '@djangocfg/widget-agent/browser-bridge';
往返
capture page-snapshot assigns @e1, @e2, … to interactive nodes and keeps a
ref → element registry
↓ snapshot travels with the request
model may answer with a directive: point at @e4
↓ directive arrives on the client
bridge resolve @e4 → element, draw the spotlight, optionally focus
默认只读. A 类 point 指令突出显示、焦点或滚动.
它从不键入,点击或更改用户的数据.
fill 财务报告和审定财务报表 click 做改变,所以他们来到 作为提议:a data 编
与 kind: 'ui-action' 作为一张牌 与批准和跳过
只在“批准”上进入页面。 被告在当时被重新解决了
页面在代理提议和用户读取之间移动
结果approved, (中文(简体) ), rejected, (中文(简体) ), stale, (中文(简体) ), not-visible, (中文(简体) ), expired报告)
回到一次,因为一个没有答案的特工 重新提出.
这两个模块保持独立: browser-bridge 取决于结构
RefResolver 接口,而不是在捕获引擎上,所以也可以单独使用.
挂载副驾驶
3个钩子,聊天没有变化——它没有新的道具,没有能力和 没有导入.
const copilot = usePageCopilot(adapter); // page rides every turn
const queue = useProposals( // the gate
snapshot.sentSnapshot?.refs ?? null, // the SENT registry
copilot.reportResult,
);
const renderers = {
data: createActionRenderer({ queue, fallback: DataRenderer }),
};
有两件事是错的
- 决断者一定是
sentSnapshot.refs从来没有最新的捕捉. 科技委 校对是位置式的,所以稍后的抓取会重新编号@e1决定 与指定代理人不同的元素. fallback在实践中不是可选的. 登记册发送日期:part.type因此,一个渲染器拥有每个数据部分; 注册我们的,没有 授权空白每个媒体屏蔽已绘制的聊天内容 .
Widgets/Agent/PageCopilot Live 是这个线,运行.
分裂也贯穿了依赖
@djangocfg/widget-code 财务报告和审定财务报表 @djangocfg/widget-data 从
仅查看者——9个文件,全部在 openapi/ 财务报告和审定财务报表 request-viewer/,用于
语法强调,标记下和一棵JSON树. 没有 page-snapshot 或者说
browser-bridge 触摸它们, 这使得仪器的一半
完全无法浏览的页面中可用 .
修补行动是抓捕的一部分 而不是之后的一步
一个快照离开用户的浏览器. page-snapshot/redaction 运行于
行走——图案、高压和Luhn卡号码检查——有自己的
审计套房。 到达序列器的未编辑值已经离开 .
测试
pnpm --filter @djangocfg/widget-agent check-types test
22个套房:抓取行走、预算、范围界定和折叠;科技委序列化; 校正登记和定位器; 悬浮; 每一层 反应提供商和芯片;和重叠的回转分辨率.