跳到主要内容
AI POS
下载 AI POS App

面向门店业务的 AI 执行入口

让 AI 真正理解,并安全执行门店业务

从自然语言需求到业务工具调用,AI POS 帮助你连接数据、确认关键动作,并把复杂流程变成清晰的执行路径。

支持 iOS 与 Android

从理解到执行

一套连接业务意图与门店工具的智能工作方式

AI POS 把用户表达、工具能力和执行边界放在同一条可理解的路径中。

理解业务意图

把自然语言需求整理成明确任务,减少在多个系统之间反复查找和切换。

连接运营工具

通过 MCP 接入读取与写入能力,让业务数据和操作入口可被安全调用。

保持执行可控

区分读取与高风险写入操作,让关键动作在清晰的确认边界内完成。

工作方式

把一句需求变成可确认的执行路径

每一步都让用户知道 AI POS 正在理解什么、需要什么,以及下一步将发生什么。

  1. 说出你的需求

    使用自然语言描述查询、整理或操作目标。

  2. 匹配工具与候选数据

    AI POS 选择合适的 MCP Tool,并在需要时展示可选门店、商品或其他前置数据。

  3. 确认并执行

    阅读结果或确认写入动作,再由 AI POS 完成后续执行。

移动端体验

下载 AI POS App

选择你的移动平台。正式下载地址和二维码配置完成前,页面会明确显示待提供状态。

iOS

App Store / TestFlight

iOS 二维码待替换

iOS 下载地址待配置

Android

Google Play / APK

Android 二维码待替换

Android 下载地址待配置

开放 MCP 生态

让第三方业务能力成为 AI POS 的可靠工具

通过明确的授权回传、风险标记和候选数据结构,让 AI POS 能够理解工具、展示选择并保持执行边界。

读取业务数据

用只读 Tool 提供门店、商品和业务状态等信息。

受控执行写入

为可能改变业务状态的 Tool 明确标记风险。

返回稳定候选

让 AI POS 能可靠展示选择项并回填目标参数。

  1. 实现 Tool
  2. 标记风险
  3. 声明候选结构
  4. 核对返回形状

MCP Tool 配置约定

从授权回传到前置候选的完整接入规范

以下内容保持与项目根目录合同一致,摘要用于快速理解,原文用于开发核对。

合同原文语言:简体中文

授权登录回传

使用 mcp-auth-web 向 AI POS 回传成功或失败结果。

Tool 风险标记

读取与破坏性写入使用互斥 annotations。

前置候选列表

使用三个路径字段描述列表、值和展示标签。

上线检查清单

确保 Tool 类型、风险标记和实际返回结构保持一致。

候选字段映射

候选列表 data[]
回填值 id 展示名称 name
该示意用于帮助理解,规范原文仍是实现依据。

MCP Tool 配置约定

授权登录回传

MCP 授权登录页使用 mcp-auth-web 回传结果。

sh
pnpm add mcp-auth-web

引入

ts
import { emitMcpAuthComplete, emitMcpAuthFail, type McpAuthCompletePayload } from 'mcp-auth-web'

成功回传

ts
const payload: AuthCompletePayload = {
  Authorization: `Bearer ${token}`
}

const emitted = emitMcpAuthComplete(payload as unknown as McpAuthCompletePayload)

if (!emitted) {
  message.error('当前环境不支持授权回传')
}

失败回传

ts
emitMcpAuthFail({ code, message })

Tool 通用风险标记

读操作 Tool:

ts
annotations: {
  readOnlyHint: true
}

写操作 Tool:

ts
annotations: {
  destructiveHint: true
}

Tool 类型

1. 列表 Tool

如果 Tool 返回一组候选项,供用户选择后回填到其他 Tool 参数里,需要在 outputSchema 根节点加:

ts
outputSchema: {
  type: "object",
  properties: {...}, // 可以不要
  "x-prerequisiteCandidate": {
    itemsPath: "data",
    valuePath: "id",
    labelPath: "name"
  }
}

这三个字段的意思:

  • itemsPath: 从 Tool 返回结果里,哪里是候选列表数组。
  • valuePath: 从每个候选 item 里,哪个字段作为最终回填值。
  • labelPath: 从每个候选 item 里,哪个字段展示给用户看。

比如 Tool 返回:

json
{
  "data": [
    { "id": "1", "name": "门店 A" },
    { "id": "2", "name": "门店 B" }
  ]
}

那么:

  • itemsPath: "data" 表示候选列表是返回结果里的 data 数组。
  • valuePath: "id" 表示用户选中后,把 item 里的 id 回填给目标 Tool。
  • labelPath: "name" 表示选择卡上展示 item 里的 name

约定

  • 列表 Tool 加 x-prerequisiteCandidate
  • 详情 Tool、写操作 Tool 不加 x-prerequisiteCandidate
  • 读操作 Tool 加 readOnlyHint: true
  • 写操作 Tool 加 destructiveHint: true
  • 列表没有数据时也请返回稳定结构,例如 {"data":[]}
  • Tool 实际返回结构要和 x-prerequisiteCandidate 对得上。

从体验 AI POS 到接入你的业务能力

下载 AI POS App,或直接查看 MCP Tool 配置约定开始集成。