@doubao-dev/cli 0.0.26 → 0.0.27

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.
Files changed (67) hide show
  1. package/dist/2168.js +14 -14
  2. package/dist/{2861.js → 2611.js} +2 -2
  3. package/dist/4931.js +1 -1
  4. package/dist/@byted-doubao-apps/template-empty/package.json +3 -3
  5. package/dist/@byted-doubao-apps/template-starter/package.json +3 -3
  6. package/dist/agentic-service.js +1 -0
  7. package/dist/assets/web-sdk-debugger/index.html +1 -1
  8. package/dist/assets/web-sdk-debugger/static/js/index.1448a806d8.js +26 -0
  9. package/dist/assets/web-sdk-debugger/wsd/doubao-apps-api.template.js +0 -0
  10. package/dist/assets/web-sdk-debugger/wsd/doubao-apps-framework.template.js +0 -0
  11. package/dist/check.js +1 -0
  12. package/dist/dbx.js +2 -2
  13. package/dist/demo-server.js +3 -3
  14. package/dist/demo.js +2 -0
  15. package/dist/dev-shell.js +1 -1
  16. package/dist/dev.js +5 -5
  17. package/dist/init.js +4 -4
  18. package/dist/ink.js +1 -1
  19. package/dist/login.js +1 -1
  20. package/dist/prompt.js +1 -1
  21. package/dist/run.js +2 -2
  22. package/dist/sdk.js +15 -15
  23. package/dist/sdk~1.js +5 -5
  24. package/dist/skill.js +1 -1
  25. package/dist/skills.js +1 -1
  26. package/dist/skills~2.js +2 -2
  27. package/dist/templates/README.md +1 -1
  28. package/dist/workspace.js +1 -1
  29. package/dist/yaml.js +1 -1
  30. package/package.json +2 -2
  31. package/skills/dbx-eval/SKILL.md +2 -2
  32. package/skills/doubao-agentic-service-development/SKILL.md +8 -8
  33. package/skills/doubao-agentic-service-development/references/auth.md +2 -2
  34. package/skills/doubao-agentic-service-development/references/business-template-debug.md +3 -3
  35. package/skills/doubao-agentic-service-development/references/dev-debug.md +2 -2
  36. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/01-/345/237/272/347/241/200.md +175 -15
  37. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/02-/347/263/273/347/273/237.md +3 -3
  38. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/03-/350/207/252/345/256/232/344/271/211/351/200/232/344/277/241.md +1 -1
  39. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/04-/345/256/232/344/275/215.md +1 -1
  40. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/08-/344/272/244/344/272/222.md +221 -7
  41. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/10-/347/275/221/347/273/234.md +20 -20
  42. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/11-/345/252/222/344/275/223.md +2 -2
  43. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/12-/344/270/232/345/212/241/350/203/275/345/212/233.md +3 -4
  44. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/16-/350/223/235/347/211/231.md +3 -3
  45. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/25-/346/227/240/351/232/234/347/242/215.md +1 -1
  46. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/26-/345/237/272/347/241/200/344/277/241/346/201/257.md +3 -3
  47. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/28-/345/211/252/350/264/264/346/235/277.md +2 -2
  48. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/32-/346/211/253/347/240/201.md +1 -1
  49. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/33-/345/261/217/345/271/225.md +1 -1
  50. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/34-/351/234/207/345/212/250.md +2 -2
  51. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/common-errors.md +1 -1
  52. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/groups.md +3 -3
  53. package/skills/doubao-agentic-service-development/references/frontend/doubao-agentic-service-api/quick-reference.md +7 -3
  54. package/skills/doubao-agentic-service-development/references/frontend-dev.md +3 -3
  55. package/skills/doubao-agentic-service-development/references/generate-skill.md +1 -1
  56. package/skills/doubao-agentic-service-development/references/local-debug/simulator-eval.md +26 -22
  57. package/skills/doubao-agentic-service-development/references/manifest-guide.md +3 -3
  58. package/skills/doubao-agentic-service-development/references/mcp-protocol.md +1 -1
  59. package/skills/doubao-agentic-service-development/references/overview.md +2 -3
  60. package/skills/doubao-agentic-service-development/references/service-notice.md +1 -3
  61. package/skills/doubao-agentic-service-development/references/task-management.md +1 -3
  62. package/dist/assets/web-sdk-debugger/static/js/index.b85cbec3be.js +0 -26
  63. package/dist/dbx-demo.js +0 -2
  64. package/dist/eval.js +0 -1
  65. package/dist/validate.js +0 -1
  66. /package/dist/{2861.js.LICENSE.txt → 2611.js.LICENSE.txt} +0 -0
  67. /package/dist/{6780.js → 4594.js} +0 -0
@@ -64,7 +64,7 @@ description: 豆包智能服务全链路开发指南。当用户需要从零开
64
64
 
65
65
  最终回复前检查交付边界;不要只写“已完成”“构建通过”或“未启动 dbx dev”。只要只完成局部前端、只做静态检查/build、缺能力入口、缺 `manifest.yaml` / 运行态 Skill / MCP / 真实 `app_key` / MCP endpoint,或未跑通 `dbx dev` / simulator,就要追加“下一步”。
66
66
 
67
- “下一步”用一两句自然语言说明当前验证范围,并只点名实际缺失或未验证的项;不要照抄完整清单,也不要用“这些”“等”“闭环”“真实应用配置”“项目配置”概括。Page 只有 `app.config.ts` 注册时,要说明当前只是前端 Page;若要从对话触达,还缺 Widget 出卡、`tool_card_binding` 和 Page 跳转。完整智能服务交付需要 `manifest.yaml`、运行态 Skill、MCP、真实 `app_key` 和 MCP endpoint;这些产物或配置就绪后,再把 `dbx app artifacts validate <manifest.yaml路径> --json` 和 `dbx dev --mcp-endpoint <mcp_endpoint>` 写成验证下一步;工具/出卡链路再按需用 `dbx simulator eval` 验证。
67
+ “下一步”用一两句自然语言说明当前验证范围,并只点名实际缺失或未验证的项;不要照抄完整清单,也不要用“这些”“等”“闭环”“真实应用配置”“项目配置”概括。Page 只有 `app.config.ts` 注册时,要说明当前只是前端 Page;若要从对话触达,还缺 Widget 出卡、`tool_card_binding` 和 Page 跳转。完整智能服务交付需要 `manifest.yaml`、运行态 Skill、MCP、真实 `app_key` 和 MCP endpoint;这些产物或配置就绪后,再把 `dbx check --file <manifest.yaml路径> --json` 和 `dbx dev --mcp-endpoint <mcp_endpoint>` 写成验证下一步;工具/出卡链路再按需用 `dbx check` 验证。
68
68
 
69
69
  ## 核心速查手册与代码模板 (Cheat Sheet)
70
70
 
@@ -73,7 +73,7 @@ description: 豆包智能服务全链路开发指南。当用户需要从零开
73
73
  #### 选择正确的调试命令
74
74
 
75
75
  - **`dbx dev`**:需要前台 REPL 或 Web 调试器时使用。默认只启动和使用 Web 调试能力;涉及 App 配置分流、路径、Manifest/Skill 加载、MCP endpoint 或 Web 模拟器排障时,读 [references/local-debug/overview.md](references/local-debug/overview.md)。
76
- - **`dbx simulator eval`**:需要验证 Skill / MCP / Manifest / `card_delta` 的后端链路时使用;它不验证前端视觉效果,具体读 [references/local-debug/simulator-eval.md](references/local-debug/simulator-eval.md)。
76
+ - **`dbx check`**:需要验证 Skill / MCP / Manifest / `card_delta` 的后端链路时使用;它不验证前端视觉效果,具体读 [`dbx check` 指南](references/local-debug/simulator-eval.md)。
77
77
 
78
78
  两者可以串联,但不要互相替代:先确认当前需要的是交互现场,还是后端协议链路。
79
79
 
@@ -108,15 +108,15 @@ dbx dev --mcp-endpoint <mcp_endpoint>
108
108
  默认直接运行 `dbx dev --mcp-endpoint <mcp_endpoint>`;只有默认解析失败时再补 `--manifest`、`--skill`。
109
109
  确实需要传路径参数时,优先使用绝对路径;相对路径会按当前目录解析。
110
110
 
111
- `dbx dev` 启动交互式调试控制台;返回 Web 调试地址时必须保留完整 query。出卡链路不确定时再用 `dbx simulator eval` 排查 MCP / Manifest / Skill / card_delta。
111
+ `dbx dev` 启动交互式调试控制台;返回 Web 调试地址时必须保留完整 query。出卡链路不确定时再用 `dbx check` 排查 MCP / Manifest / Skill / card_delta。
112
112
 
113
113
  `dbx dev` 已运行时,纯前端 Page / Widget / 样式改动不要重启工程;等待热更新后在 REPL 执行 `web` 刷新调试器。业务模板内容变化时先重新校验,再在 Web 调试面板点击“撤回并重建 session”;只刷新页面不会更新已有 Session。Manifest `app_key`、MCP endpoint、PPE 环境或路径等启动边界变化时才重启 `dbx dev`。
114
114
 
115
115
  ### 2. 高频 CLI 命令
116
116
  在开发排查过程中,最常用的 `dbx` 命令如下(执行操作时优先考虑):
117
- - **校验配置**:`dbx app artifacts validate <manifest.yaml路径> --json` (修改 `manifest.yaml` 后必须执行,检查格式是否合法)
118
- - **校验业务模板**:`dbx app artifacts validate <business-templates.yaml路径> --type business-templates --json`(修改业务模板后执行兼容校验;通知模板缺少非空 `brief` 时不得继续调试或上传)
119
- - **后端评测**:`dbx simulator eval` (测试 MCP 协议、验证大模型 Tool Call 与 `card_delta` 数据流)
117
+ - **校验配置**:`dbx check --file <manifest.yaml路径> --json` (修改 `manifest.yaml` 后必须执行,检查格式是否合法)
118
+ - **校验业务模板**:`dbx check --file <business-templates.yaml路径> --json`(修改业务模板后执行兼容校验;通知模板缺少非空 `brief` 时不得继续调试或上传)
119
+ - **后端评测**:`dbx check --query "<当前轮用户问题>"` (测试 MCP 协议、验证大模型 Tool Call 与 `card_delta` 数据流)
120
120
  - **本地 Web 调试**:`dbx dev --mcp-endpoint <mcp_endpoint>` (在 dbx 项目目录启动 REPL,默认只使用 Web 调试器)
121
121
  - **管理内置开发 skills**:`dbx skills sync` 同步内置开发 skills。
122
122
  - **UGC Bot 真机预览**:用户选择上传后扫码预览时,按构建上传流程生成版本,再通过版本详情页二维码和 UGC Bot 调试对话预览
@@ -201,7 +201,7 @@ tools:
201
201
 
202
202
  ### 5. MCP Server 实现规范(必须遵守)
203
203
 
204
- 开发 MCP Server 时,**必须**满足以下协议要求,否则 `dbx simulator eval` 会直接失败:
204
+ 开发 MCP Server 时,**必须**满足以下协议要求,否则 `dbx check` 会直接失败:
205
205
 
206
206
  **1. 必须实现标准 Streamable HTTP 协议:**
207
207
  - 提供 `/mcp` 端点,支持 POST 请求。
@@ -375,7 +375,7 @@ export default defineAppConfig({
375
375
  👉 **[Read `references/frontend/components/overview.md`](references/frontend/components/overview.md)**
376
376
 
377
377
  ### 9. 本地联调与评测
378
- 当卡片无法渲染、大模型未调用 Tool、或者 `dbx simulator eval` 报错时:
378
+ 当卡片无法渲染、大模型未调用 Tool、或者 `dbx check` 报错时:
379
379
  👉 **[Read `references/local-debug/overview.md`](references/local-debug/overview.md)**
380
380
  👉 **[Read `references/local-debug/simulator-eval.md`](references/local-debug/simulator-eval.md)**
381
381
 
@@ -190,7 +190,7 @@ tools:
190
190
  - `mcp_server.user_auth` 是 MCP Server 级配置,不写到单个 tool 下。
191
191
  - 单个 tool 是否要求登录由 `tools.<tool>.login_type` 决定。
192
192
  - `login_type: normal` 表示业务侧自定义登录态,当前平台校验不允许在该类型下填写 `login_params`。不要为了宿主手机号一键登录把 `login_params: [user_mobile]` 写到 `normal` tool 上;需要宿主手机号时由登录入口回调提供 `phone_code`。
193
- - `login_params` 只在平台校验允许的登录类型中使用;修改后必须执行 `dbx app artifacts validate <manifest.yaml路径> --json`,以 validator 结果为准。
193
+ - `login_params` 只在平台校验允许的登录类型中使用;修改后必须执行 `dbx check --file <manifest.yaml路径> --json`,以 validator 结果为准。
194
194
  - `fetch_token_url`、`refresh_token_url`、`delete_userinfo_url` 必须是稳定可访问的 HTTPS 地址;本地调试时可以使用 localhost。
195
195
  - FetchTokenURL 和 RefreshTokenURL 需要能被平台服务端按协议直接请求通过;如有额外鉴权要求,提前和平台确认。
196
196
  - 修改 Manifest 后重启本地调试器或重新构建,确保最新配置被平台读取。
@@ -510,7 +510,7 @@ dbx dev --mcp-endpoint http://127.0.0.1:<port>/mcp
510
510
 
511
511
  4. 使用 Web 调试器或真机触发需要登录的 tool,分别验证一键登录和自定义登录页的 UI、业务接口、`postLoginResult` 和后续 MCP 调用。
512
512
 
513
- 业务 Server、登录 callback、前端业务 API、Manifest 和 `--mcp-endpoint` 的地址与端口必须一致;本地 callback 可以通过调试 Bridge 联调,但业务 Server 必须持续运行。修改 `src/auth` 下的登录页代码后等待热更新并刷新 Web 调试器;只有路径、Manifest、运行态 Skill 或 MCP endpoint 变化时才重启 `dbx dev`。需要验证 Skill、Manifest、MCP 和出卡链路时,另行使用 `dbx simulator eval`。
513
+ 业务 Server、登录 callback、前端业务 API、Manifest 和 `--mcp-endpoint` 的地址与端口必须一致;本地 callback 可以通过调试 Bridge 联调,但业务 Server 必须持续运行。修改 `src/auth` 下的登录页代码后等待热更新并刷新 Web 调试器;只有路径、Manifest、运行态 Skill 或 MCP endpoint 变化时才重启 `dbx dev`。需要验证 Skill、Manifest、MCP 和出卡链路时,另行使用 `dbx check`。
514
514
 
515
515
  ## 隐私协议
516
516
 
@@ -28,7 +28,7 @@
28
28
  | 命令 | 项目参数 | Manifest / 模板默认位置 | 相对路径基准 |
29
29
  | --- | --- | --- | --- |
30
30
  | `dbx dev` | `--project-path`,默认当前目录 | Manifest 默认是 `<project>/manifest.yaml`;业务模板默认是**解析后的 Manifest 同目录**下的 `business-templates.yaml` | `--manifest`、`--skill` 相对 `--project-path` 解析 |
31
- | `dbx simulator eval` | `--project-path`,默认当前目录 | 默认读取项目目录下的 Manifest 和 Skill | 相对路径参数按 `--project-path` 解析 |
31
+ | `dbx check` | `--project-path`,默认当前目录 | 默认读取项目目录下的 Manifest 和 Skill | 相对路径参数按 `--project-path` 解析 |
32
32
  | `dbx app artifacts upload` | `--project`,默认当前目录 | 完整上传默认读取项目根目录的 `business-templates.yaml` | `--business-templates` 相对 `--project` 解析 |
33
33
 
34
34
  因此,使用自定义 Manifest 路径时必须显式对齐本地调试和完整上传。例如 Manifest 为 `configs/manifest.yaml`:
@@ -57,7 +57,7 @@ dbx app artifacts upload \
57
57
 
58
58
  | 校验 | 使用位置 | 含义 |
59
59
  | --- | --- | --- |
60
- | 兼容校验 | `dbx dev` 启动预检、`dbx app artifacts validate` | 尽早发现结构和兼容性问题,适合本地开发 |
60
+ | 兼容校验 | `dbx dev` 启动预检、`dbx check --file` | 尽早发现结构和兼容性问题,适合本地开发 |
61
61
  | 严格校验 | 模板单独同步、完整制品上传 | 正式进入平台模板同步前的最终门槛 |
62
62
 
63
63
  兼容校验通过不保证严格校验一定通过。正式上传失败时,应以严格校验返回的 `code`、`path` 和逐模板结果为准。
@@ -66,7 +66,7 @@ dbx app artifacts upload \
66
66
 
67
67
  - 模拟器调试中,创建 Sandbox Session 的请求会携带当前 Manifest 和可选 `business-templates.yaml`。已有 Session 不会因为只修改本地 YAML 就自动获得新模板;模板变化后应按 CLI 支持的流程重新创建 Session。
68
68
  - `dbx dev` 启动时会自动发现解析后 Manifest 同目录的可选 `business-templates.yaml`。文件存在时必须非空并通过兼容校验;文件不存在表示本次 Session 不配置业务模板。
69
- - `dbx dev` 的自动兼容校验只发生在启动预检阶段。启动后修改业务模板,再点击“撤回并重建 session”不会自动重新运行这次 CLI 校验;必须先手动执行 `dbx app artifacts validate <business-templates.yaml路径> --type business-templates --json`,再重建 Session。仅刷新 Web 页面或点击“刷新资源并重载卡片”也不会更新已有 Session。
69
+ - `dbx dev` 的自动兼容校验只发生在启动预检阶段。启动后修改业务模板,再点击“撤回并重建 session”不会自动重新运行这次 CLI 校验;必须先手动执行 `dbx check --file <business-templates.yaml路径> --json`,再重建 Session。仅刷新 Web 页面或点击“刷新资源并重载卡片”也不会更新已有 Session。
70
70
  - Sandbox Session 由 CLI/平台模拟器链路创建和管理。Agent 和业务代码都不得调用私有接口手工创建 Session,不得自行构造、替换或持久化 Sandbox Session 凭证。
71
71
  - 真机调试中,`business-templates.yaml` 必须跟随当前工具链要求与本次使用的 Manifest、前端资源及其它产物一起处理。只做模板单独同步,不能替代真机调试包上传。
72
72
  - Session 创建/重建不等于真机调试包上传;模拟器验证通过也不等于真机调试通过。报告结果时必须明确写“模拟器调试”或“真机调试”。
@@ -10,7 +10,7 @@
10
10
 
11
11
  “真机调试”专指本文的 `dbx dev` 设备连接与 Page / Widget 推送。产物上传并云构建后在版本详情页扫码、进入 UGC Bot 调试对话的流程称为“真机预览”,不属于本文。
12
12
 
13
- 门禁满足后,使用 `dbx dev` 前台 REPL 连接真机、打开 Page 或推送 Widget。本文流程不替代 `dbx simulator eval` 的 Skill / MCP / Manifest 链路验证。
13
+ 门禁满足后,使用 `dbx dev` 前台 REPL 连接真机、打开 Page 或推送 Widget。本文流程不替代 `dbx check` 的 Skill / MCP / Manifest 链路验证。
14
14
 
15
15
  如果项目存在 `business-templates.yaml`,先读 [业务模板调试边界](business-template-debug.md)。真机调试资源准备时,必须将它与当前 Manifest、前端资源及其它真机调试产物一起上传打包;不能复用模拟器创建 Sandbox Session 时的模板上传,也不能用 `--business-templates-only` 代替真机调试整包。
16
16
 
@@ -20,7 +20,7 @@
20
20
  | ------------------------------- | --------------------------------------------------- | -------------------------------------------- |
21
21
  | 真机打开指定页面 | 真机模式内执行 `page <page-url>` | 用户确认手机实际打开;CLI 仅证明请求已发送。 |
22
22
  | 真机推送卡片 | 真机模式内执行 `widget <widget-id> --data '<json>'` | 用户确认设备已显示并正确渲染。 |
23
- | Skill / MCP / Manifest 出卡链路 | 改用 `dbx simulator eval` | `Verdict: PASS`、tool report 与 card delta。 |
23
+ | Skill / MCP / Manifest 出卡链路 | 改用 `dbx check --query "<当前轮用户问题>"` | `Verdict: PASS`、tool report 与 card delta。 |
24
24
 
25
25
  不要把 `status: ok`、`page pushed` 或 `widget pushed` 描述成“设备已渲染成功”;它们最多证明 dev service 接收并派发了请求。
26
26
 
@@ -11,6 +11,8 @@
11
11
  | [getAccountInfo](#getaccountinfo) | 异步获取账号信息。 |
12
12
  | [getAccountInfoSync](#getaccountinfosync) | 同步获取账号信息。<br><br>同步 API。 |
13
13
  | [authorize](#authorize) | 提前向用户发起指定 scope 的授权;scope.healthData 仅用于选择 iOS HealthKit 系统授权路径。 |
14
+ | [arrayBufferToBase64](#arraybuffertobase64) | 将 ArrayBuffer 转换为 Base64 字符串。 |
15
+ | [base64ToArrayBuffer](#base64toarraybuffer) | 将 Base64 字符串转换为 ArrayBuffer。 |
14
16
  | [getPerformance](#getperformance) | 获取当前智能服务应用的性能数据。 Entry 由客户端保存;getEntries*() 同步查询当前快照,observer 只接收新完成的 Entry。 |
15
17
  | [getSetting](#getsetting) | 获取用户当前的应用授权设置。 |
16
18
  | [openSetting](#opensetting) | 打开智能服务授权设置页面。 |
@@ -90,10 +92,10 @@ console.log(result.miniProgram.appId, result.miniProgram.envVersion, result.mini
90
92
  <tr><th>名称</th><th>类型</th><th>必返</th><th>约束</th><th>说明</th></tr>
91
93
  </thead>
92
94
  <tbody>
93
- <tr><td><code>miniProgram</code></td><td><code>DoubaoAppAccountInfo</code></td><td>是</td><td>-</td><td>豆包 App 账号信息</td></tr>
94
- <tr><td><code>miniProgram.appId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>豆包 App appId</td></tr>
95
- <tr><td><code>miniProgram.envVersion</code></td><td><code>&quot;develop&quot; | &quot;trial&quot; | &quot;release&quot;</code></td><td>是</td><td>豆包 Android、iOS 当前只返回 develop 或 release,不会返回 trial</td><td>豆包 App 运行环境。<br><br>- develop:开发版<br>- trial:体验版<br>- release:正式版。Android、iOS:仅返回 develop 或 release,永远不会返回 trial。</td></tr>
96
- <tr><td><code>miniProgram.version</code></td><td><code>string</code></td><td>是</td><td>-</td><td>线上豆包 App 版本号。</td></tr>
95
+ <tr><td><code>miniProgram</code></td><td><code>DoubaoAppAccountInfo</code></td><td>是</td><td>-</td><td>智能服务账号信息</td></tr>
96
+ <tr><td><code>miniProgram.appId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>智能服务 appId</td></tr>
97
+ <tr><td><code>miniProgram.envVersion</code></td><td><code>&quot;develop&quot; | &quot;trial&quot; | &quot;release&quot;</code></td><td>是</td><td>Android、iOS 当前只返回 develop 或 release,不会返回 trial</td><td>当前智能服务的版本类型。<br><br>- develop:开发版<br>- trial:体验版<br>- release:正式版。Android、iOS:仅返回 develop 或 release,永远不会返回 trial。</td></tr>
98
+ <tr><td><code>miniProgram.version</code></td><td><code>string</code></td><td>是</td><td>-</td><td>智能服务版本号。</td></tr>
97
99
  <tr><td><code>plugin</code></td><td><code>PluginAccountInfo</code></td><td>否</td><td>-</td><td>插件账号信息(仅在插件中调用时包含)</td></tr>
98
100
  <tr><td><code>plugin.appId</code></td><td><code>string</code></td><td>否</td><td>-</td><td>插件 appId</td></tr>
99
101
  <tr><td><code>plugin.version</code></td><td><code>string</code></td><td>否</td><td>-</td><td>插件版本号,'a.b.c' 形式</td></tr>
@@ -202,10 +204,10 @@ console.log(result.miniProgram.appId, result.miniProgram.envVersion, result.mini
202
204
  <tr><th>名称</th><th>类型</th><th>必返</th><th>约束</th><th>说明</th></tr>
203
205
  </thead>
204
206
  <tbody>
205
- <tr><td><code>miniProgram</code></td><td><code>DoubaoAppAccountInfo</code></td><td>是</td><td>-</td><td>豆包 App 账号信息</td></tr>
206
- <tr><td><code>miniProgram.appId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>豆包 App appId</td></tr>
207
- <tr><td><code>miniProgram.envVersion</code></td><td><code>&quot;develop&quot; | &quot;trial&quot; | &quot;release&quot;</code></td><td>是</td><td>豆包 Android、iOS 当前只返回 develop 或 release,不会返回 trial</td><td>豆包 App 运行环境。<br><br>- develop:开发版<br>- trial:体验版<br>- release:正式版。Android、iOS:仅返回 develop 或 release,永远不会返回 trial。</td></tr>
208
- <tr><td><code>miniProgram.version</code></td><td><code>string</code></td><td>是</td><td>-</td><td>线上豆包 App 版本号。</td></tr>
207
+ <tr><td><code>miniProgram</code></td><td><code>DoubaoAppAccountInfo</code></td><td>是</td><td>-</td><td>智能服务账号信息</td></tr>
208
+ <tr><td><code>miniProgram.appId</code></td><td><code>string</code></td><td>是</td><td>-</td><td>智能服务 appId</td></tr>
209
+ <tr><td><code>miniProgram.envVersion</code></td><td><code>&quot;develop&quot; | &quot;trial&quot; | &quot;release&quot;</code></td><td>是</td><td>Android、iOS 当前只返回 develop 或 release,不会返回 trial</td><td>当前智能服务的版本类型。<br><br>- develop:开发版<br>- trial:体验版<br>- release:正式版。Android、iOS:仅返回 develop 或 release,永远不会返回 trial。</td></tr>
210
+ <tr><td><code>miniProgram.version</code></td><td><code>string</code></td><td>是</td><td>-</td><td>智能服务版本号。</td></tr>
209
211
  <tr><td><code>plugin</code></td><td><code>PluginAccountInfo</code></td><td>否</td><td>-</td><td>插件账号信息(仅在插件中调用时包含)</td></tr>
210
212
  <tr><td><code>plugin.appId</code></td><td><code>string</code></td><td>否</td><td>-</td><td>插件 appId</td></tr>
211
213
  <tr><td><code>plugin.version</code></td><td><code>string</code></td><td>否</td><td>-</td><td>插件版本号,'a.b.c' 形式</td></tr>
@@ -402,6 +404,164 @@ await authorize({
402
404
 
403
405
  - **iOS**:网络类失败会细分为 301/302/303/305,并可能返回 112;Android 的网络类失败统一返回 305。
404
406
 
407
+ <a id="arraybuffertobase64"></a>
408
+ ### arrayBufferToBase64()
409
+
410
+ # arrayBufferToBase64
411
+
412
+ 将 ArrayBuffer 转换为 Base64 字符串。
413
+
414
+ ## 扫码预览
415
+ ![扫码预览 arrayBufferToBase64](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fbasic%252Fbase64%252Findex)
416
+
417
+ ## 支持版本
418
+
419
+ 前端库版本不低于 `0.1.0`。
420
+
421
+ ## 支持平台
422
+
423
+ <table>
424
+ <thead>
425
+ <tr><th>平台</th><th>支持情况</th></tr>
426
+ </thead>
427
+ <tbody>
428
+ <tr><td>Android</td><td>支持</td></tr>
429
+ <tr><td>iOS</td><td>支持</td></tr>
430
+ <tr><td>PC</td><td>支持</td></tr>
431
+ <tr><td>HarmonyOS</td><td>支持</td></tr>
432
+ </tbody>
433
+ </table>
434
+
435
+ ## 支持场景
436
+
437
+ <table>
438
+ <thead>
439
+ <tr><th>场景</th><th>支持情况</th></tr>
440
+ </thead>
441
+ <tbody>
442
+ <tr><td>页面</td><td>支持</td></tr>
443
+ <tr><td>卡片</td><td>支持</td></tr>
444
+ </tbody>
445
+ </table>
446
+
447
+ ## 调用方式
448
+
449
+ ### 同步 API
450
+
451
+ ```typescript
452
+ arrayBufferToBase64(buffer: ArrayBuffer): string
453
+ ```
454
+
455
+ ## 入参
456
+
457
+ <table>
458
+ <thead>
459
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
460
+ </thead>
461
+ <tbody>
462
+ <tr><td><code>buffer</code></td><td><code>ArrayBuffer</code></td><td>是</td><td>-</td><td>-</td><td>需要编码的二进制数据。</td></tr>
463
+ </tbody>
464
+ </table>
465
+
466
+ ## 调用示例
467
+
468
+ ```typescript
469
+ import { arrayBufferToBase64 } from '@doubao-dev/framework/api';
470
+
471
+ const base64 = arrayBufferToBase64(new Uint8Array([1, 2, 3, 4]).buffer);
472
+ console.log(base64); // AQIDBA==
473
+ ```
474
+
475
+ ## 返回值
476
+
477
+ 标准 Base64 编码字符串。
478
+
479
+ ### 返回示例
480
+
481
+ ```json
482
+ "AQIDBA=="
483
+ ```
484
+
485
+ <a id="base64toarraybuffer"></a>
486
+ ### base64ToArrayBuffer()
487
+
488
+ # base64ToArrayBuffer
489
+
490
+ 将 Base64 字符串转换为 ArrayBuffer。
491
+
492
+ ## 扫码预览
493
+ ![扫码预览 base64ToArrayBuffer](https://api.qrserver.com/v1/create-qr-code/?size=200x200&data=doubao%3A%2F%2Fdoubao_apps%3Fapp_id%3Ddb_1McM5Ni%26path%3D%252Fpages%252Fapi%252Fbasic%252Fbase64%252Findex)
494
+
495
+ ## 支持版本
496
+
497
+ 前端库版本不低于 `0.1.0`。
498
+
499
+ ## 支持平台
500
+
501
+ <table>
502
+ <thead>
503
+ <tr><th>平台</th><th>支持情况</th></tr>
504
+ </thead>
505
+ <tbody>
506
+ <tr><td>Android</td><td>支持</td></tr>
507
+ <tr><td>iOS</td><td>支持</td></tr>
508
+ <tr><td>PC</td><td>支持</td></tr>
509
+ <tr><td>HarmonyOS</td><td>支持</td></tr>
510
+ </tbody>
511
+ </table>
512
+
513
+ ## 支持场景
514
+
515
+ <table>
516
+ <thead>
517
+ <tr><th>场景</th><th>支持情况</th></tr>
518
+ </thead>
519
+ <tbody>
520
+ <tr><td>页面</td><td>支持</td></tr>
521
+ <tr><td>卡片</td><td>支持</td></tr>
522
+ </tbody>
523
+ </table>
524
+
525
+ ## 调用方式
526
+
527
+ ### 同步 API
528
+
529
+ ```typescript
530
+ base64ToArrayBuffer(base64: string): ArrayBuffer
531
+ ```
532
+
533
+ ## 入参
534
+
535
+ <table>
536
+ <thead>
537
+ <tr><th>名称</th><th>类型</th><th>必填</th><th>默认值</th><th>约束</th><th>说明</th></tr>
538
+ </thead>
539
+ <tbody>
540
+ <tr><td><code>base64</code></td><td><code>string</code></td><td>是</td><td>-</td><td>-</td><td>需要解码的标准 Base64 字符串。</td></tr>
541
+ </tbody>
542
+ </table>
543
+
544
+ ## 调用示例
545
+
546
+ ```typescript
547
+ import { base64ToArrayBuffer } from '@doubao-dev/framework/api';
548
+
549
+ const buffer = base64ToArrayBuffer('AQIDBA==');
550
+ console.log(Array.from(new Uint8Array(buffer))); // [1, 2, 3, 4]
551
+ ```
552
+
553
+ ## 返回值
554
+
555
+ 解码后的二进制数据。
556
+
557
+ ### 返回示例
558
+
559
+ ```json
560
+ {
561
+ "byteLength": 4
562
+ }
563
+ ```
564
+
405
565
  <a id="getperformance"></a>
406
566
  ### getPerformance()
407
567
 
@@ -545,7 +705,7 @@ observer.disconnect();
545
705
 
546
706
  ## 使用说明
547
707
 
548
- - authSetting 只表示当前智能服务的 scope 授权,不表示宿主系统权限;HealthKit 逐类型系统状态通过 getAppAuthorizeSetting 查询。
708
+ - authSetting 只表示当前智能服务的 scope 授权,不表示操作系统权限;HealthKit 逐类型系统状态通过 getAppAuthorizeSetting 查询。
549
709
  - authSetting 只包含已向用户请求过且状态明确的权限;豆包当前不支持订阅模板,不要传入 withSubscriptions: true。
550
710
 
551
711
  ## 调用方式
@@ -623,7 +783,7 @@ console.log(result.authSetting['scope.userLocation']);
623
783
  </thead>
624
784
  <tbody>
625
785
  <tr><td><code>103</code></td><td><code>feature not support</code></td><td>Android、iOS</td><td>传入 withSubscriptions: true,豆包当前不支持订阅消息模板</td><td>不要传入 withSubscriptions: true,仅使用默认的 false</td></tr>
626
- <tr><td><code>116</code></td><td><code>resource not found</code></td><td>Android</td><td>未找到当前应用对应的运行环境记录</td><td>确认应用已正确安装并在有效运行环境中调用后重试</td></tr>
786
+ <tr><td><code>116</code></td><td><code>resource not found</code></td><td>Android</td><td>豆包未找到当前智能服务</td><td>确认当前智能服务已正确安装后重试</td></tr>
627
787
  </tbody>
628
788
  </table>
629
789
 
@@ -759,13 +919,13 @@ try {
759
919
  <a id="doubaoappaccountinfo"></a>
760
920
  ### DoubaoAppAccountInfo
761
921
 
762
- 豆包 App 账号信息。
922
+ 智能服务账号信息。
763
923
 
764
924
  #### Properties
765
925
 
766
- • **appId**: `string` - 豆包 App appId
767
- • **envVersion**: `'develop' | 'trial' | 'release'` - 豆包 App 运行环境。 - develop:开发版 - trial:体验版 - release:正式版
768
- • **version**: `string` - 线上豆包 App 版本号
926
+ • **appId**: `string` - 智能服务 appId
927
+ • **envVersion**: `'develop' | 'trial' | 'release'` - 当前智能服务的版本类型。 - develop:开发版 - trial:体验版 - release:正式版
928
+ • **version**: `string` - 智能服务版本号
769
929
 
770
930
  <a id="pluginaccountinfo"></a>
771
931
  ### PluginAccountInfo
@@ -784,7 +944,7 @@ try {
784
944
 
785
945
  #### Properties
786
946
 
787
- • **miniProgram**: `DoubaoAppAccountInfo` - 豆包 App 账号信息
947
+ • **miniProgram**: `DoubaoAppAccountInfo` - 智能服务账号信息
788
948
  • **plugin?**: `PluginAccountInfo` - 插件账号信息(仅在插件中调用时包含)
789
949
 
790
950
  <a id="healthdatatype"></a>
@@ -430,7 +430,7 @@ console.log(result.healthDataAuthorizationDetail?.readStatus);
430
430
 
431
431
  ## 使用说明
432
432
 
433
- - enableDebug 由同步读取的运行环境信息决定,非调试环境下可能不返回该字段。
433
+ - 当前不返回 `enableDebug`;如需获取调试状态,请使用 getSystemInfo 或 getSystemInfoSync。
434
434
 
435
435
  ## 调用方式
436
436
 
@@ -528,7 +528,7 @@ console.log(result.host?.appId);
528
528
 
529
529
  ## 使用说明
530
530
 
531
- - 该接口从运行环境同步读取窗口信息,若无需异步调用可改用 getWindowInfoSync。
531
+ - 该接口与 getWindowInfoSync 返回相同信息;无需异步调用时可直接使用 getWindowInfoSync。
532
532
 
533
533
  ## 调用方式
534
534
 
@@ -798,7 +798,7 @@ offThemeChange();
798
798
 
799
799
  ## 平台差异
800
800
 
801
- - **Android**:主题变化事件依赖豆包客户端接入主题通知,未接入时可能不触发
801
+ - **Android**:部分豆包 Android 版本可能不会触发主题变化事件
802
802
 
803
803
  <a id="getsysteminfo"></a>
804
804
  ### getSystemInfo()
@@ -1,6 +1,6 @@
1
1
  # 豆包智能服务的端能力 API: 自定义通信
2
2
 
3
- 在智能服务的多个 Runtime 之间发送和接收自定义事件。
3
+ 在智能服务的页面或卡片实例之间发送和接收自定义事件。
4
4
 
5
5
  [返回目录](./groups.md) | [返回速查](./quick-reference.md)
6
6
 
@@ -718,7 +718,7 @@ unsubscribe();
718
718
  • **mode?**: `number` - 定位模式 0:低功耗 1:仅设备 2:高精度(默认)
719
719
  • **acceptLightLocation?**: `boolean` - 是否接受轻定位结果。轻定位会直接利用设备已有的 Wi-Fi 扫描缓存,由服务端快速计算当前位置,缩短定位耗时
720
720
  • **timeoutMs?**: `number` - 超时时间,单位毫秒,默认 30000
721
- • **maxCacheMs?**: `number` - 兼容保留字段,当前原生接口未消费该字段
721
+ • **maxCacheMs?**: `number` - 兼容保留字段,当前不生效
722
722
 
723
723
  <a id="getlocationresponse"></a>
724
724
  ### GetLocationResponse