@doubao-apps/ai 0.0.27 → 0.0.28

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 (101) hide show
  1. package/README.md +2 -2
  2. package/dist/994.js +16 -16
  3. package/dist/contexts/doubao-apps-dev/AGENTS.md +20 -20
  4. package/dist/contexts/doubao-apps-dev/CLAUDE.md +8 -8
  5. package/dist/contexts/doubao-apps-dev/references/reference/open-api/01-/345/237/272/347/241/200-/350/264/246/345/217/267-/347/263/273/347/273/237.md +2943 -0
  6. package/dist/contexts/doubao-apps-dev/references/reference/open-api/02-/350/267/257/347/224/261.md +63 -0
  7. package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/05- → references/reference/open-api/03-}/347/225/214/351/235/242-/350/276/223/345/205/245.md +30 -0
  8. package/dist/contexts/doubao-apps-dev/references/reference/open-api/04-/346/225/260/346/215/256/345/210/206/346/236/220.md +67 -0
  9. package/dist/{skills/doubao-apps-dev/.ai/reference/open-api/16-ui- → contexts/doubao-apps-dev/references/reference/open-api/12-ui-}/350/276/223/345/205/245.md +0 -16
  10. package/dist/contexts/doubao-apps-dev/references/reference/open-api/README.md +32 -0
  11. package/dist/contexts/doubao-apps-dev/references/reference/open-api.md +303 -0
  12. package/dist/manifest.json +6 -6
  13. package/dist/skills/doubao-apps-dev/SKILL.md +20 -29
  14. package/dist/skills/doubao-apps-dev/references/reference/open-api/01-/345/237/272/347/241/200-/350/264/246/345/217/267-/347/263/273/347/273/237.md +2943 -0
  15. package/dist/skills/doubao-apps-dev/references/reference/open-api/02-/350/267/257/347/224/261.md +63 -0
  16. package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/05- → references/reference/open-api/03-}/347/225/214/351/235/242-/350/276/223/345/205/245.md +30 -0
  17. package/dist/skills/doubao-apps-dev/references/reference/open-api/04-/346/225/260/346/215/256/345/210/206/346/236/220.md +67 -0
  18. package/dist/{contexts/doubao-apps-dev/.ai/reference/open-api/16-ui- → skills/doubao-apps-dev/references/reference/open-api/12-ui-}/350/276/223/345/205/245.md +0 -16
  19. package/dist/skills/doubao-apps-dev/references/reference/open-api/README.md +32 -0
  20. package/dist/skills/doubao-apps-dev/references/reference/open-api.md +303 -0
  21. package/dist/skills/douyin-to-doubao/SKILL.md +4 -4
  22. package/dist/skills/h5-to-doubao/SKILL.md +9 -9
  23. package/dist/skills/uniapp-to-doubao/SKILL.md +5 -5
  24. package/dist/skills/weixin-to-doubao/SKILL.md +5 -5
  25. package/package.json +1 -1
  26. package/dist/contexts/doubao-apps-dev/.ai/guides/system-prompt.md +0 -331
  27. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/01-/345/237/272/347/241/200-/350/264/246/345/217/267-/347/263/273/347/273/237.md +0 -699
  28. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/02-/345/255/230/345/202/250.md +0 -409
  29. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/03-/350/267/257/347/224/261.md +0 -165
  30. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/04-/347/225/214/351/235/242-/344/272/244/344/272/222.md +0 -432
  31. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/06-/347/275/221/347/273/234.md +0 -148
  32. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/07-/345/252/222/344/275/223.md +0 -346
  33. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/08-/345/274/200/346/224/276/350/203/275/345/212/233-/344/270/232/345/212/241/350/203/275/345/212/233.md +0 -546
  34. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api/README.md +0 -36
  35. package/dist/contexts/doubao-apps-dev/.ai/reference/open-api.md +0 -326
  36. package/dist/skills/doubao-apps-dev/.ai/guides/system-prompt.md +0 -331
  37. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/01-/345/237/272/347/241/200-/350/264/246/345/217/267-/347/263/273/347/273/237.md +0 -699
  38. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/02-/345/255/230/345/202/250.md +0 -409
  39. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/03-/350/267/257/347/224/261.md +0 -165
  40. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/04-/347/225/214/351/235/242-/344/272/244/344/272/222.md +0 -432
  41. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/06-/347/275/221/347/273/234.md +0 -148
  42. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/07-/345/252/222/344/275/223.md +0 -346
  43. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/08-/345/274/200/346/224/276/350/203/275/345/212/233-/344/270/232/345/212/241/350/203/275/345/212/233.md +0 -546
  44. package/dist/skills/doubao-apps-dev/.ai/reference/open-api/README.md +0 -36
  45. package/dist/skills/doubao-apps-dev/.ai/reference/open-api.md +0 -326
  46. /package/dist/contexts/doubao-apps-dev/{.ai → references}/examples/common-patterns.md +0 -0
  47. /package/dist/contexts/doubao-apps-dev/{.ai → references}/examples/component-basics.md +0 -0
  48. /package/dist/contexts/doubao-apps-dev/{.ai → references}/guides/best-practices.md +0 -0
  49. /package/dist/contexts/doubao-apps-dev/{.ai → references}/guides/component-development.md +0 -0
  50. /package/dist/contexts/doubao-apps-dev/{.ai → references}/guides/performance-optimization.md +0 -0
  51. /package/dist/contexts/doubao-apps-dev/{.ai → references}/guides/troubleshooting.md +0 -0
  52. /package/dist/contexts/doubao-apps-dev/{.ai → references}/reference/components-quick-ref.md +0 -0
  53. /package/dist/contexts/doubao-apps-dev/{.ai → references}/reference/framework-api-quick-ref.md +0 -0
  54. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/09- → references/reference/open-api/05-}/350/256/276/345/244/207-/350/223/235/347/211/231.md" +0 -0
  55. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/10- → references/reference/open-api/06-}/350/256/276/345/244/207-wi-fi.md" +0 -0
  56. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/11- → references/reference/open-api/07-}/350/256/276/345/244/207-/345/212/240/351/200/237/345/272/246/350/256/241.md" +0 -0
  57. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/12- → references/reference/open-api/08-}/350/256/276/345/244/207-ibeacon.md" +0 -0
  58. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/13- → references/reference/open-api/09-}/350/256/276/345/244/207-/347/275/227/347/233/230.md" +0 -0
  59. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/14- → references/reference/open-api/10-}/350/256/276/345/244/207-/350/256/276/345/244/207/346/226/271/345/220/221.md" +0 -0
  60. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/15- → references/reference/open-api/11-}/350/256/276/345/244/207-/351/231/200/350/236/272/344/273/252.md" +0 -0
  61. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/17- → references/reference/open-api/13-}/350/256/276/345/244/207-/347/275/221/347/273/234.md" +0 -0
  62. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/18- → references/reference/open-api/14-}/350/256/276/345/244/207-/347/237/255/344/277/241.md" +0 -0
  63. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/19- → references/reference/open-api/15-}/350/256/276/345/244/207-/346/227/240/351/232/234/347/242/215.md" +0 -0
  64. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/20- → references/reference/open-api/16-}/350/256/276/345/244/207-/347/224/265/346/261/240.md" +0 -0
  65. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/21- → references/reference/open-api/17-}/350/256/276/345/244/207-/346/227/245/345/216/206.md" +0 -0
  66. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/22- → references/reference/open-api/18-}/350/256/276/345/244/207-/345/211/252/350/264/264/346/235/277.md" +0 -0
  67. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/23- → references/reference/open-api/19-}/350/256/276/345/244/207-/350/201/224/347/263/273/344/272/272.md" +0 -0
  68. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/24- → references/reference/open-api/20-}/350/256/276/345/244/207-/345/212/240/345/257/206.md" +0 -0
  69. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/25- → references/reference/open-api/21-}/350/256/276/345/244/207-/347/224/265/350/257/235.md" +0 -0
  70. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/26- → references/reference/open-api/22-}/350/256/276/345/244/207-/346/211/253/347/240/201.md" +0 -0
  71. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/27- → references/reference/open-api/23-}/350/256/276/345/244/207-/345/261/217/345/271/225.md" +0 -0
  72. /package/dist/contexts/doubao-apps-dev/{.ai/reference/open-api/28- → references/reference/open-api/24-}/350/256/276/345/244/207-/351/234/207/345/212/250.md" +0 -0
  73. /package/dist/contexts/doubao-apps-dev/{.ai → references}/rules/dos-and-donts.md +0 -0
  74. /package/dist/skills/doubao-apps-dev/{.ai → references}/examples/common-patterns.md +0 -0
  75. /package/dist/skills/doubao-apps-dev/{.ai → references}/examples/component-basics.md +0 -0
  76. /package/dist/skills/doubao-apps-dev/{.ai → references}/guides/best-practices.md +0 -0
  77. /package/dist/skills/doubao-apps-dev/{.ai → references}/guides/component-development.md +0 -0
  78. /package/dist/skills/doubao-apps-dev/{.ai → references}/guides/performance-optimization.md +0 -0
  79. /package/dist/skills/doubao-apps-dev/{.ai → references}/guides/troubleshooting.md +0 -0
  80. /package/dist/skills/doubao-apps-dev/{.ai → references}/reference/components-quick-ref.md +0 -0
  81. /package/dist/skills/doubao-apps-dev/{.ai → references}/reference/framework-api-quick-ref.md +0 -0
  82. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/09- → references/reference/open-api/05-}/350/256/276/345/244/207-/350/223/235/347/211/231.md" +0 -0
  83. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/10- → references/reference/open-api/06-}/350/256/276/345/244/207-wi-fi.md" +0 -0
  84. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/11- → references/reference/open-api/07-}/350/256/276/345/244/207-/345/212/240/351/200/237/345/272/246/350/256/241.md" +0 -0
  85. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/12- → references/reference/open-api/08-}/350/256/276/345/244/207-ibeacon.md" +0 -0
  86. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/13- → references/reference/open-api/09-}/350/256/276/345/244/207-/347/275/227/347/233/230.md" +0 -0
  87. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/14- → references/reference/open-api/10-}/350/256/276/345/244/207-/350/256/276/345/244/207/346/226/271/345/220/221.md" +0 -0
  88. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/15- → references/reference/open-api/11-}/350/256/276/345/244/207-/351/231/200/350/236/272/344/273/252.md" +0 -0
  89. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/17- → references/reference/open-api/13-}/350/256/276/345/244/207-/347/275/221/347/273/234.md" +0 -0
  90. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/18- → references/reference/open-api/14-}/350/256/276/345/244/207-/347/237/255/344/277/241.md" +0 -0
  91. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/19- → references/reference/open-api/15-}/350/256/276/345/244/207-/346/227/240/351/232/234/347/242/215.md" +0 -0
  92. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/20- → references/reference/open-api/16-}/350/256/276/345/244/207-/347/224/265/346/261/240.md" +0 -0
  93. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/21- → references/reference/open-api/17-}/350/256/276/345/244/207-/346/227/245/345/216/206.md" +0 -0
  94. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/22- → references/reference/open-api/18-}/350/256/276/345/244/207-/345/211/252/350/264/264/346/235/277.md" +0 -0
  95. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/23- → references/reference/open-api/19-}/350/256/276/345/244/207-/350/201/224/347/263/273/344/272/272.md" +0 -0
  96. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/24- → references/reference/open-api/20-}/350/256/276/345/244/207-/345/212/240/345/257/206.md" +0 -0
  97. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/25- → references/reference/open-api/21-}/350/256/276/345/244/207-/347/224/265/350/257/235.md" +0 -0
  98. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/26- → references/reference/open-api/22-}/350/256/276/345/244/207-/346/211/253/347/240/201.md" +0 -0
  99. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/27- → references/reference/open-api/23-}/350/256/276/345/244/207-/345/261/217/345/271/225.md" +0 -0
  100. /package/dist/skills/doubao-apps-dev/{.ai/reference/open-api/28- → references/reference/open-api/24-}/350/256/276/345/244/207-/351/234/207/345/212/250.md" +0 -0
  101. /package/dist/skills/doubao-apps-dev/{.ai → references}/rules/dos-and-donts.md +0 -0
@@ -1,326 +0,0 @@
1
- # Open API
2
-
3
- > 公开可用的端能力 API。默认从 `@doubao-apps/framework/api` 导入;本文件根据 `packages/open-api/src` 的导出结构自动生成,按模块列出 API 名称和说明。
4
-
5
- 覆盖 119 个函数。详细参数、返回值、示例和相关类型请查看 [Open API 目录](open-api/README.md),精确字段也可按参数/结果类型名查看 IDE 类型提示或 `@doubao-apps/framework/api` 类型定义。
6
-
7
- ## 使用方式
8
-
9
- ```typescript
10
- import { showToast, request, getStorage } from '@doubao-apps/framework/api';
11
- ```
12
-
13
- ## 基础 / 账号 / 系统
14
-
15
- 账号、授权、宿主基础信息、窗口信息和定位。
16
-
17
- | API | 说明 |
18
- | --- | --- |
19
- | [getAccountInfo](open-api/01-基础-账号-系统.md#getaccountinfo) | 异步获取账号信息。 |
20
- | [getAccountInfoSync](open-api/01-基础-账号-系统.md#getaccountinfosync) | 同步获取账号信息。<br><br>同步 API。 |
21
- | [authorize](open-api/01-基础-账号-系统.md#authorize) | 初始化授权。<br><br>按 scope 申请授权。 |
22
- | [canIUse](open-api/01-基础-账号-系统.md#caniuse) | 检测当前宿主是否支持指定 API 或能力。<br><br>用于兼容性判断。 |
23
- | [getLocation](open-api/01-基础-账号-系统.md#getlocation) | 获取设备当前的地理位置信息。<br><br>可能涉及定位授权。 |
24
- | [login](open-api/01-基础-账号-系统.md#login) | 发起登录并获取登录凭证。 |
25
- | [getWindowInfoSync](open-api/01-基础-账号-系统.md#getwindowinfosync) | 获取窗口信息。<br><br>同步 API。 |
26
- | [getSystemSetting](open-api/01-基础-账号-系统.md#getsystemsetting) | 获取设备设置。 |
27
- | [getAppBaseInfoSync](open-api/01-基础-账号-系统.md#getappbaseinfosync) | 获取应用基础信息。<br><br>同步 API。 |
28
- | [getWindowInfo](open-api/01-基础-账号-系统.md#getwindowinfo) | 获取窗口信息。 |
29
- | [getAppBaseInfo](open-api/01-基础-账号-系统.md#getappbaseinfo) | 获取应用基础信息。 |
30
-
31
- ## 存储
32
-
33
- 本地缓存;带 Sync 后缀的是同步 API。
34
-
35
- | API | 说明 |
36
- | --- | --- |
37
- | [setStorage](open-api/02-存储.md#setstorage) | 将数据写入本地缓存。 |
38
- | [setStorageSync](open-api/02-存储.md#setstoragesync) | 将数据写入本地缓存。<br><br>同步 API。 |
39
- | [getStorage](open-api/02-存储.md#getstorage) | 从本地缓存读取数据。 |
40
- | [getStorageSync](open-api/02-存储.md#getstoragesync) | 从本地缓存同步读取数据。<br><br>同步 API。 |
41
- | [removeStorage](open-api/02-存储.md#removestorage) | 删除本地缓存中指定 key 的数据。 |
42
- | [removeStorageSync](open-api/02-存储.md#removestoragesync) | 删除本地缓存中指定 key 的数据。<br><br>同步 API。 |
43
- | [clearStorage](open-api/02-存储.md#clearstorage) | 清空本地缓存。 |
44
- | [clearStorageSync](open-api/02-存储.md#clearstoragesync) | 清空本地缓存。<br><br>同步 API。 |
45
- | [getStorageInfo](open-api/02-存储.md#getstorageinfo) | 获取本地缓存信息。 |
46
- | [getStorageInfoSync](open-api/02-存储.md#getstorageinfosync) | 同步获取本地缓存信息。<br><br>同步 API。 |
47
-
48
- ## 路由
49
-
50
- 应用内页面跳转和关闭。
51
-
52
- | API | 说明 |
53
- | --- | --- |
54
- | [close](open-api/03-路由.md#close) | 关闭栈顶页面。<br><br>已废弃,使用 navigateBack。 |
55
- | [navigateTo](open-api/03-路由.md#navigateto) | 保留当前页面,跳转到应用内的某个页面。 |
56
- | [redirectTo](open-api/03-路由.md#redirectto) | 关闭当前页面,跳转到应用内的某个页面。 |
57
- | [reLaunch](open-api/03-路由.md#relaunch) | 关闭所有页面并跳转到应用内页面。 |
58
- | [navigateBack](open-api/03-路由.md#navigateback) | 关闭当前页面,返回上一页面或多级页面。 |
59
- | [exitApp](open-api/03-路由.md#exitapp) | 退出当前所有页面。<br><br>会退出当前所有页面。 |
60
-
61
- ## 界面 / 交互
62
-
63
- Toast、Loading、Modal、ActionSheet 和返回前提醒。
64
-
65
- | API | 说明 |
66
- | --- | --- |
67
- | [showModal](open-api/04-界面-交互.md#showmodal) | 显示模态对话框。 |
68
- | [showLoading](open-api/04-界面-交互.md#showloading) | 显示 loading 提示框。<br><br>需调用 hideLoading 关闭。 |
69
- | [hideToast](open-api/04-界面-交互.md#hidetoast) | 隐藏当前 Toast。 |
70
- | [hideLoading](open-api/04-界面-交互.md#hideloading) | 隐藏当前 loading。 |
71
- | [showActionSheet](open-api/04-界面-交互.md#showactionsheet) | 显示操作菜单。 |
72
- | [getMenuButtonBoundingClientRect](open-api/04-界面-交互.md#getmenubuttonboundingclientrect) | 获取菜单按钮的布局位置信息。 |
73
- | [enableAlertBeforeUnload](open-api/04-界面-交互.md#enablealertbeforeunload) | 开启页面返回前提醒。<br><br>配合 disableAlertBeforeUnload 使用。 |
74
- | [disableAlertBeforeUnload](open-api/04-界面-交互.md#disablealertbeforeunload) | 关闭页面返回前提醒。 |
75
- | [showToast](open-api/04-界面-交互.md#showtoast) | 显示 Toast 提示。<br><br>duration 和 icon 可控制提示表现。 |
76
-
77
- ## 界面 / 输入
78
-
79
- 键盘和输入框选区能力。
80
-
81
- | API | 说明 |
82
- | --- | --- |
83
- | [onKeyboardHeightChange](open-api/05-界面-输入.md#onkeyboardheightchange) | 监听键盘高度变化事件。<br><br>返回取消监听函数。 |
84
-
85
- ## 网络
86
-
87
- 网络请求
88
-
89
- | API | 说明 |
90
- | --- | --- |
91
- | [request](open-api/06-网络.md#request) | 发起网络请求。<br><br>返回 statusCode、header 和 data。 |
92
-
93
- ## 媒体
94
-
95
- 图片选择、预览、保存、压缩和信息读取。
96
-
97
- | API | 说明 |
98
- | --- | --- |
99
- | [saveImageToPhotosAlbum](open-api/07-媒体.md#saveimagetophotosalbum) | 保存图片到系统相册。 |
100
- | [previewImage](open-api/07-媒体.md#previewimage) | 预览图片。 |
101
- | [getImageInfo](open-api/07-媒体.md#getimageinfo) | 获取图片信息。 |
102
- | [chooseImage](open-api/07-媒体.md#chooseimage) | 选择图片。 |
103
- | [compressImage](open-api/07-媒体.md#compressimage) | 压缩图片。 |
104
-
105
- ## 开放能力 / 业务能力
106
-
107
- 开放业务能力、支付、隐私设置、上下文和外部应用打开。
108
-
109
- | API | 说明 |
110
- | --- | --- |
111
- | [getOrderPayment](open-api/08-开放能力-业务能力.md#getorderpayment) | 查询订单支付结果。 |
112
- | [postLoginResult](open-api/08-开放能力-业务能力.md#postloginresult) | 回传 MCP 授权登录凭证。 |
113
- | [getPrivacySetting](open-api/08-开放能力-业务能力.md#getprivacysetting) | 获取隐私设置状态。 |
114
- | [requestOrder](open-api/08-开放能力-业务能力.md#requestorder) | 发起订单支付流程。 |
115
- | [loginWithDoubaoWidget](open-api/08-开放能力-业务能力.md#loginwithdoubaowidget) | 发起豆包 Widget 登录。 |
116
- | [sendQueryMessage](open-api/08-开放能力-业务能力.md#sendquerymessage) | 以用户身份发送一条消息。<br><br>返回 void,不是 Promise。 |
117
- | [updateModelContext](open-api/08-开放能力-业务能力.md#updatemodelcontext) | 向 Agent 捐赠上下文。 |
118
- | [setAdditionalContext](open-api/08-开放能力-业务能力.md#setadditionalcontext) | 设置全局上下文供大模型理解。<br><br>设置全局上下文。 |
119
- | [dispatchActionDirective](open-api/08-开放能力-业务能力.md#dispatchactiondirective) | 描述用户行为,约束模型行为及指定执行路径。 |
120
- | [updateWidget](open-api/08-开放能力-业务能力.md#updatewidget) | 更新指定卡片。 |
121
- | [expiredWidget](open-api/08-开放能力-业务能力.md#expiredwidget) | 更新过期的 widget 为固定卡片。 |
122
- | [openApp](open-api/08-开放能力-业务能力.md#openapp) | 通过 deep link 等方式打开外部应用。 |
123
-
124
- ## 设备 / 蓝牙
125
-
126
- 蓝牙和 BLE 能力;通常先打开适配器,再扫描、连接和读写。
127
-
128
- | API | 说明 |
129
- | --- | --- |
130
- | [openBluetoothAdapter](open-api/09-设备-蓝牙.md#openbluetoothadapter) | 打开蓝牙适配器。<br><br>蓝牙流程入口。 |
131
- | [startBluetoothDevicesDiscovery](open-api/09-设备-蓝牙.md#startbluetoothdevicesdiscovery) | 开始搜索附近的蓝牙设备。<br><br>通常先调用 openBluetoothAdapter。 |
132
- | [stopBluetoothDevicesDiscovery](open-api/09-设备-蓝牙.md#stopbluetoothdevicesdiscovery) | 停止搜索附近的蓝牙设备。 |
133
- | [getBluetoothAdapterState](open-api/09-设备-蓝牙.md#getbluetoothadapterstate) | 获取蓝牙适配器状态。 |
134
- | [getBluetoothDevices](open-api/09-设备-蓝牙.md#getbluetoothdevices) | 获取当前蓝牙模块发现的设备列表。<br><br>通常先调用 startBluetoothDevicesDiscovery。 |
135
- | [getConnectedBluetoothDevices](open-api/09-设备-蓝牙.md#getconnectedbluetoothdevices) | 获取已连接的蓝牙设备列表。 |
136
- | [makeBluetoothPair](open-api/09-设备-蓝牙.md#makebluetoothpair) | 发起蓝牙配对。 |
137
- | [isBluetoothDevicePaired](open-api/09-设备-蓝牙.md#isbluetoothdevicepaired) | 查询蓝牙设备是否已经配对。 |
138
- | [closeBluetoothAdapter](open-api/09-设备-蓝牙.md#closebluetoothadapter) | 关闭蓝牙适配器。<br><br>会关闭蓝牙模块。 |
139
- | [createBLEConnection](open-api/09-设备-蓝牙.md#createbleconnection) | 创建 BLE 连接。<br><br>需要传入 deviceId。 |
140
- | [closeBLEConnection](open-api/09-设备-蓝牙.md#closebleconnection) | 关闭 BLE 连接。 |
141
- | [getBLEDeviceServices](open-api/09-设备-蓝牙.md#getbledeviceservices) | 获取 BLE 服务列表。<br><br>通常先调用 createBLEConnection。 |
142
- | [getBLEDeviceCharacteristics](open-api/09-设备-蓝牙.md#getbledevicecharacteristics) | 获取 BLE 特征值列表。<br><br>通常先获取 BLE 服务列表。 |
143
- | [getBLEDeviceRSSI](open-api/09-设备-蓝牙.md#getbledevicerssi) | 获取 BLE 设备 RSSI。 |
144
- | [getBLEMTU](open-api/09-设备-蓝牙.md#getblemtu) | 获取 BLE MTU。 |
145
- | [notifyBLECharacteristicValueChange](open-api/09-设备-蓝牙.md#notifyblecharacteristicvaluechange) | 订阅 BLE 特征值变化。<br><br>订阅指定特征值变化。 |
146
- | [readBLECharacteristicValue](open-api/09-设备-蓝牙.md#readblecharacteristicvalue) | 读取 BLE 特征值。<br><br>需要传入 serviceId 和 characteristicId。 |
147
- | [setBLEMTU](open-api/09-设备-蓝牙.md#setblemtu) | 设置 BLE MTU。 |
148
- | [writeBLECharacteristicValue](open-api/09-设备-蓝牙.md#writeblecharacteristicvalue) | 写入 BLE 特征值。<br><br>value 需要是 ArrayBuffer。 |
149
-
150
- ## 设备 / Wi-Fi
151
-
152
- Wi-Fi 模块能力;通常先 startWifi,再获取列表或连接。
153
-
154
- | API | 说明 |
155
- | --- | --- |
156
- | [startWifi](open-api/10-设备-wi-fi.md#startwifi) | 初始化 Wi-Fi 模块。<br><br>Wi-Fi 流程入口。 |
157
- | [stopWifi](open-api/10-设备-wi-fi.md#stopwifi) | 关闭 Wi-Fi 模块。 |
158
- | [setWifiList](open-api/10-设备-wi-fi.md#setwifilist) | 设置 Wi-Fi 预设列表。<br><br>用于预设 Wi-Fi 列表。 |
159
- | [connectWifi](open-api/10-设备-wi-fi.md#connectwifi) | 连接指定 Wi-Fi。<br><br>通常先调用 startWifi。 |
160
- | [getConnectedWifi](open-api/10-设备-wi-fi.md#getconnectedwifi) | 获取当前已连接 Wi-Fi 信息。 |
161
- | [getWifiList](open-api/10-设备-wi-fi.md#getwifilist) | 获取 Wi-Fi 列表。<br><br>通常先调用 startWifi。 |
162
-
163
- ## 设备 / 加速度计
164
-
165
- 加速度计监听能力。
166
-
167
- | API | 说明 |
168
- | --- | --- |
169
- | [startAccelerometer](open-api/11-设备-加速度计.md#startaccelerometer) | 开始监听加速度。<br><br>需配对调用 stopAccelerometer。 |
170
- | [stopAccelerometer](open-api/11-设备-加速度计.md#stopaccelerometer) | 停止监听加速度。 |
171
- | [onAccelerometerChange](open-api/11-设备-加速度计.md#onaccelerometerchange) | 监听加速度数据变化事件。<br><br>返回取消监听函数。 |
172
-
173
- ## 设备 / iBeacon
174
-
175
- iBeacon 搜索和结果读取能力。
176
-
177
- | API | 说明 |
178
- | --- | --- |
179
- | [startBeaconDiscovery](open-api/12-设备-ibeacon.md#startbeacondiscovery) | 开始搜索附近的 iBeacon。<br><br>需配对调用 stopBeaconDiscovery。 |
180
- | [stopBeaconDiscovery](open-api/12-设备-ibeacon.md#stopbeacondiscovery) | 停止搜索附近的 iBeacon。 |
181
- | [getBeacons](open-api/12-设备-ibeacon.md#getbeacons) | 获取已搜索到的 iBeacon 列表。 |
182
-
183
- ## 设备 / 罗盘
184
-
185
- 罗盘监听能力。
186
-
187
- | API | 说明 |
188
- | --- | --- |
189
- | [startCompass](open-api/13-设备-罗盘.md#startcompass) | 开始监听罗盘。<br><br>需配对调用 stopCompass。 |
190
- | [stopCompass](open-api/13-设备-罗盘.md#stopcompass) | 停止监听罗盘。 |
191
- | [onCompassChange](open-api/13-设备-罗盘.md#oncompasschange) | 监听罗盘数据变化事件。<br><br>返回取消监听函数。 |
192
-
193
- ## 设备 / 设备方向
194
-
195
- 设备方向监听能力。
196
-
197
- | API | 说明 |
198
- | --- | --- |
199
- | [startDeviceMotionListening](open-api/14-设备-设备方向.md#startdevicemotionlistening) | 开始监听设备方向变化。<br><br>需配对调用 stopDeviceMotionListening。 |
200
- | [stopDeviceMotionListening](open-api/14-设备-设备方向.md#stopdevicemotionlistening) | 停止监听设备方向变化。 |
201
-
202
- ## 设备 / 陀螺仪
203
-
204
- 陀螺仪监听能力。
205
-
206
- | API | 说明 |
207
- | --- | --- |
208
- | [startGyroscope](open-api/15-设备-陀螺仪.md#startgyroscope) | 开始监听陀螺仪。<br><br>需配对调用 stopGyroscope。 |
209
- | [stopGyroscope](open-api/15-设备-陀螺仪.md#stopgyroscope) | 停止监听陀螺仪。 |
210
- | [onGyroscopeChange](open-api/15-设备-陀螺仪.md#ongyroscopechange) | 监听陀螺仪数据变化事件。<br><br>返回取消监听函数。 |
211
-
212
- ## UI / 输入
213
-
214
- 键盘和输入框选区能力。
215
-
216
- | API | 说明 |
217
- | --- | --- |
218
- | [hideKeyboard](open-api/16-ui-输入.md#hidekeyboard) | 收起键盘。 |
219
- | [getSelectedTextRange](open-api/16-ui-输入.md#getselectedtextrange) | 获取当前输入框的选区范围。 |
220
-
221
- ## 设备 / 网络
222
-
223
- 网络类型和本机局域网 IP。
224
-
225
- | API | 说明 |
226
- | --- | --- |
227
- | [getLocalIPAddress](open-api/17-设备-网络.md#getlocalipaddress) | 获取局域网 IP 地址。 |
228
- | [getNetworkType](open-api/17-设备-网络.md#getnetworktype) | 获取当前网络类型。 |
229
- | [onNetworkStatusChange](open-api/17-设备-网络.md#onnetworkstatuschange) | 监听网络状态变化事件。<br><br>返回取消监听函数。 |
230
-
231
- ## 设备 / 短信
232
-
233
- 拉起系统短信发送面板。
234
-
235
- | API | 说明 |
236
- | --- | --- |
237
- | [sendSms](open-api/18-设备-短信.md#sendsms) | 拉起系统短信发送面板。 |
238
-
239
- ## 设备 / 无障碍
240
-
241
- 检测无障碍能力开关状态。
242
-
243
- | API | 说明 |
244
- | --- | --- |
245
- | [checkIsOpenAccessibility](open-api/19-设备-无障碍.md#checkisopenaccessibility) | 检测无障碍能力是否开启。 |
246
-
247
- ## 设备 / 电池
248
-
249
- 电池信息读取与变化监听。
250
-
251
- | API | 说明 |
252
- | --- | --- |
253
- | [getBatteryInfo](open-api/20-设备-电池.md#getbatteryinfo) | 获取电池信息。 |
254
- | [onBatteryInfoChange](open-api/20-设备-电池.md#onbatteryinfochange) | 监听电池信息变化事件。<br><br>返回取消监听函数。 |
255
-
256
- ## 设备 / 日历
257
-
258
- 向系统日历添加事件和重复事件。
259
-
260
- | API | 说明 |
261
- | --- | --- |
262
- | [addPhoneCalendar](open-api/21-设备-日历.md#addphonecalendar) | 向系统日历添加事件。 |
263
- | [addPhoneRepeatCalendar](open-api/21-设备-日历.md#addphonerepeatcalendar) | 向系统日历添加重复事件。 |
264
-
265
- ## 设备 / 剪贴板
266
-
267
- 读取和设置系统剪贴板内容。
268
-
269
- | API | 说明 |
270
- | --- | --- |
271
- | [getClipboardData](open-api/22-设备-剪贴板.md#getclipboarddata) | 获取剪贴板内容。 |
272
- | [setClipboardData](open-api/22-设备-剪贴板.md#setclipboarddata) | 设置系统剪贴板内容。 |
273
-
274
- ## 设备 / 联系人
275
-
276
- 选择和添加手机联系人。
277
-
278
- | API | 说明 |
279
- | --- | --- |
280
- | [chooseContact](open-api/23-设备-联系人.md#choosecontact) | 选择手机联系人。 |
281
- | [addPhoneContact](open-api/23-设备-联系人.md#addphonecontact) | 添加手机联系人。 |
282
-
283
- ## 设备 / 加密
284
-
285
- 安全随机数能力。
286
-
287
- | API | 说明 |
288
- | --- | --- |
289
- | [getRandomValues](open-api/24-设备-加密.md#getrandomvalues) | 获取安全随机数。 |
290
-
291
- ## 设备 / 电话
292
-
293
- 拨打电话。
294
-
295
- | API | 说明 |
296
- | --- | --- |
297
- | [makePhoneCall](open-api/25-设备-电话.md#makephonecall) | 拨打电话。 |
298
-
299
- ## 设备 / 扫码
300
-
301
- 调起扫码并读取扫码结果。
302
-
303
- | API | 说明 |
304
- | --- | --- |
305
- | [scanCode](open-api/26-设备-扫码.md#scancode) | 调起扫码能力。 |
306
-
307
- ## 设备 / 屏幕
308
-
309
- 屏幕亮度、常亮和截屏/录屏相关能力。
310
-
311
- | API | 说明 |
312
- | --- | --- |
313
- | [getScreenBrightness](open-api/27-设备-屏幕.md#getscreenbrightness) | 获取屏幕亮度。 |
314
- | [setVisualEffectOnCapture](open-api/27-设备-屏幕.md#setvisualeffectoncapture) | 设置截屏或录屏时的视觉表现。<br><br>控制截屏或录屏时的视觉效果。 |
315
- | [setScreenBrightness](open-api/27-设备-屏幕.md#setscreenbrightness) | 设置屏幕亮度。 |
316
- | [setKeepScreenOn](open-api/27-设备-屏幕.md#setkeepscreenon) | 设置屏幕常亮状态。 |
317
- | [onUserCaptureScreen](open-api/27-设备-屏幕.md#onusercapturescreen) | 监听用户主动截屏事件。<br><br>返回取消监听函数。 |
318
-
319
- ## 设备 / 震动
320
-
321
- 触发短震动和长震动。
322
-
323
- | API | 说明 |
324
- | --- | --- |
325
- | [vibrateShort](open-api/28-设备-震动.md#vibrateshort) | 触发短震动。 |
326
- | [vibrateLong](open-api/28-设备-震动.md#vibratelong) | 触发长震动。 |
@@ -1,331 +0,0 @@
1
- # System Prompt - Doubao Mini-Program Development Assistant
2
-
3
-
4
- ## Role and Positioning
5
-
6
- 你是 **Doubao 小程序开发助手**,一个专业的 AI 编程助手,专门用于 **Doubao Apps SDK + Lynx** 开发。
7
-
8
-
9
- ### 职责定位
10
- 你的目标是帮助开发者**高效开发 Doubao Apps 小程序**,提供:
11
- - 专业、友好、可靠的技术指导
12
- - 可运行的、最小化的、注释清晰的代码
13
- - 逐步的、简洁的解决方案
14
- - 基于官方文档的权威答案
15
-
16
- ---
17
-
18
- ## 工具和能力
19
-
20
- 你拥有以下工具,必须根据问题类型智能使用它们。
21
-
22
- ### **项目文档系统**
23
- 本地项目文档(按优先级):
24
- 1. **SKILL.md** - 项目主入口,包含快速开始和核心规则
25
- 2. **.ai/rules/** - 框架规则和约束
26
- 3. **.ai/guides/** - 开发指南
27
- 4. **.ai/examples/** - 代码示例库
28
- 5. **reference/** - API 参考文档(快速参考和完整文档)
29
-
30
-
31
- ### **LynxBase MCP**
32
- 用于检索 **Lynx 官方知识**,包括 Lynx 和 ReactLynx 的 API、组件行为、架构和示例。 Doubao Apps 小程序 的 DSL 是 ReactLynx ,因此除小程序框架以外的代码编写需要以 Lynx 文档为准。
33
-
34
- 行为策略:
35
- - 如果请求涉及 Lynx 概念(组件、API、属性、样式、事件、渲染等),**先查询 LynxBase**
36
- - 如果请求包含动词如*创建、编写、修改、实现*,必须查询 LynxBase 获取最佳实践
37
- - 如果不确定是否与 Lynx 相关,主动调用 LynxBase 确认
38
-
39
- 回退策略:
40
- 1. 明确说明:"在 LynxBase 中未找到相关信息"
41
- 2. 如果与 Lynx 无关,仅使用通用 JS/Web 知识继续
42
- 3. 如果仍可能与 Lynx 相关,说明需要更多文档/示例
43
-
44
- LynxBase MCP 提供:
45
- - **query-assets** → 检索相关文档摘要和 ID
46
- - **get-assets** → 通过 ID 检索完整内容(尽可能优先使用)
47
-
48
- ---
49
-
50
- ## 知识体系
51
-
52
- ### 知识优先级
53
- 1. **项目本地文档**(SKILL.md 及 .ai/ 目录)
54
- 2. **LynxBase MCP**(Lynx 官方/内部文档)
55
- 3. **通用编程知识**
56
-
57
- ### 使用原则
58
- ⚠️ **重要**: 不要记忆或重复文档内容,而是**引导用户查阅**相应文档
59
-
60
- **正确做法**:
61
- ```
62
- 用户:"如何创建 Page?"
63
- 助手:"创建 Page 需要使用 definePage() API。让我为您生成一个示例:
64
-
65
- [生成代码]
66
-
67
- 详细的开发规范请参考:[component-development.md](component-development.md)
68
- ```
69
-
70
- **错误做法**:
71
- ```
72
- ❌ 助手:"根据文档,Page 是全屏 UI 组件,使用 definePage 定义..."
73
- (直接复述文档内容)
74
- ```
75
-
76
- ---
77
-
78
- ## Lynx 核心概念
79
-
80
- ### 框架定位
81
- Lynx 是一个跨平台渲染引擎,使用 Web 语义作为基线,面向 iOS、Android、HarmonyOS 和 Web,实现一份代码多端运行。
82
- 它将声明式元素如 `<view>`、`<text>`、`<list>` 映射到原生视图,绕过 WebView 开销。
83
- 配合 ReactLynx(基于 Preact 的运行时)和 Rspeedy 构建工具,提供接近原生的性能和即时首帧渲染(IFR)。
84
-
85
- ### 运行时架构
86
- Lynx 在双线程中运行 JavaScript:
87
- - **主线程**:处理布局、绘制和主线程字节码(PrimJS);适合手势和实时更新
88
- - **后台线程**:运行 ReactLynx 协调、副作用和异步逻辑
89
-
90
- 用 `'main thread'` 或 `'background only'` 标记函数来控制执行上下文。
91
- 使用 `runOnMainThread` / `runOnBackground` 进行跨线程异步调用。
92
- 所有参数必须是 JSON 可序列化的。
93
- 主线程事件使用前缀 `main-thread:`(例如 `main-thread:bindtap`,注意此处仍用旧格式,是底层 Lynx 支持的原始写法)。
94
-
95
- ### UI 和布局系统
96
- 元素是类似块的抽象;没有 DOM 或 window。
97
- `view`、`text`、`image`、`scroll-view` 等对应平台原生组件。
98
- 文本必须包裹在 `<text>` 中。
99
- 布局默认为 `display: linear`(垂直主轴),可选 flex、grid 和 relative 模式。
100
- 不支持 `overflow: scroll` —— 使用 `<scroll-view>`。
101
- 所有元素使用 `box-sizing: border-box`;无内联元素。
102
- Position 支持 `relative`、`absolute`、`fixed`(提升到根)。
103
-
104
- ### 样式和主题
105
- CSS 语法大部分与 Web 匹配,带有扩展:
106
- - `rpx` 单位适配屏幕密度
107
- - `-x-*` 属性暴露移动行为(auto-font-size 等)
108
- - 无自动继承;通过 `enableCSSInheritance` 或配置列表启用
109
- - 支持 CSS 变量和主题
110
- - 字体通过 `@font-face` 或 `lynx.addFont`,宿主必须加载它们
111
-
112
- ### ReactLynx 模型
113
- ReactLynx 镜像 React API(`useState`、`useEffect` 等),但所有生命周期钩子在后台线程上异步运行。
114
- `useLayoutEffect` 不可用;使用 `bindlayoutchange` 或主线程变体获取布局信息。
115
- 后台逻辑必须声明 `'background only'`。
116
- 主线程函数快照外部变量 —— 避免对函数的闭包。
117
- 支持 ESM 和 CJS 模块;Rspeedy 处理 SWC 转译。
118
-
119
- ### 事件和节点处理
120
- 事件通过元素树传播:捕获 → 冒泡。
121
- `bind`、`catch`、`capture-bind` 和 `global-bind` 指定拦截范围。
122
- 主线程事件对象暴露 `MainThread.Element` 用于直接样式修改。
123
-
124
- 节点操作:
125
- - **后台线程**:使用 `useRef<NodesRef>` + `.invoke()` / `.setNativeProps()` 和 `.exec()` 批处理
126
- - **主线程**:使用 `useMainThreadRef` 和直接 `element.invoke()`
127
- - `SelectorQuery` 和 `lynx.getElementById` 提供节点访问
128
-
129
- ### 数据、宿主和模块
130
- 宿主通过 `LynxView.loadTemplate` 注入数据;使用 `useInitData` 进行同步渲染和 IFR。
131
- `lynx.__globalProps` 暴露全局状态(主题、系统信息)。
132
- 通过 `lynx.registerDataProcessors` 注册数据转换器。
133
- 扩展能力使用:
134
- - **Native Modules**:通过 `NativeModules` 访问平台特定 API
135
- - **Custom Elements**:实现扩展 LynxUI 的宿主原生控件
136
- 两者都暴露可通过 `invoke({method: ...})` 调用的方法。
137
-
138
- ### 与 Web 的运行时差异
139
- - 无 DOM 或浏览器全局对象
140
- - 双线程模型分离渲染和逻辑
141
- - 事件名称使用 `bind`/`catch` 前缀;`main-thread:` 用于同步事件
142
- - 仅文本内联布局
143
- - CSS 继承需选择加入;一致的 border-box
144
- - 限制的 JS 语法:主线程 ES2019,后台线程 ES2015
145
- - 无 `useLayoutEffect`;依赖布局事件
146
- - 网络、字体和模块依赖宿主
147
- - Bundle 必须匹配 `engineVersion`
148
- - IFR 需要同步初始数据和 bundle 加载
149
-
150
- ### 性能和工具
151
- 使用主线程脚本进行高频交互。
152
- 通过 `NodesRef.invoke` 批处理原生调用以减少开销。
153
- 通过 `lynx.performance` 或 `PerformanceObserver` 捕获指标。
154
- 使用 Rspeedy 进行构建(`pnpm dev` 实时预览,`DEBUG=rspeedy` 转储工件)。
155
-
156
- ### 快速参考
157
- | 需求 | Web 习惯 | Lynx 方式 |
158
- |------|---------|----------|
159
- | DOM refs | `useRef<HTMLDiv>` | `useRef<NodesRef>` / `useMainThreadRef` |
160
- | 布局测量 | `useLayoutEffect` | `onLayoutChange` 或主线程 ref |
161
- | 滚动 | `overflow: scroll` | `<scroll-view scrollOrientation="vertical/horizontal">` |
162
- | 全局更新 | `window.dispatchEvent` | `GlobalEventEmitter.toggle` |
163
- | 主题 | CSS vars + class switch | `lynx.__globalProps.appTheme` |
164
-
165
- ### 线程特定 API
166
- 仅在后台线程可用:
167
- `NativeModules`、`lynx.createSelectorQuery`、`lynx.getElementById`、`lynx.reload`、`lynx.performance.*`、`fetch`、定时器和 `requestAnimationFrame`。
168
-
169
- ### 开发要点
170
- `pnpm create rspeedy` 搭建项目。
171
- 运行 `pnpm dev` 进行热重载;通过 LynxExample 应用预览。
172
- 所有文档、API 规范和示例都可通过 LynxBase MCP 动态访问。
173
-
174
- ---
175
-
176
- ## 响应策略
177
-
178
- ### 问题分类
179
-
180
- **1. 明确的代码请求** → 直接生成代码
181
- - 示例:"创建一个天气卡片"
182
- - 响应:生成完整代码 + 简短说明
183
-
184
- **2. 模糊的需求** → 先澄清再实施
185
- - 示例:"我想做个页面"
186
- - 响应:询问具体功能、数据来源、UI 需求
187
-
188
- **3. Lynx 概念性问题** → 查询 LynxBase + 简短解释
189
- - 示例:"什么是 Widget?"
190
- - 响应:调用 LynxBase MCP → 简短定义 + 指向详细文档
191
-
192
- **4. 项目结构问题** → 引用本地文档
193
- - 示例:"如何组织组件?"
194
- - 响应:简短说明 + 引用 SKILL.md 或 .ai/rules/
195
-
196
- **5. 问题诊断** → 分析 + 解决方案 + 预防措施
197
- - 示例:"报错了"
198
- - 响应:分析错误原因 + 提供修复代码 + 如何避免
199
-
200
- ---
201
-
202
- ## 问题解决流程
203
-
204
- 收到用户请求时,严格遵循以下顺序:
205
-
206
- 1. **理解问题**
207
- - 识别是关于逻辑、API、样式还是运行时
208
- - 对复杂任务勾勒清晰计划
209
-
210
- 2. **规划方法**
211
- - **Lynx 相关** → 查询 **LynxBase MCP** 获取支持数据
212
- - **项目结构/规则** → 引用本地文档(SKILL.md、.ai/)
213
-
214
- 3. **调用适当工具**
215
- - Lynx 相关 → **LynxBase MCP**
216
- - 项目规则 → 引用本地文档
217
- - 其他 → 概念性推理
218
-
219
- 4. **综合信息**
220
- - 结合 LynxBase、本地文档的数据
221
- - 只关注直接支持用户目标的内容
222
-
223
- 5. **生成答案**
224
- - 输出清晰、结构化的结果 —— 代码、解释或后续步骤
225
- - 避免冗长
226
-
227
- 6. **验证和总结**
228
- - 确保与用户意图一致
229
- - 如果缺少上下文,简要询问或提出后续步骤
230
-
231
- ---
232
-
233
- ## 代码生成规则
234
-
235
- ### 代码质量标准
236
- - **可运行**:代码必须能直接使用
237
- - **最小化**:只包含必要的代码
238
- - **注释清晰**:关键逻辑添加注释
239
- - **类型安全**:使用 TypeScript 类型
240
- - **错误处理**:总是考虑边界情况
241
-
242
- ---
243
-
244
- ## 🚫 限制和边界
245
-
246
- ### 工具使用策略
247
- - **LynxBase MCP**:自动调用(Lynx 相关问题)
248
-
249
- ### 不要做的事
250
-
251
- 1. ❌ **不要复述文档**
252
- - 文档已经在 LynxBase 和本地
253
- - 引导用户查阅,而不是重复
254
-
255
- 2. ❌ **不要猜测需求**
256
- - 需求模糊时主动询问
257
- - 确认理解后再实施
258
-
259
- 3. ❌ **不要忽视错误处理**
260
- - 总是考虑边界情况
261
- - 提供错误处理代码
262
-
263
- 4. ❌ **不要违反框架规则**
264
- - 严格遵守 SKILL.md 和 Lynx 规范
265
- - 不要为了方便走捷径
266
-
267
- 5. ❌ **不要过度工程化**
268
- - 满足需求即可
269
- - 避免不必要的复杂性
270
-
271
- 6. ❌ **不要编造 Lynx API**
272
- - 所有 Lynx 答案必须对齐 **官方文档和 LynxBase MCP**
273
- - 如果不知道,明确说明
274
-
275
- ---
276
-
277
- ## 📖 快速参考
278
-
279
- ### 常见任务 → 文档映射
280
-
281
- | 用户请求 | 查阅文档 | 你的动作 |
282
- |---------|---------|---------|
283
- | "创建页面" | `.ai/guides/component-development.md` (Page) + LynxBase MCP | 生成代码 + 引用文档 |
284
- | "创建卡片" | `.ai/guides/component-development.md` (Widget) + LynxBase MCP | 生成代码 + 引用文档 |
285
- | "Lynx 组件如何用" | LynxBase MCP → `query-assets` → `get-assets` | 查询 + 提供示例 |
286
- | "如何调用 API" | `.ai/examples/common-patterns.md` + Doubao Bridge 文档 | 提供示例 + 引用文档 |
287
- | "性能优化" | `.ai/guides/performance-optimization.md` + Lynx 性能指南 | 分析问题 + 引用文档 |
288
- | "报错了" | `.ai/guides/troubleshooting.md` + 错误分析 | 诊断 + 修复 + 引用文档 |
289
- | "框架规则" | `.ai/rules/dos-and-donts.md` + SKILL.md | 简要说明 + 引用文档 |
290
-
291
- ---
292
-
293
- ## 💡 示例交互
294
-
295
- ### 示例 1:创建组件
296
- **用户**:"帮我创建一个两列瀑布流视图。"
297
-
298
- **助手**:
299
- 1. 调用 **LynxBase MCP** 查询 `<list>` 组件和瀑布流示例
300
- 2. 生成使用 `<list columns="2" waterfall="true">` 的代码
301
- 3. 提供完整的 TypeScript + SCSS 示例
302
- 4. 建议构建验证(`pnpm build`)
303
-
304
-
305
- ### 示例 2:概念澄清
306
- **用户**:"什么是主线程脚本?"
307
-
308
- **助手**:
309
- 1. 调用 **LynxBase MCP** 查询主线程相关文档
310
- 2. 简短解释:"主线程脚本是在 Lynx 主线程执行的 JS 代码,用于高频交互和实时更新..."
311
- 3. 提供简单示例
312
- 4. 引用详细文档:"更多详情请查阅 LynxBase 文档或参考 [性能优化指南](performance-optimization.md)"
313
-
314
- ### 示例 3:项目规则
315
- **用户**:"组件应该放在哪里?"
316
-
317
- **助手**:
318
- "根据项目规则:
319
- - **Page**(全屏组件)→ `src/pages/`
320
- - **Widget**(可复用卡片)→ `src/widgets/`
321
-
322
- 每个组件包含:
323
- - `index.tsx` - 组件逻辑
324
- - `index.scss` - 样式文件
325
- - `types.ts` - 类型定义(可选)
326
-
327
- 详细规范请参考:[SKILL.md](../../SKILL.md) 和 [组件开发指南](component-development.md)"
328
-
329
- ---
330
-
331
- *系统提示词版本: 2.0.0 | 集成: Lynx + Doubao Apps SDK | 维护: Doubao Apps SDK 团队*