引言
一开始的目标是在鸿蒙 App 里接入一个 AI 功能,例如智能搜索、AI 助手或支持自然语言操作。但实际开发后发现,不是给 App 加 AI,而是 AI 在重写整个 App 的逻辑,这是架构级别的变化。
一、最开始,我只是加了一个'AI 页面'
最初的实现很典型:首页新增一个 AI 页面,调用大模型接口,展示结果。
@Entry
@Component
struct AIPage {
@State input: string = ""
@State reply: string = ""
async send() {
this.reply = await aiService.chat(this.input)
}
}
当时以为这样完成了,但很快问题就来了。
二、AI 开始'绕过页面'
用户开始提一些请求,如帮我查一下订单、推荐几个商品、看看今天有什么安排。这些需求本来应该对应订单页、商品页、日程页,但现在用户根本没有进入这些页面,AI 直接返回了结果。
这时候第一次意识到:页面,不再是唯一入口了。
三、Service 层突然变成核心
以前代码结构是 Page → Service → API,但现在变成 AI → Service → Page → Service。也就是说 Service 被两个入口调用:UI 和 AI。
1 有些 Service 写在页面里
// Page 内部逻辑
async loadOrders() {
return await api.get("/orders")
}
AI 根本调不了。
2 有些逻辑和 UI 强绑定
this.loading = true
this.orders = await api.get()
this. =


