跳到主要内容

小程序概览

小程序是直接在 AISCouncil 平台内运行的沙箱 Web 应用程序。它们使用自定义功能扩展平台 —— 从设备同步工具到可视化页面构建器 —— 同时在安全的、权限控制的环境中运行。

什么是小程序?​

小程序是一个标准的 HTML/CSS/JS Web 应用程序,在平台内的沙箱 iframe 中运行。用户不是导航到单独的网站,而是从侧边栏中的应用部分启动小程序。应用程序替换聊天区域,并通过 window.ais SDK 访问平台 API。

小程序可以:

  • 读取和发送聊天消息以与 AI 模型交互
  • 本地存储数据,具有每应用隔离存储
  • 访问机器人配置以了解哪个模型处于活动状态
  • 显示通知和对话框通过平台 UI
  • 读取用户信息进行个性化
  • 注册钩子以扩展平台行为

它们如何工作​

+---------------------------+
| AISCouncil |
| (host page) |
| |
| +---------------------+ |
| | Sandboxed iframe | |
| | (null origin) | |
| | | |
| | window.ais SDK | |
| | | | |
| +---|------------------+ |
| | postMessage |
| v |
| Message Bridge |
| (permission check) |
| (method dispatch) |
+---------------------------+
  1. SDK 注入 —— 当小程序启动时,平台创建沙箱 iframe 并在您的应用代码之前注入 window.ais SDK(约 2 KB)作为 <script> 前言。

  2. postMessage 桥接 —— 每个 SDK 调用(ais.storage.get(), ais.chat.send() 等)向宿主页发送 postMessage。宿主验证调用应用的权限并将请求分派到适当的平台模块。

  3. 响应 —— 结果通过 postMessage 发送回 iframe,SDK 在那里解析相应的 Promise。

安全模型​

小程序在严格的安全沙箱中运行:

保护如何实现
空来源sandbox="allow-scripts allow-forms" —— 没有 allow-same-origin,所以 iframe 获得空来源
无父 DOM 访问无法读取或修改宿主页的 DOM、localStorage 或 cookie
无法对宿主来源进行网络访问无法向 aiscouncil.com 发起同源请求
权限门控 API**存储之外的每个 SDK 方法都需要用户明确授予权限
每应用存储隔离存储键带有 mp:{app-name}: 前缀 —— 应用无法读取彼此的数据
内容寻址缓存入口 HTML 在安装时获取并缓存,而不是每次启动时从网络加载
注意

小程序仍然可以向外部来源发起网络请求(它们自己的 CDN、第三方 API 等),因为 allow-scripts 允许 fetch() 和 XMLHttpRequest。network:fetch 权限用于未来通过平台代理的请求,而不是限制出站网络访问。

权限对话框​

当用户安装小程序时,权限对话框显示应用名称、描述和它请求的权限列表。用户必须在安装继续之前批准。仅请求 storage(始终允许)的应用仍会显示对话框以保持透明。

与其他平台的比较​

功能aiscouncil 小程序WeChat 小程序Chrome 扩展PWA
运行时沙箱 iframe自定义 WebView隔离世界 + service worker完整浏览器标签页
最大大小5 MB (HTML) / 50 MB (包)2-20 MB无硬性限制无限制
需要审查否(直接安装)是(强制)是(Chrome Web Store)否
离线支持是(安装时缓存)是是是(Service Worker)
平台 APIwindow.ais SDKwx APIchrome API仅 Web API
安全模型空来源 iframe自定义沙箱内容安全策略同源
分发URL、文件上传、注册表仅 WeChat StoreChrome Web Store仅 URL

查找和安装应用​

从应用商店​

  1. 点击左侧边栏中的应用图标(或移动端页眉中的应用网格图标)
  2. 浏览应用面板底部的应用商店部分
  3. 点击任何应用卡片上的安装
  4. 在对话框中查看权限并点击允许

通过 URL(侧载)​

  1. 在应用面板中,找到侧载部分
  2. 将清单 URL 粘贴到文本字段中
  3. 点击安装
  4. 查看权限并批准

通过文件上传​

  1. 在应用面板中,点击上传应用
  2. 选择 .html 文件(单文件应用)或 .ais 包(ZIP 存档)
  3. 查看权限并批准

请参阅侧载应用获取所有安装方法的完整详情。

启动和关闭应用​

启动: 点击任何已安装应用卡片上的打开按钮。应用替换聊天区域并接管主内容面板。

关闭: 应用可以通过调用 ais.close() 自行关闭,或者用户可以点击应用标题栏中的 X 按钮返回聊天视图。

当应用关闭时:

  • iframe 被销毁,其消息处理程序被删除
  • 聊天区域恢复
  • 应用中任何未保存的状态丢失(应用应使用 ais.storage 持久化数据)

内置应用​

平台附带两个内置小程序:

设备同步​

在设备之间同步配置文件、API 密钥和设置。支持三种传输方式:

  • 局域网同步 —— 同一网络上设备之间的直接连接
  • 二维码 —— 扫描代码配对设备
  • 互联网中继 —— 通过 API 进行 WebRTC 信令,用于不同网络上的设备

权限:storage, config:read, auth:read, ui:toast, secrets:sync

应用构建器​

使用 AI 内容生成可视化构建网页。选择模板,使用活动 AI 模型编辑部分,并导出为 URL 或 HTML 文件。使用自定义 slug 直接发布到 bcz.co。

权限:storage, chat:read, chat:write, ui:toast, auth:read, pages:publish

下一步​