* MCP Prompts — 14 个 HarmonyOS 场景化开发提示词
*/
import { z } from 'zod';
export function registerPrompts(server) {
server.registerPrompt('harmonyos_dev', {
title: 'HarmonyOS 通用开发',
description: `编写任意 HarmonyOS NEXT 代码时使用。`,
argsSchema: { topic: z.string().describe('如"UIAbility 生命周期"、"数据持久化"、"网络请求"') },
}, async ({ topic }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildDevPrompt(topic) } }],
}));
server.registerPrompt('harmonyos_arkts', {
title: 'ArkTS 语言开发',
description: `编写 ArkTS 代码时使用。并发、状态管理、容器类库、Worker。`,
argsSchema: { feature: z.string().describe('如"状态管理"、"并发"、"容器类库"、"Worker"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildArkTSPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_arkui', {
title: 'ArkUI 组件开发',
description: `编写 ArkUI 声明式 UI 时使用。组件、布局、动画、手势。`,
argsSchema: { component: z.string().describe('如"List"、"Canvas"、"Navigation"、"弹窗"') },
}, async ({ component }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildArkUIPrompt(component) } }],
}));
server.registerPrompt('harmonyos_api', {
title: 'HarmonyOS API 参考',
description: `查询 @ohos.* API 用法时使用。`,
argsSchema: { module: z.string().describe('如 "@ohos.app.ability.Ability"、"@ohos.net.http"') },
}, async ({ module }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildAPIPrompt(module) } }],
}));
server.registerPrompt('harmonyos_ability', {
title: 'Ability Kit 应用框架',
description: `开发 UIAbility、ExtensionAbility 或 Stage 模型时使用。`,
argsSchema: { feature: z.string().describe('如"UIAbility 生命周期"、"ExtensionAbility"、"Want 跳转"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildAbilityPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_data', {
title: 'ArkData 数据管理',
description: `数据持久化、数据库、分布式数据同步。`,
argsSchema: { feature: z.string().describe('如"关系型数据库"、"键值存储"、"分布式数据对象"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildDataPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_media', {
title: '媒体开发',
description: `音视频、相机、图片处理。`,
argsSchema: { feature: z.string().describe('如"音频播放"、"视频录制"、"相机拍照"、"图片解码"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildMediaPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_network', {
title: '网络通信',
description: `HTTP、WebSocket、Socket、蓝牙、NFC。`,
argsSchema: { feature: z.string().describe('如"HTTP 请求"、"WebSocket"、"蓝牙扫描"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildNetworkPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_security', {
title: '安全与权限',
description: `权限申请、加密解密、用户认证、数据保护。`,
argsSchema: { feature: z.string().describe('如"动态权限"、"AES 加密"、"HUKS 密钥管理"、"生物认证"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildSecurityPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_performance', {
title: '性能优化',
description: `启动速度、内存、渲染、功耗、包体积优化。`,
argsSchema: { feature: z.string().describe('如"启动优化"、"内存泄漏"、"列表流畅度"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildPerformancePrompt(feature) } }],
}));
server.registerPrompt('harmonyos_distributed', {
title: '分布式与跨设备',
description: `跨设备协同、自由流转、多端部署。`,
argsSchema: { feature: z.string().describe('如"跨端迁移"、"多设备协同"、"一次开发多端部署"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildDistributedPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_ndk', {
title: 'NDK/C++ 开发',
description: `C/C++ 原生代码、Node-API 桥接。`,
argsSchema: { feature: z.string().describe('如"N-API 桥接"、"C++ 子进程"、"Native 渲染"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildNDKPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_debug', {
title: '调试与测试',
description: `日志、断点调试、单元测试、UI 测试。`,
argsSchema: { feature: z.string().describe('如"HiLog 日志"、"断点调试"、"单元测试"、"Hypium"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildDebugPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_publish', {
title: '发布与上架',
description: `签名、打包、AppGallery 上架。`,
argsSchema: { feature: z.string().describe('如"应用签名"、"HAP 打包"、"AppGallery 上架"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildPublishPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_file', {
title: '文件管理与存储',
description: `文件 IO、沙箱存储、文件分享、用户文件选择、备份恢复。`,
argsSchema: { feature: z.string().describe('如"应用沙箱"、"文件读写"、"文件分享"、"备份恢复"、"用户文件选择"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildFilePrompt(feature) } }],
}));
server.registerPrompt('harmonyos_notification', {
title: '通知与推送',
description: `Notification Kit 本地通知、Push Kit 远程推送。`,
argsSchema: { feature: z.string().describe('如"基础通知"、"进度条通知"、"通知渠道"、"Push 推送"、"实况窗推送"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildNotificationPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_background', {
title: '后台任务',
description: `BackgroundTasks Kit — 长时任务、短时任务、延迟任务、代理提醒。`,
argsSchema: { feature: z.string().describe('如"长时任务"、"短时任务"、"延迟任务"、"代理提醒"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildBackgroundPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_i18n', {
title: '国际化与本地化',
description: `Localization Kit — 多语言、资源管理、时区、格式化。`,
argsSchema: { feature: z.string().describe('如"多语言适配"、"资源管理"、"时区处理"、"数字格式化"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildI18nPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_accessibility', {
title: '无障碍',
description: `Accessibility Kit — 屏幕朗读、无障碍属性、AccessibilityExtensionAbility。`,
argsSchema: { feature: z.string().describe('如"屏幕朗读"、"无障碍属性"、"无障碍扩展"、"适老化"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildAccessibilityPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_graphics', {
title: '图形与绘制',
description: `ArkGraphics 2D/3D — Canvas 绘制、Native Drawing、XComponent、可变帧率。`,
argsSchema: { feature: z.string().describe('如"Canvas 2D"、"Native Drawing"、"XComponent"、"3D 场景"、"可变帧率"') },
}, async ({ feature }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildGraphicsPrompt(feature) } }],
}));
server.registerPrompt('harmonyos_error', {
title: '错误检查与诊断',
description: `错误码查询、崩溃堆栈解析、运行时异常、编译错误诊断。`,
argsSchema: { error: z.string().describe('如"错误码 16000001"、"NullPointerException"、"Cannot read property"、"编译报错"') },
}, async ({ error }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildErrorCheckPrompt(error) } }],
}));
server.registerPrompt('harmonyos_convert', {
title: '代码转换到 ArkTS',
description: `将其他语言代码转换为 ArkTS/ArkUI。覆盖 Java/Kotlin/JS/TS/Swift/C++。`,
argsSchema: { task: z.string().describe('如"把这段 Java 代码转为 ArkTS"、"Kotlin ViewModel 转 ArkTS"、"React 组件转 ArkUI"') },
}, async ({ task }) => ({
messages: [{ role: 'user', content: { type: 'text', text: buildConvertPrompt(task) } }],
}));
}
function toolsBlock(...names) {
return names.map((n, i) => `${i + 1}. \`${n}\``).join('\n');
}
function buildDevPrompt(t) {
return `你正在为 HarmonyOS NEXT 编写代码。严格遵循官方文档。
**约束**: ArkTS 5.0+ · ArkUI 声明式 · Stage 模型 · 禁用 Node.js/Web API
**任务**: ${t}
**工具**:
${toolsBlock('harmonyos_search_docs', 'harmonyos_get_document', 'harmonyos_get_api_ref', 'harmonyos_list_kits')}
**工作流**: 搜关键词 → 读核心文档 → 基于示例写代码 → 不确定再查`;
}
function buildArkTSPrompt(f) {
return `你正在编写 ArkTS 代码。
**特性**: TaskPool/Worker 并发 · @ObservedV2/@Trace 状态管理 V2 · @arkts.collections 容器 · Sendable 对象
**任务**: ${f}
**工具**:
${toolsBlock('harmonyos_search_docs', 'harmonyos_get_document', 'harmonyos_get_kit_docs', 'harmonyos_search_index')}
**约束**: 不用 Node.js API · 不用 Web API · 并发优先 TaskPool · 状态管理默认 V2`;
}
function buildArkUIPrompt(c) {
return `你正在用 ArkUI 声明式开发界面。
**组件**: ${c || 'Button/Text/Image/List/TextInput/Navigation'}
**布局**: Column/Row/Flex/Grid/Stack · **状态**: V2 @Local/@Param/@ObservedV2 · **渲染**: LazyForEach/Repeat · **动画**: animateTo
**任务**: 开发 ${c} 组件
**工具**:
${toolsBlock('harmonyos_search_docs', 'harmonyos_get_document', 'harmonyos_graph_search', 'harmonyos_get_kit_docs')}
**约束**: 声明式(非类 Web)· PascalCase 组件名 · V2 状态管理 · 列表用 LazyForEach`;
}
function buildAPIPrompt(m) {
return `查找 HarmonyOS API 参考。
**模块**: ${m}
**工具**:
${toolsBlock('harmonyos_get_api_ref', 'harmonyos_get_document', 'harmonyos_search_docs', 'harmonyos_graph_neighbors')}
**约束**: 签名以文档为准 · 注意 @since 版本 · 关注 deprecated · 检查权限要求`;
}
function buildAbilityPrompt(f) {
return `开发 Ability Kit(应用框架)。
**核心**: UIAbility 生命周期 · ExtensionAbility 扩展 · Want 跳转 · AbilityStage 初始化 · Context 上下文
**任务**: ${f}
**工具**: ${toolsBlock('harmonyos_search_docs', 'harmonyos_get_kit_docs', 'harmonyos_get_api_ref', 'harmonyos_graph_neighbors')}
**约束**: Stage 模型 · module.json5 注册 · Want + startAbility · 全局初始化放 AbilityStage`;
}
function buildDataPrompt(f) {
return `开发 ArkData 数据管理。
**核心**: RDB 关系型 · KV Store 分布式 · Preferences 首选项 · 分布式数据对象 · UDMF 标准化
**任务**: ${f}
**工具**: ${toolsBlock('harmonyos_search_docs', 'harmonyos_get_kit_docs', 'harmonyos_get_api_ref')}
**约束**: 结构化→RDB · 轻量→Preferences · 跨设备→分布式对象 · 敏感数据→E类加密`;
}
function buildMediaPrompt(f) {
return `开发媒体功能。
**体系**: Audio Kit · AVCodec Kit · Camera Kit · Image Kit · Media Library · AVSession
**任务**: ${f}
**工具**: ${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref')}
**约束**: 权限检查(MICROPHONE/CAMERA)· 后台音频需长时任务 · 图片注意内存 · 媒体库用 PhotoAccessHelper`;
}
function buildNetworkPrompt(f) {
return `开发网络通信。
**能力**: HTTP/RCP · WebSocket · Socket · 蓝牙 · NFC
**任务**: ${f}
**工具**: ${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref')}
**约束**: INTERNET 权限 · HTTPS 默认校验 · 大文件用 @ohos.request · 后台结合 BackgroundTasks`;
}
function buildSecurityPrompt(f) {
return `开发安全功能。
**体系**: 权限管理 · Crypto 加解密 · HUKS 密钥 · 用户认证 · Asset Store
**任务**: ${f}
**工具**: ${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref')}
**约束**: 敏感权限动态申请 · 密钥用 HUKS · 优先国密 SM2/SM4 · ACL 受限权限需审核`;
}
function buildPerformancePrompt(f) {
return `优化应用性能。
**方向**: 启动 AppStartup · 内存 Allocation/Snapshot · 渲染 LazyForEach · 功耗 Energy · 包体积 HSP
**任务**: ${f}
**工具**: ${toolsBlock('harmonyos_search_docs', 'harmonyos_get_document')}
**约束**: Profiler 真机分析 · 列表 LazyForEach+@Reusable · 启动避免同步 I/O · 注意生命周期解绑`;
}
function buildDistributedPrompt(f) {
return `开发分布式功能。
**能力**: 跨端迁移 · 多设备协同 · 多端部署 · 分布式数据
**任务**: ${f}
**工具**: ${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref')}
**约束**: 同华为账号 · 注意一致性冲突 · 响应式布局 · 流转配置 continuable`;
}
function buildNDKPrompt(f) {
return `C/C++ 原生开发。
**能力**: Node-API 桥接 · ChildProcess 子进程 · XComponent Native 渲染 · CMake 构建
**任务**: ${f}
**工具**: ${toolsBlock('harmonyos_search_docs', 'harmonyos_search_index')}
**约束**: N-API 在 ArkTS 线程 · .so 放 libs/ · 子进程用 ChildProcess · 渲染用 Native Drawing`;
}
function buildDebugPrompt(f) {
return `调试与测试。
**工具**: HiLog · HiTrace · HiCollie · Hypium 单元测试 · uitest UI 测试 · Profiler
**任务**: ${f}
**工具**: ${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref')}
**约束**: 生产关 HiLog · 测试用 Hypium · 错误码查文档 · Profiler 用真机`;
}
function buildPublishPrompt(f) {
return `发布到应用市场。
**流程**: 签名 → 构建 .app → AppGallery Connect 上架 → 版本管理
**任务**: ${f}
**工具**: ${toolsBlock('harmonyos_search_docs', 'harmonyos_get_document')}
**约束**: Release 正式签名 · 检查 ACL 权限 · bundleName 一致 · 混淆加固按需`;
}
function buildFilePrompt(f) {
return `开发文件管理与存储功能。
**体系**: Core File Kit · File Manager Service Kit · FilePicker · 备份恢复
**核心能力**:
- 应用沙箱: temp/ files/ cache/ preferences/ bundle/ rawfile/
- 文件 IO: @ohos.file.fs — 创建、读写、复制、删除、遍历、流操作
- 文件分享: @ohos.file.share — 跨应用分享文件
- 用户文件: FilePicker (DocumentViewPicker/PhotoViewPicker/AudioViewPicker) 选择用户文件
- 公共目录: 相册/下载/桌面等系统公共目录访问
- 备份恢复: 应用数据备份恢复框架
- 分布式文件: 跨设备文件共享与拷贝
- 端云协同: 设备-云端文件协同
**任务**: ${f}
**工具**:
${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref', 'harmonyos_get_document', 'harmonyos_get_kit_docs')}
**约束**: 不脱离沙箱目录 · FilePicker 选用户文件需授权持久化 · 敏感文件加密存储 · 大文件用流式读写 · 备份需注册 BackupExtensionAbility`;
}
function buildNotificationPrompt(f) {
return `开发通知与推送功能。
**体系**: Notification Kit(本地通知)· Push Kit(远程推送)
**Notification Kit 能力**:
- 基础通知: 文本/多行/图片/大文本类型通知
- 进度条通知: 下载/上传等带进度的通知
- 行为意图: WantAgent 点击跳转
- 通知渠道: 分类管理、通知设置快捷入口
- 通知角标: 桌面图标角标管理
- 通知授权: 请求/检查通知权限
- 跨设备协同通知: 多设备同步清除通知
**Push Kit 能力**:
- Push Token: 获取/更新/删除推送 Token
- 场景化消息: 通知消息/后台消息/卡片刷新/实况窗/语音播报/应用内通话
- 消息回执: 送达/点击/撤回回执
- 鉴权: OAuth 2.0 服务账号令牌
**任务**: ${f}
**工具**:
${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref', 'harmonyos_get_kit_docs', 'harmonyos_get_document')}
**约束**: 通知需先请求授权 · 场景化消息需申请权益 · Push 需开通服务 · 内容需合规(违规会被处罚)· 频控限制`;
}
function buildBackgroundPrompt(f) {
return `开发后台任务。
**体系**: Background Tasks Kit
**任务类型**:
- 长时任务: 音视频播放/录制、导航、下载、蓝牙通信等,申请后可后台持续运行
- 短时任务: 有限时间内完成后台收尾工作(3分钟以内)
- 延迟任务: WorkScheduler — 在网络/充电/空闲等条件下自动触发
- 代理提醒: Reminder Agent — 定时提醒(闹钟/日历/倒计时)
**关键 API**:
- @ohos.resourceschedule.backgroundTaskManager — 长时/短时任务
- @ohos.resourceschedule.workScheduler — 延迟任务调度
- @ohos.resourceschedule.backgroundProcessManager — 后台子进程
- @ohos.reminderAgentManager — 代理提醒
**任务**: ${f}
**工具**:
${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref', 'harmonyos_get_kit_docs')}
**约束**: 长时任务需声明 reasons · 短时任务不超过 3 分钟 · 延迟任务系统调度不保证精确 · 代理提醒需用户授权 · 功耗敏感场景慎用`;
}
function buildI18nPrompt(f) {
return `开发国际化与本地化功能。
**体系**: Localization Kit
**核心能力**:
- 资源管理: @ohos.resourceManager — 多语言 string.json、限定词目录(zh_CN/en_US)、rawfile
- 国际化: @ohos.i18n — 系统语言/区域/偏好语言获取、时区/夏令时处理
- 格式化: @ohos.intl — 数字/货币/日期/电话号码格式化、多语言排序/索引
- 本地化: 语言与地区名称、区域 ID 与文化习惯、日历设置
**关键 API**:
- @ohos.resourceManager — 资源加载($r('app.string.xxx'))
- @ohos.i18n — 系统国际化信息
- @ohos.intl — 格式化器(NumberFormat/DateTimeFormat 等)
- @ohos.sendableResourceManager — Sendable 资源管理
**任务**: ${f}
**工具**:
${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref', 'harmonyos_get_kit_docs')}
**约束**: 避免硬编码字符串 · 不用拼接构建 UI 文本 · 支持单复数 · 注意 RTL 布局 · resource/ 下维护多语言资源`;
}
function buildAccessibilityPrompt(f) {
return `开发无障碍功能。
**体系**: Accessibility Kit
**核心能力**:
- 屏幕朗读: 组件标注、焦点管理、内容变化通知、自定义播报
- 无障碍属性: accessibilityGroup/accessibilityText/accessibilityDescription
- 无障碍扩展: AccessibilityExtensionAbility — 自定义辅助服务
- 适老化: 字体缩放、高对比度、大点击区域
**关键 API**:
- @ohos.accessibility — 辅助功能核心 API
- @ohos.accessibility.GesturePath/GesturePoint — 手势路径
- @ohos.application.AccessibilityExtensionAbility — 扩展能力
- ArkUI 组件通用属性: accessibilityGroup()/accessibilityText()/accessibilityLevel()
**任务**: ${f}
**工具**:
${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref', 'harmonyos_get_document')}
**约束**: 所有交互控件需标注 · 图片/图标需 contentDescription · 动态内容变化需主动通知 · 操作错误需播报提示 · 测试用屏幕朗读工具验证`;
}
function buildGraphicsPrompt(f) {
return `开发图形与绘制功能。
**体系**: ArkGraphics 2D · ArkGraphics 3D · XComponent · Native Drawing
**核心能力**:
- ArkGraphics 2D: Canvas 绘制(几何/图片/文字)、画布状态、复杂效果(阴影/渐变/滤镜/混合)
- Native Drawing: C/C++ 侧直接绘制到 NativeWindow
- ArkGraphics 3D: 3D 场景加载、模型渲染、材质光照
- XComponent: 嵌入 Native 渲染表面(EGL/Vulkan/Metal)
- 图形缓冲区: NativeBuffer/NativeImage/NativeWindow
- 可变帧率: NativeDisplaySoloist / FrameRateRange
**关键 API**:
- @ohos.graphics.drawing — 2D 绘制(ArkTS + C API)
- @ohos.graphics.displaySync — 帧率控制
- XComponent 组件: type="surface" 嵌入 Native 渲染
- RenderNode: ArkUI 自绘制节点
**任务**: ${f}
**工具**:
${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref', 'harmonyos_get_kit_docs', 'harmonyos_graph_search')}
**约束**: Canvas 注意 save/restore · Native 渲染注意线程安全 · XComponent 配置 surface 类型 · 大资源用异步加载 · 注意 GPU 内存`;
}
function buildErrorCheckPrompt(e) {
return `你正在诊断 HarmonyOS 应用错误。
**错误信息**: ${e}
**诊断体系**:
- 错误码查询: 搜索官方文档错误码 → 定位根因 → 按建议修复
- 崩溃/ANR/冻结: FaultLogger (faultLogger.query) → 堆栈解析 → 定位崩溃线程
- 运行时异常: try-catch 捕获 → HiLog 打印 → 边界条件检查
- 编译错误: tsconfig 配置 → 类型声明 → 模块导入路径
- 权限错误: 201 权限拒绝 → 检查 module.json5 requestPermissions
- 生命周期错误: UIAbility/页面 生命周期回调时序
**关键 API**:
- @ohos.hiviewdfx.hiAppEvent — 应用事件打点
- @ohos.hiviewdfx.faultLogger — 崩溃/ANR/冻结信息查询
- @ohos.hiviewdfx.hiLog — 日志输出(WARN/ERROR/FATAL 级别)
- @ohos.hiviewdfx.hiTraceMeter — 追踪标记(定位耗时)
- @ohos.hiviewdfx.hiChecker — 耗时/内存检查
**诊断策略**:
- 有的错误码 → \`harmonyos_search_docs\` 搜错误码号
- 无错误码 → 堆栈关键词搜 \`harmonyos_search_docs\`
- 编译报错 → 检查 ArkTS 语法规范 + 模块路径
- 白屏/闪退 → faultLogger 查崩溃栈 + HiLog ERROR 级别过滤
- 渲染异常 → @Reusable 生命周期 + LayoutInspector
**工具**:
${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref', 'harmonyos_get_document', 'harmonyos_graph_search')}
**约束**: 先查错误码再改代码 · 关注 @since API 版本 · 注意 deprecated · 生产环境关闭 HiLog · 崩溃用真机抓 faultLogger`;
}
function buildConvertPrompt(t) {
return `你正在将代码转换为 ArkTS/ArkUI。
**任务**: ${t}
**各语言迁移映射**:
| 源语言 | ArkTS 对应 |
|--------|-----------|
| Java (Android) | ArkTS · UIAbility 替代 Activity · ArkUI 替代 XML 布局 |
| Kotlin (Android) | ArkTS · @State/@Prop 替代 ViewModel/LiveData · Column/Row 替代 Compose |
| JavaScript | ArkTS 严格类型 · 禁用 eval/动态类型 · @ohos.* 替代 Web API |
| TypeScript | ArkTS 严格模式 · 部分 TS 特性受限 · Sendable 替代 any |
| React/Vue | ArkUI 声明式 · @Component 替代 Function Component · LazyForEach 替代 map |
| Swift (iOS) | ArkTS · UIAbility 替代 AppDelegate · ArkUI 替代 SwiftUI |
| C/C++ | N-API 桥接 · Addon 模块 · XComponent Native 渲染 |
**ArkTS 关键约束**:
- 禁用: eval()、new Function()、动态 import、any/unknown
- 禁用: document/window/navigator 等 Web API
- 禁用: process/fs/net/http(Built-in) 等 Node.js API
- 强制: 静态类型标注、结构化并发 (TaskPool/Worker)
- 状态: V2 (@ObservedV2/@Trace/@Computed/@Local/@Param/@Provider/@Consumer)
- 模块: import from '@ohos.*' 替代 npm 包
**转换策略**:
- 先查文档 → \`harmonyos_search_docs\` 搜目标 API
- 不确定 API 对应 → \`harmonyos_get_api_ref\` 查 @ohos.* 模块
- 结构类比 → Activity→UIAbility、Fragment→@Component、Intent→Want
- 布局转换 → ConstraintLayout→Grid/RelativeContainer、RecyclerView→List+LazyForEach
- 异步转换 → Promise→async/await、RxJava→TaskPool、Handler→EventHub
**工具**:
${toolsBlock('harmonyos_search_docs', 'harmonyos_get_api_ref', 'harmonyos_get_document', 'harmonyos_graph_search')}
**约束**: 逐语义转换不逐行翻译 · 遵循 Stage 模型 · 状态管理用 V2 · 不用 any · UI 用 ArkUI 声明式`;
}