机器人应用页
机器人应用页是随机器人项目发布的前端页面,适合制作控制面板、数据展示页和机器人专属交互界面。它与系统插件面板不同,只能访问当前机器人提供的能力。
注册页面
在机器人插件的 package.json 中声明:
{
"alemonjs": {
"web": { "root": "dist" },
"desktop": {
"sidebars": [{ "name": "示例插件" }]
}
}
}
dist 必须包含 index.html,页面资源使用相对路径。
页面通信
页面打开后可以使用宿主注入的 window.__alxWebview:
const context = window.__alxWebview.context
window.__alxWebview.postMessage({ type: 'ready' })
const unsubscribe = window.__alxWebview.onMessage(message => {
console.log(message)
})
const response = await window.__alxWebview.request('./api/status', {
method: 'GET'
})
request 只允许 ./api/ 路径。它由 ALemonX 代理到当前机器人,不是任意网络请求。
生命周期与隔离
- 页面打开不会自动启动机器人;
- 调用 API 前必须处理机器人未运行或已退出的状态;
- 页面只能访问当前机器人 API,不能访问系统插件 API;
- 不要把 Token、密码或敏感配置写入前端代码;
- 页面关闭后应移除消息监听器,避免重复订阅。
系统级能力应使用系统插件,由 ALXHost 和宿主授权机制提供。