@doubao-apps/create 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.
- package/dist/36.js +1 -1
- package/dist/cli.js +10 -10
- package/dist/template-empty/AGENTS.md +20 -20
- package/dist/template-empty/package.json +2 -2
- package/dist/template-empty/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
- package/dist/template-empty/references/reference/open-api/02-/350/267/257/347/224/261.md +63 -0
- package/dist/template-empty/{.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
- package/dist/template-empty/references/reference/open-api/04-/346/225/260/346/215/256/345/210/206/346/236/220.md +67 -0
- package/dist/{template-starter/.ai/reference/open-api/16-ui- → template-empty/references/reference/open-api/12-ui-}/350/276/223/345/205/245.md +0 -16
- package/dist/template-empty/references/reference/open-api/README.md +32 -0
- package/dist/template-empty/{.ai → references}/reference/open-api.md +420 -10
- package/dist/template-starter/AGENTS.md +20 -20
- package/dist/template-starter/README.md +48 -33
- package/dist/template-starter/package.json +2 -2
- package/dist/template-starter/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
- package/dist/template-starter/references/reference/open-api/02-/350/267/257/347/224/261.md +63 -0
- package/dist/template-starter/{.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
- package/dist/template-starter/references/reference/open-api/04-/346/225/260/346/215/256/345/210/206/346/236/220.md +67 -0
- package/dist/{template-empty/.ai/reference/open-api/16-ui- → template-starter/references/reference/open-api/12-ui-}/350/276/223/345/205/245.md +0 -16
- package/dist/template-starter/references/reference/open-api/README.md +32 -0
- package/dist/template-starter/{.ai → references}/reference/open-api.md +420 -10
- package/package.json +1 -1
- package/dist/template-empty/.ai/guides/system-prompt.md +0 -331
- package/dist/template-empty/.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
- package/dist/template-empty/.ai/reference/open-api/02-/345/255/230/345/202/250.md +0 -409
- package/dist/template-empty/.ai/reference/open-api/03-/350/267/257/347/224/261.md +0 -165
- package/dist/template-empty/.ai/reference/open-api/04-/347/225/214/351/235/242-/344/272/244/344/272/222.md +0 -432
- package/dist/template-empty/.ai/reference/open-api/06-/347/275/221/347/273/234.md +0 -148
- package/dist/template-empty/.ai/reference/open-api/07-/345/252/222/344/275/223.md +0 -346
- package/dist/template-empty/.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
- package/dist/template-empty/.ai/reference/open-api/README.md +0 -36
- package/dist/template-starter/.ai/guides/system-prompt.md +0 -331
- package/dist/template-starter/.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
- package/dist/template-starter/.ai/reference/open-api/02-/345/255/230/345/202/250.md +0 -409
- package/dist/template-starter/.ai/reference/open-api/03-/350/267/257/347/224/261.md +0 -165
- package/dist/template-starter/.ai/reference/open-api/04-/347/225/214/351/235/242-/344/272/244/344/272/222.md +0 -432
- package/dist/template-starter/.ai/reference/open-api/06-/347/275/221/347/273/234.md +0 -148
- package/dist/template-starter/.ai/reference/open-api/07-/345/252/222/344/275/223.md +0 -346
- package/dist/template-starter/.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
- package/dist/template-starter/.ai/reference/open-api/README.md +0 -36
- /package/dist/template-empty/{.ai → references}/examples/common-patterns.md +0 -0
- /package/dist/template-empty/{.ai → references}/examples/component-basics.md +0 -0
- /package/dist/template-empty/{.ai → references}/guides/best-practices.md +0 -0
- /package/dist/template-empty/{.ai → references}/guides/component-development.md +0 -0
- /package/dist/template-empty/{.ai → references}/guides/performance-optimization.md +0 -0
- /package/dist/template-empty/{.ai → references}/guides/troubleshooting.md +0 -0
- /package/dist/template-empty/{.ai → references}/reference/components-quick-ref.md +0 -0
- /package/dist/template-empty/{.ai → references}/reference/framework-api-quick-ref.md +0 -0
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.ai/reference/open-api/10- → references/reference/open-api/06-}/350/256/276/345/244/207-wi-fi.md" +0 -0
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.ai/reference/open-api/12- → references/reference/open-api/08-}/350/256/276/345/244/207-ibeacon.md" +0 -0
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.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
- /package/dist/template-empty/{.ai → references}/rules/dos-and-donts.md +0 -0
- /package/dist/template-starter/{.ai → references}/examples/common-patterns.md +0 -0
- /package/dist/template-starter/{.ai → references}/examples/component-basics.md +0 -0
- /package/dist/template-starter/{.ai → references}/guides/best-practices.md +0 -0
- /package/dist/template-starter/{.ai → references}/guides/component-development.md +0 -0
- /package/dist/template-starter/{.ai → references}/guides/performance-optimization.md +0 -0
- /package/dist/template-starter/{.ai → references}/guides/troubleshooting.md +0 -0
- /package/dist/template-starter/{.ai → references}/reference/components-quick-ref.md +0 -0
- /package/dist/template-starter/{.ai → references}/reference/framework-api-quick-ref.md +0 -0
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.ai/reference/open-api/10- → references/reference/open-api/06-}/350/256/276/345/244/207-wi-fi.md" +0 -0
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.ai/reference/open-api/12- → references/reference/open-api/08-}/350/256/276/345/244/207-ibeacon.md" +0 -0
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.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
- /package/dist/template-starter/{.ai → references}/rules/dos-and-donts.md +0 -0
|
@@ -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 团队*
|