Skip to content

Repository files navigation

:name

Multica Bridge Logo

AstrBot Multica 桥接插件

AstrBot × Multica · 一键接入 · ChatOps 赋能

version 0.9.0 Python 3.10+ AstrBot >=4.27.2 MIT License Anime banner

将 AstrBot QQ 机器人接入 Multica,在聊天里完成连接测试、建 Issue、管工作区/项目、看收件箱;也支持自然语言控制(消息含 multica 即可,无需斜杠)。


目录

  1. 功能
  2. 安装
  3. 配置
  4. 自然语言控制
  5. 获取 API / Token
  6. 指令
  7. 权限
  8. API 端点
  9. 开发
  10. 更新日志 / 许可

✨ 功能

类别 说明
连接 一键测 Multica 连通性,显示当前工作区 / 项目
Issue 聊天内创建 Issue,可带优先级、状态、指派人、项目、截止日期、标签
工作区 列出 / 切换 / 新建;切换会写入插件配置,重启仍有效
项目 列出 / 切换 / 新建;新建 Issue 默认进当前项目
收件箱 查看最近 Issue 与进展(可按未完成 / 已完成过滤)
配置 WebUI 修改后热生效;API 返回时 Token 自动脱敏
过滤 群聊 / 私聊黑名单、白名单或关闭
权限 子指令在 AstrBot「指令管理」中独立配置「仅管理员 / 成员可」
语言 设置页中英文,跟随 AstrBot 界面语言
自然语言 消息含关键词 multica 即可识别意图(规则优先,可选 LLM 回退)

📦 安装

方式一 · 插件市场

  1. AstrBot WebUI → 插件管理
  2. 添加仓库:https://github.com/Eason4869/astrbot_plugin_multica_bridge
  3. 安装

方式二 · 手动

cd AstrBot/data/plugins
git clone https://github.com/Eason4869/astrbot_plugin_multica_bridge.git

⚙️ 配置

唯一入口: WebUI → 插件 → Multica桥接 → 设置(改完即存、热生效)。

本插件不用插件管理里的「齿轮」(_conf_schema.json)。
齿轮配置由 AstrBot 另存,插件运行时不读取,容易和设置页不同步。

连接

配置项 类型 默认 说明
enabled bool true 启用 / 停用插件
api_url str https://multica.ai Multica API 基地址
token str — API 认证 Token
workspace_id str — 工作区 UUID(可留空自动获取)
project_id str — 项目 UUID(也可用指令切换)

会话过滤

配置项 类型 默认 说明
group_chat_mode str blacklist 群聊:blacklist / whitelist / disabled
group_chat_list list [] 群聊 ID 列表
private_chat_mode str blacklist 私聊:同上
private_chat_list list [] 用户 ID 列表
nl_enabled bool true 启用自然语言控制
nl_keyword str multica 触发关键词(不区分大小写)
nl_llm_enabled bool true 规则解析失败时是否走 LLM 回退

🗣️ 自然语言控制

消息中包含关键词(默认 multica)即可触发意图识别,无需 / 前缀:

multica 建个issue:修复登录失败,优先级高
multica 创建issue 优化首屏 --priority 高 --labels 前端
multica 收件箱 10 open
multica 切换到项目 前端重构
multica 新建工作区 测试环境
multica status
multica 帮助

解析策略:

  1. 规则优先:本地正则/关键词识别常见中英文口语,并抽取标题、描述、 优先级、状态、标签、截止日期等字段,复用既有子指令逻辑执行;
  2. LLM 可选回退:规则无法识别时,若开启 nl_llm_enabled,则调用 AstrBot 当前配置的 LLM Provider,将复杂句子解析为结构化意图;
  3. 不误伤闲聊:仅提到 Multica 的提问(如「multica是什么」)不会被拦截。

也可在 WebUI 设置页开关该功能、修改关键词。


🔑 获取 API / Token

API 地址

模式 地址
Multica Cloud(推荐) https://multica.ai
自托管 你的 Multica 服务器地址

认证 Token

  1. 登录 Multica Web 控制台
  2. 设置 → API 密钥(Settings → API Keys)
  3. 创建密钥(名称例如 AstrBot Bridge)
  4. 复制 Token,填入插件设置里的「认证 Token」

工作区 / 项目 UUID

一般不用手填:首次调用会自动解析工作区;也可用聊天指令列出 / 切换。

若要在平台侧查看,可用 Multica CLI / Web 的查看命令,JSON 里的 id 即 UUID。

插件只通过 HTTP API 交互,不依赖本机 Multica CLI。

官方文档:快速上手 · 认证与令牌


💬 指令

在允许的群聊或私聊中发送:

指令 说明
/multica 不带子指令时显示指令树
/multica help 帮助
/multica status 连接、工作区 / 项目、脱敏 Token
/multica issue create <标题> [选项] 新建 Issue
/multica inbox [数量] [open|done] 收件箱(默认 10 条;open 未完成 / done 已完成)
/multica workspace list 列出工作区
/multica workspace select <id|slug> 切换工作区(写入配置)
/multica workspace create <名称> [--slug …] [--desc …] [--context …] 新建工作区
/multica project list 列出项目
/multica project select <id> 切换项目(新建 Issue 默认进该项目)
/multica project create <标题> [--desc …] 新建项目
multica <自然语言…> 无需斜杠,消息含关键词即可(见「自然语言控制」)

issue create 选项

参数 取值 说明
--desc 文本 描述
--priority 紧急 / 高 / 中 / 低(或英文) 优先级
--status backlog todo in_progress in_review done cancelled 初始状态
--assignee id 指派人
--project id 覆盖当前项目
--due YYYY-MM-DD 截止日期
--labels 标签1,标签2 标签(中英文逗号均可)

示例:

/multica issue create 修复登录失败 --desc 用户反馈登录超时 --priority 高 --labels 后端,线上

说明:

  • issue create / inbox 均走 HTTP API,不要求本机安装 Multica CLI
  • inbox 含状态图标、编号、标题、优先级、指派人;指派人名称有 5 分钟缓存
  • 受会话过滤限制;插件停用时会明确提示

🔐 权限

/multica 为指令组,子指令在 WebUI → 指令管理 中可分别设权限:

子指令 建议权限
inbox / status / help 成员可
workspace create / project create 仅管理员
workspace select / project select 仅管理员(会改配置)

权限保存在 AstrBot 的 alter_cmd,重启后自动回植。


🔌 API 端点

设置页通过插件 Pages bridge 调用:

方法 路径 说明
GET /api/v1/plugins/extensions/<插件名>/config 读配置(Token 脱敏)
POST …/actions/save_config 增量保存
POST …/actions/test_connection 测连接

旧路径 /api/plug/<插件名>/… 仍可用。<插件名> 默认为目录名 astrbot_plugin_multica_bridge。


🛠️ 开发

git clone https://github.com/Eason4869/astrbot_plugin_multica_bridge.git
cd astrbot_plugin_multica_bridge

# 将本目录放入或软链到 AstrBot/data/plugins/

python -m pip install ruff pytest pyyaml
ruff check .
python -m pytest
路径 说明
main.py 指令组、子指令与自然语言监听
nl_control.py 自然语言意图解析(规则 + LLM 回退)
multica_client.py Multica HTTP 客户端
web_api.py 设置页 REST
config.py 配置读写与类型转换
pages/settings/index.html 设置页
.astrbot-plugin/i18n/ 中英文文案
tests/ 单元测试

📝 更新日志 / 许可


Thanks for reading

Made with 💜 · 有帮助的话欢迎点个 ⭐ Star

About

与multica桥接,实现更好的Agent协作。需要部署multica与其支持的驾驭框架。

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages