# 给你的产品嵌入一个「会操作界面的 AI 助手」

给你的产品嵌入一个「会操作界面的 AI 助手」:用户说一句话,助手替他把活儿做完

用户不会用你的系统,不是因为系统难------是因为没有人陪着他操作。


先说一个场景

你做了一个商户管理后台,功能很完整,但用户每次遇到「创建订单」「修改门店配置」这类操作,要么反复看文档,要么找客服。

如果后台里有个助手,用户直接说:「帮我创建一笔订单」------

助手就真的在页面上操作起来:

  • 自动导航到订单管理页
  • 点开新建订单的弹窗
  • 帮用户填好表单字段
  • 最后提交

整个过程,每一步都有蓝色高亮框标注正在操作的元素,虚拟光标移动到对应位置,用户能清清楚楚看到助手在做什么------不是黑盒,是有反馈的引导。

这就是 InterfaceMode 想做的事。


它解决什么问题

传统助手:只会说,不会做

大多数产品内嵌的 AI 助手是这样工作的:

用户:怎么创建订单? 助手:请点击左侧菜单的「订单管理」,然后点击右上角的「新建订单」按钮......

用户还是得自己照着描述一步步操作,遇到界面不一样或者找不到按钮,照样卡住。

InterfaceMode:说完就帮你做完

用户输入意图,助手直接在界面上完成操作,并且每一步都有实时视觉反馈------高亮当前操作的元素,模拟光标移动------让用户知道「助手正在帮我操作第几步」。

操作结束后,助手用自然语言告诉用户结果,像一个真人陪着操作一样。


演示一下

在线体验2019-02-18.github.io/interface-m...

这是一个模拟的商户后台,右下角有助手悬浮按钮。配置好 AI 接口后,对助手说:

「创建一笔订单」

你会看到:

  1. 助手在聊天框说「正在导航到订单管理页」------页面真的跳过去了
  2. 「点击新建订单按钮」------按钮出现高亮蓝框,光标移过去,弹窗打开
  3. 「正在填写客户名称」------输入框高亮,文字自动填入
  4. 「提交订单」------提交按钮高亮,点击,完成

用户全程只说了一句话,其余的助手替他做好了,并且每一步都看得见。


为什么视觉反馈很重要

这是 InterfaceMode 和「后台静默脚本」的本质区别。

用户看见助手在帮他操作,才会信任这个助手。 看见高亮框停在「客户名称」输入框上,才知道助手没填错地方。 看见光标移向「提交」按钮,才放心地等待结果。

这种设计更接近一个有经验的同事坐在旁边陪你操作,而不是一个你看不懂的黑盒在后台跑。


安全边界是内置的

并不是所有操作都适合助手代劳。框架内置了两级策略:

直接拦截:比如「注销账号」这类高危操作,站点配置里写明禁止,助手即使收到指令也不会执行,会告诉用户「这个操作需要您亲自完成,我帮您定位到按钮位置」。

二次确认:批量删除、大额操作等,助手会先展示即将做什么,用户确认后再执行。

这样既保留了助手的便利性,也把关键权限留在用户手里。


开发者视角:怎么把它接入你的产品

InterfaceMode 是一个开源框架,框架本身不绑定任何业务逻辑。接入一个新网站,只需要写一份 SitePack(站点包),告诉助手这个网站能做什么。

SitePack 是什么

一个 TypeScript 对象,声明四件事:

typescript 复制代码
export const sitePack: SitePack = {
  siteId: 'my-admin',
  name: '我的管理后台',
  skillsMarkdown: runtimeGuide,  // 给 AI 看的操作手册

  // 1. 预定义操作路径(用户说「创建订单」时走哪几步)
  playbooks: [
    {
      id: 'create_order',
      triggers: ['创建订单', '新建订单', '下单'],
      steps: [
        { tool: 'click', find: { textContains: '订单管理' }, explanation: '进入订单管理页' },
        { tool: 'click', find: { textContains: '新建订单' }, explanation: '打开新建弹窗' },
        { tool: 'input', find: { textContains: '客户名称' }, inputValue: '{{name}}', explanation: '填写客户名' },
        { tool: 'click', find: { textContains: '提交' }, explanation: '提交订单' },
      ],
    },
  ],

  // 2. 直接调用的业务接口(查数据不扒 DOM,更准确)
  apis: {
    getRevenue: async () => {
      const data = await window.myApp.getRevenue();
      return { success: true, message: `今日营收:¥${data.total}` };
    },
  },

  // 3. 禁止助手自动执行的高危操作
  blockedActions: [
    {
      id: 'block-logout',
      reason: '注销账号需您亲自确认,已为您定位到按钮',
      when: { action: 'click', textContains: '注销账号' },
    },
  ],
};

初始化只需一行

typescript 复制代码
import { InterfaceModeRuntime } from './framework/runtime';
import { sitePack } from './site-packs/my-admin';

new InterfaceModeRuntime({ sitePack });
// 悬浮助手窗口自动挂载到页面,不需要改任何 HTML

不需要给页面加任何标记

框架通过页面上的可见文字、aria 语义、label 关联 定位元素,不依赖 data-testid 或特殊属性。你现有的页面不需要做任何改造。


支持国内主流大模型

助手的第一次使用需要在设置里配置 AI 接口:

提供商 推荐模型 说明
DeepSeek deepseek-chat 推理能力强,适合多步骤任务规划
通义千问(Qwen) qwen-max 国内直连稳定
OpenAI 兼容接口 任意 本地部署的模型也支持

配置信息只存在用户浏览器的 localStorage 里,不经过任何第三方服务器。


这个框架适合谁用

  • 做 ToB 产品的团队:帮企业用户快速上手复杂系统,减少培训和客服成本
  • 内部工具开发者:给公司内部系统加一个会操作的助手,降低员工学习成本
  • 想研究 AI Agent 落地的开发者:一个完整的、可运行的参考实现,包含快照、执行、视觉反馈、多轮规划的完整链路

项目信息

目前是可用的开源参考实现。如果你在做类似的事,或者对「让 AI 助手真正融入产品界面」这个方向感兴趣,欢迎交流。

相关推荐
ShallWeL1 小时前
【机器学习】(3)—— 线性回归:梯度下降
人工智能·机器学习
陈广亮1 小时前
Prompt、Context、Harness、Agentic:LLM 应用四层嵌套结构,搞清自己卡在哪一层
人工智能
刺猬的温驯1 小时前
Flow Matching 训练的输入分布问题:从 VAE Latent 统计性质到归一化工程实践——以 VoxFlash-TTS 为例
人工智能·语音合成·tts
机器之心2 小时前
近80年后,埃尔德什经典「拉姆齐数下界」,被三位中国学者首次指数级改进
人工智能·openai
机器之心2 小时前
Nvidia都在点赞的LoopWM世界模型,竟然来自一家中国初创FaceMind?
人工智能·openai
美团技术团队2 小时前
LongCat 开源 VitaBench 2.0:长期动态智能体基准新标杆
人工智能·算法
moMo3 小时前
从“你好”到 1024 维坐标:大模型怎么识字
人工智能
ShallWeL3 小时前
【机器学习】(2)—— 线性回归:损失函数
人工智能·机器学习
美团技术团队3 小时前
ICML 2026 | 美团技术团队学术论文精选
人工智能