诗词创作助手基于 HarmonyOS ArkTS 的 AI 古典文学创作应用开发实践本文基于 HarmonyOS 6.0 ArkTS DevEco Studio从零构建一个覆盖六大诗词创作场景的 AI 对话应用。涵盖Entry/Component/Builder 声明式 UI、State 响应式状态管理、router 多页面导航、三层架构设计以及 AI 诗词创作的体系化生成策略适合鸿蒙应用开发者参考。一、项目背景“熟读唐诗三百首不会作诗也会吟”——但真正能写出合格诗词的人并不多。诗词创作的门槛在于格律规则平仄、押韵、对仗、意象积累风花雪月、山水草木、典故运用化用前人、自出机杼三者缺一不可。本项目基于 HarmonyOS 6.0 平台构建了一个「诗词创作助手」AI 对话应用。应用集成了六大诗词创作场景——唐诗、宋词、现代诗、对联、诗词赏析、灵感启发——用户输入主题或关键词即可获得 AI 创作的诗词作品。鸿蒙特色亮点EntryComponentBuilder声明式组件化 UIState响应式状态驱动 UI 自动刷新router.pushUrl实现首页卡片到聊天页的无缝导航ForEachScroll高性能渲染消息列表二、核心架构2.1 三层架构entry/src/main/ets/ ├── models/ │ └── ShiCiChuangZuoModel.ets # 数据模型消息、话题、诗词条目 ├── services/ │ └── ShiCiChuangZuoService.ets # 业务服务AI 诗词生成、关键词匹配 └── pages/ └── ShiCiChuangZuo.ets # UI 页面聊天界面、话题栏、输入区2.2 鸿蒙 ArkTS 装饰器速查装饰器作用本应用中的使用Entry页面入口标记ShiCiChuangZuo作为独立路由页面Component自定义组件声明所有 struct 结构体State响应式状态messages、inputText、isLoading、selectedTopicBuilderUI 构建器方法buildHeader()、buildTopicBar()、buildMessageBubble()等2.3 数据模型ShiCiChuangZuoModel.etsexportenumMessageRole{USERuser,ASSISTANTassistant}exportenumShiCiTopic{TANGSHI唐诗,SONGCI宋词,XIANDAI现代诗,DUILIAN对联,SHANGXI诗词赏析,LINGGAN灵感启发}exportclassChatMessage{role:MessageRole;content:string;timestamp:numberconstructor(role:MessageRole,content:string){this.rolerole;this.contentcontent;this.timestampDate.now()}}exportclassShiCiItem{title:string;author:string;dynasty:string;content:string;style:string// 为诗词收藏和分享预留的数据结构}三、AI 服务层六大诗词创作场景3.1 系统提示词设计privatesystemPrompt:string你是一位精通中国古典诗词的AI创作助手擅长唐诗、宋词、现代诗、对联等多种文体。\n\n你的任务\n1. 创作唐诗五言/七言绝句、律诗讲究平仄、押韵、对仗\n2. 填写宋词各词牌如蝶恋花、水调歌头、如梦令等\n3. 创作现代诗自由诗、抒情诗、哲理诗\n4. 对对联出上联对下联或出下联对上联\n5. 诗词赏析解读意境、典故、艺术手法\n6. 灵感启发以物作诗、以景作诗、以情作诗\n\n创作原则\n- 格律严谨唐诗遵守平仄和押韵规则宋词遵循词牌格律\n- 意境优先诗以意境为上言之有物情景交融\n- 雅俗共赏兼顾文采和可读性既有古典韵味又不晦涩难懂3.2 六大话题内容结构话题创作类型示例输出唐诗五言/七言绝句、律诗以春为题创作七言绝句宋词蝶恋花、水调歌头等词牌以月为题填《水调歌头》现代诗自由诗、抒情诗以城市的夜创作现代诗对联上下联创作出上联征下联赏析对仗技巧诗词赏析名篇解读解读《静夜思》的意境和手法灵感启发主题创作以梅花为题提供创作角度每个话题的回复都包含完整的诗词作品、创作说明和格律注释让用户不仅看到诗还能读懂诗。四、鸿蒙 UI 组件化实现4.1 组件树ShiCiChuangZuo (主页面) ├── buildHeader() # 标题栏 诗词创作助手 ├── buildTopicBar() # 横向滚动话题标签 ├── Scroll ForEach # 消息列表 │ ├── buildMessageBubble() # 消息气泡 │ └── buildLoadingBubble() # 加载中状态 └── buildInputArea() # 底部输入区4.2 State 驱动 UI 刷新Statemessages:ChatMessage[][]// 聊天记录 → ForEach 自动渲染StateinputText:string// 输入内容 → 发送按钮状态联动StateisLoading:booleanfalse// 加载状态 → 显示创作中提示StateselectedTopic:string// 选中话题 → 高亮切换4.3 发送逻辑异步模拟 滚动优化privateonSend():void{this.messages.push(newChatMessage(MessageRole.USER,text))this.inputText;this.isLoadingtruesetTimeout((){this.scroller.scrollEdge(Edge.Bottom)},200)setTimeout((){constreplythis.service.generateMockReply(text)this.messages.push(reply)this.isLoadingfalsesetTimeout((){this.scroller.scrollEdge(Edge.Bottom)},100)},1500)}五、首页整合与路由导航应用首页 [Index.ets](file:///c:/Users/l/DevEcoStudioProjects/MyApplication/entry/src/main/ets/pages/Index.ets) 通过router.pushUrl实现卡片点击跳转import{router}fromkit.ArkUI.onClick((){router.pushUrl({url:pages/ShiCiChuangZuo})})路由注册在 [main_pages.json](file:///c:/Users/l/DevEcoStudioProjects/MyApplication/entry/src/main/resources/base/profile/main_pages.json){src:[pages/Index,pages/LvxingPage,pages/XuexiPage,pages/JiankangPage,pages/ShiCiChuangZuo]}六、紫色主题配色用途色值语义页面背景#FAF5FF极浅紫色典雅而不沉闷主色调#8B5CF6标准紫色代表典雅、文化、诗意边框#DDD6FE浅紫色柔和分隔强调色#EA580C橙色与紫色形成对比用于清除按钮所有颜色定义为页面级const常量独立于其他应用互不干扰。七、鸿蒙 AI 核心亮点亮点一State 响应式状态管理ArkTS 的核心理念是状态驱动 UI。只需修改State变量框架自动触发 UI 重新渲染。4 个 State 变量覆盖了消息列表、输入框、加载状态、选中态的完整交互闭环。亮点二Builder 声明式组件化Builder让 UI 逻辑从 build() 方法中抽离每个 Builder 方法对应一个独立 UI 区块。组件树结构清晰新增功能只需添加新的 Builder 方法。亮点三三层架构的跨项目复用Model数据定义→ Service业务逻辑→ ViewUI 渲染职责清晰。四个 AI 应用的 View 层代码高度相似只需替换 Service 和 Model 即可切换主题。亮点四AI 诗词创作的体系化不是简单的写一首诗而是提供完整的诗词作品 创作说明 格律注释。用户不仅能看到 AI 创作的诗词还能理解创作背后的技巧和意境。亮点五router 路由的多页面整合通过router.pushUrl实现首页到聊天页的无缝跳转用户无需切换 App即可在同一应用中体验四个 AI 助手。亮点六ShiCiItem 扩展预留数据模型中预留了ShiCiItem类包含标题、作者、朝代、内容、风格为后续的诗词收藏、分享、社区功能提供了数据基础。八、总结诗词创作助手是 HarmonyOS ArkTS AI 在中国古典文学领域的实践。核心经验State Builder 是 ArkTS 的核心范式状态驱动 UI声明式描述界面AI 创作需要赏析配套不仅给出作品还解释创作技巧和意境三层架构解耦Model / Service / View 分离降低维护成本router 路由整合多 AI 应用共存于同一 App配色独立管理页面级常量避免跨应用颜色污染 诗词是中华文化的瑰宝AI 不是替代诗人而是让更多人感受诗词之美。希望这篇文章能为你的鸿蒙 AI 应用开发提供一些启发。