page-agent-sdk 2.35.0 → 2.37.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -3
- package/README.zh-CN.md +6 -3
- package/dist/page-agent-sdk.headless.js +9869 -0
- package/dist/page-agent-sdk.iife.js +230 -159
- package/dist/page-agent-sdk.js +18560 -18412
- package/dist/page-agent-sdk.umd.cjs +169 -98
- package/package.json +7 -2
- package/skills/html-builder/SKILL.md +51 -0
- package/skills/rag-search/SKILL.md +35 -0
- package/types/headless.d.ts +1390 -0
- package/types/index.d.ts +44 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "page-agent-sdk",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.37.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "AI agent SDK for web pages — embed a chat assistant that edits page data via schema-validated tools. A lighter, framework-agnostic alternative to CopilotKit/LangChain for in-page JSON-editing agents. Vue-bundled; works with DeepSeek, OpenAI, MCP.",
|
|
6
6
|
"main": "./dist/page-agent-sdk.umd.cjs",
|
|
@@ -29,6 +29,10 @@
|
|
|
29
29
|
"types": "./types/index.d.ts",
|
|
30
30
|
"import": "./dist/page-agent-sdk.js"
|
|
31
31
|
},
|
|
32
|
+
"./headless": {
|
|
33
|
+
"types": "./types/headless.d.ts",
|
|
34
|
+
"import": "./dist/page-agent-sdk.headless.js"
|
|
35
|
+
},
|
|
32
36
|
"./style.css": "./dist/style.css"
|
|
33
37
|
},
|
|
34
38
|
"files": [
|
|
@@ -42,8 +46,9 @@
|
|
|
42
46
|
"mcp:probe": "tsx scripts/mcp-probe.ts",
|
|
43
47
|
"proxy:mock": "tsx scripts/proxy-mock-server.ts",
|
|
44
48
|
"verify:probe": "tsx scripts/verify-probe.ts",
|
|
45
|
-
"build": "npm run build:lib && npm run build:iife",
|
|
49
|
+
"build": "npm run build:lib && npm run build:headless && npm run build:iife",
|
|
46
50
|
"build:lib": "vite build",
|
|
51
|
+
"build:headless": "vite build --config vite.headless.config.ts",
|
|
47
52
|
"build:iife": "vite build --config vite.iife.config.ts",
|
|
48
53
|
"preview": "vite preview",
|
|
49
54
|
"test": "tsx src/core/__tests__/selftest.ts",
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: html-builder
|
|
3
|
+
description: 纯代码组件(custom Vue SFC)生成规范——代码存 vfs+data 引用 / 何时写 / SFC 规范 / 安全底线 / props / 组件库引用 / 可访问性
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 纯代码组件生成规范
|
|
7
|
+
|
|
8
|
+
> 内置 skill(add-capability-packs)。createHtmlSubagent 默认装进 HTML 子 agent;亦可独立分发,集成方 `defineSkill` 自挂。
|
|
9
|
+
|
|
10
|
+
## 代码存储约定(重要)
|
|
11
|
+
|
|
12
|
+
- 代码正文写 vfs:`html/<name>.vue`(如 `html/hero.vue`)
|
|
13
|
+
- data 存引用:`{ type:'custom', codeRef:'vfs://html/<name>.vue', name, props }`
|
|
14
|
+
- 改代码:`vfs_edit` 改 vfs 文件(data 的 `codeRef` 引用不变,无需改 data)
|
|
15
|
+
- 渲染层(集成方契约):遇 `type:'custom'` 组件,读 `data.codeRef` → vfs 取 code → 渲染
|
|
16
|
+
|
|
17
|
+
## 何时写代码组件
|
|
18
|
+
|
|
19
|
+
- 组件库**无对应类型**(高度定制交互 / 一次性特效 / 特殊布局)→ 写 custom 代码组件
|
|
20
|
+
- 组件库**已有**(按钮 / 卡片 / 列表)→ 用现有组件配置,不重造
|
|
21
|
+
|
|
22
|
+
## Vue SFC 规范
|
|
23
|
+
|
|
24
|
+
- Vue 3 `<template>` + `<script setup>`(组合式)
|
|
25
|
+
- props 用 `defineProps`;事件用 `defineEmits`
|
|
26
|
+
- 只渲染 UI,不做副作用(不发请求 / 不读写 storage)
|
|
27
|
+
|
|
28
|
+
## props 定义
|
|
29
|
+
|
|
30
|
+
- 代码组件 `defineProps` 接受外部 data 传入(集成方渲染时按 data 的 `props` 字段传)
|
|
31
|
+
|
|
32
|
+
## 组件库引用
|
|
33
|
+
|
|
34
|
+
- 代码内可 import 组件库组件(如 `<Button>`);所用依赖以集成方渲染层已注入为准,不重复造
|
|
35
|
+
|
|
36
|
+
## 安全底线(必须)
|
|
37
|
+
|
|
38
|
+
- 禁 `eval` / `new Function` / `Function` 构造器
|
|
39
|
+
- 禁访问 window 敏感属性(`document.cookie` / `apiKey` / `token`)
|
|
40
|
+
- 不引入外部脚本 / CDN
|
|
41
|
+
|
|
42
|
+
## 可访问性 + 语义化
|
|
43
|
+
|
|
44
|
+
- 语义化标签(`button` / `nav` / `section`);图片 `alt`;交互可键盘聚焦
|
|
45
|
+
- 颜色对比达标;不只用颜色传达信息
|
|
46
|
+
|
|
47
|
+
## 提交策略
|
|
48
|
+
|
|
49
|
+
- 小段代码:`vfs_write` 整体写
|
|
50
|
+
- 大段代码:先 `vfs_write` 建骨架,再 `vfs_edit` 增量拼(避免单次输出超 max_tokens 截断)
|
|
51
|
+
- 删除组件:`vfs_rm` 删 vfs 代码 + `write` 移除 data 引用
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rag-search
|
|
3
|
+
description: 多源知识检索策略——vfs 预注入文档 / 语义检索 / 指定文档加载 / 公网,综合结构化结论 + 溯源
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 知识检索策略(RAG)
|
|
7
|
+
|
|
8
|
+
> 内置 skill(add-capability-packs)。createRagSubagent 默认装进 RAG 子 agent;亦可独立分发,集成方 `defineSkill` 自挂。
|
|
9
|
+
|
|
10
|
+
## 多源决策树
|
|
11
|
+
|
|
12
|
+
- **vfs_grep / vfs_read**:搜集成方预注入 vfs 的文档(组件文档 / UI 规范)—— 快、静态,先查
|
|
13
|
+
- **search_docs**:语义检索(retriever 向量库)—— 模糊匹配,关键词不确定 / 语义相似时用
|
|
14
|
+
- **load_doc**:按 source 精确加载(已知文档 id / URL / key)—— 精确取特定文档
|
|
15
|
+
- **fetch_document**:公网 URL —— 查公开资料
|
|
16
|
+
|
|
17
|
+
## 综合规范
|
|
18
|
+
|
|
19
|
+
- 多源交叉验证(关键结论优先 ≥2 源印证,或单一权威源)
|
|
20
|
+
- 标注来源(文档名 / URL / 段落),便于溯源
|
|
21
|
+
- 结构化、可执行结论(组件清单 + 各自 props 约束 + 适用场景),不堆原文
|
|
22
|
+
- 未检索到明确说「未检索到」,不编造;建议替代方案(改关键词 / 建议写代码组件等)
|
|
23
|
+
|
|
24
|
+
## 何时用何源
|
|
25
|
+
|
|
26
|
+
- 静态文档(组件库文档 / UI 规范):`vfs_grep`
|
|
27
|
+
- 语义相似(「瀑布流组件」「倒计时」「拼团」):`search_docs`
|
|
28
|
+
- 已知文档 id / URL:`load_doc`
|
|
29
|
+
- 公开 URL(设计规范网站 / 第三方文档):`fetch_document`
|
|
30
|
+
|
|
31
|
+
## 多轮检索
|
|
32
|
+
|
|
33
|
+
- 单源不够时换源或换关键词重试(如 `search_docs` 没命中 → `vfs_grep` 换词)
|
|
34
|
+
- 扩大 `topK` 增加召回(噪声多时收小)
|
|
35
|
+
- 检索充分即综合结论,不过度检索
|