Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ The MiniMax Code Agent communicates through the host MCP client. Business reques
| [蹬王之王 · Expiry Guardian](plugins/hylouis233/expiry-guardian/) | Track credit and reset-card expiry from a local ledger you maintain, and get a "spend the card or let the credits burn first" recommendation with the reasoning spelled out | [Hylouis](https://github.com/Hylouis233) |
| [MiniMax Pet](plugins/minimax-ai/minimax-pet/) | A lightweight companion with appearance, task and settings tabs, visible-session activity, answer-needed reminders and a transparent desktop pet. Requires MiniMax Code 3.1.6 or later | [MiniMax](https://github.com/MiniMax-AI) |
| [MCP OAuth Console](plugins/microbiosis/mcp-oauth-console/) | Sign in to MCP servers that require OAuth: device-code or authorization-code + PKCE flow, the `Authorization` header written into the MCP configuration, and an opt-in refresh before expiry | [Microbiosis](https://github.com/Microbiosis) |
| [MiniMax Bot Bridge](plugins/nattiini45/minimax-bot-bridge/) | Pair a phone with the MiniMax Bot team on your desktop: a pairing code, the paired phones, and the relay configuration, with the team's conversations and tool activity carried over a relay you operate. Requires MiniMax Code 3.1.5 or later and the official MiniMax Bot plugin | [nattiini45](https://github.com/nattiini45) |

<details>
<summary>Preview: Cutline</summary>
Expand Down
1 change: 1 addition & 0 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,7 @@ MiniMax Code Agent 通过宿主 MCP 客户端与 MiniApp 协作。业务请求
| [蹬王之王](plugins/hylouis233/expiry-guardian/README.md) | 看你自己维护的本地账本,算出「该用卡还是该留积分」,并把理由说清楚 | [Hylouis](https://github.com/Hylouis233) |
| [MiniMax Pet](plugins/minimax-ai/minimax-pet/README.zh-CN.md) | 提供外观/任务/设置、可见会话状态、需要回答提醒和透明桌宠;需要 MiniMax Code 3.1.6 或更高版本 | [MiniMax](https://github.com/MiniMax-AI) |
| [MCP OAuth 令牌台](plugins/microbiosis/mcp-oauth-console/README.zh-CN.md) | 给需要 OAuth 的 MCP 服务器完成登录:设备码或授权码 + PKCE 流程,把 `Authorization` 头写入 MCP 配置,并可选择在到期前自动续期 | [Microbiosis](https://github.com/Microbiosis) |
| [MiniMax Bot Bridge](plugins/nattiini45/minimax-bot-bridge/README.zh-CN.md) | 把手机和桌面上的 MiniMax Bot 团队配对:申请配对码、查看并撤销已配对的手机,并通过你自己运营的中继转发团队对话与工具活动。需要 MiniMax Code 3.1.5 或更高版本,以及官方 MiniMax Bot 插件 | [nattiini45](https://github.com/nattiini45) |

<details>
<summary>预览:Cutline</summary>
Expand Down
19 changes: 19 additions & 0 deletions plugins/nattiini45/minimax-bot-bridge/.minimax-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"schemaVersion": 1,
"name": "minimax-bot-bridge",
"displayName": "MiniMax Bot Bridge",
"version": "0.1.0",
"description": "Pairs your phone with the MiniMax Bot team on your desktop: a pairing code, the paired phones, and the relay configuration, with the team's conversations and tool activity carried over a relay you operate.",
"author": "nattiini45",
"icon": "icon.png",
"darkIcon": "icon-dark.png",
"category": "Productivity",
"exampleQueries": [
"Open MiniMax Bot Bridge and pair my phone",
"Show the pairing code for my phone",
"Which phones are linked to this desktop?"
],
"apps": [],
"mcpServers": [],
"skills": []
}
21 changes: 21 additions & 0 deletions plugins/nattiini45/minimax-bot-bridge/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 nattiini45 and contributors

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
21 changes: 21 additions & 0 deletions plugins/nattiini45/minimax-bot-bridge/LICENSE-MINIMAX.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2026 MiniMax

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
121 changes: 121 additions & 0 deletions plugins/nattiini45/minimax-bot-bridge/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
# MiniMax Bot Bridge

English | [简体中文](README.zh-CN.md)

Pair your phone with the **MiniMax Bot** team on your desktop. The bridge is the Mini App that
runs on the desktop: it shows a pairing code, keeps the list of paired phones, and carries your
team's conversations and tool activity over a relay you control to the mobile client.

This is an independent project, not an official MiniMax application. It does not modify or
reproduce the official MiniMax Bot plugin — it calls the team tools the Host already exposes and
leaves the desktop in charge.

## What it does

- **Pairing surface.** Request a single-use six-digit code, read it on the desktop, and list or
revoke the phones paired with this desktop.
- **Relay configuration.** Set the relay address, the account id, the bridge id, the bridge
credential and the display name. The bridge reconnects when the configuration changes, and it
refuses a relay it may not talk to.
- **Team access.** Read the team's profiles, group membership and conversation history through the
`minimax-bot` tools the Host exposes, and send messages as a Bot.
- **Hosted turns.** A Bot turn can run in a session the bridge owns instead of the team's own
conversation, with streaming output and the desktop's permission prompts.

The phone is a separate app: [MiniMax Bot Mobile](https://github.com/nattiini45/minimax-bot-mobile),
an Expo / React Native client for Android, iOS and the web. The bridge is useless without it,
and it is useful without nothing else: the relay is the only third piece.

## Requirements

- MiniMax Code 3.1.5 or later — see [Tested environment](#tested-environment).
- The official **MiniMax Bot** plugin on the same desktop. The bridge calls that plugin's tools
through the Host's tool API. Without it the bridge still starts, pairs and reports its
diagnostics, but it cannot show or drive your team.
- A relay you operate, and a bridge credential minted for it. See
[Pairing and credentials](docs/PAIRING.md) for the wire flow, and the mobile app's repository
for the relay Worker and the minting command.

## Install

Copy the entire plugin directory, including the hidden `.minimax-plugin` directory, into the
client's `plugins` directory:

```text
Repository: plugins/nattiini45/minimax-bot-bridge/
Install to: <dataDir>/plugins/minimax-bot-bridge/
Manifest: <dataDir>/plugins/minimax-bot-bridge/.minimax-plugin/plugin.json
```

`dataDir` is the `.minimax` directory in your home folder (`~/.minimax`) by default. The author
directory (`nattiini45/`) only groups the contribution in the registry; the installed plugin is
`minimax-bot-bridge`. Restart MiniMax Code, confirm the plugin is recognised and enabled, and ask
the Agent to open "MiniMax Bot Bridge".

To update, close the app and exit MiniMax Code, then replace the complete plugin directory. Keep
a backup outside `plugins/`. The bridge's own state lives in the Host's data directory, not in the
plugin directory, so replacing the directory does not lose it.

## Configure and pair

1. Open the bridge surface.
2. Enter the relay address (`wss://…` or `https://…`), the account id, the bridge id and the
bridge token minted with the relay secret.
3. Request a pairing code and read the six digits aloud.
4. Enter the same relay address, the same account id and those six digits in the phone app.

The code is single-use and expires after five minutes. The phone can be revoked from the bridge
surface at any time.

## Tested environment

- MiniMax Code 3.1.10 on Windows 11 (x64), with the official MiniMax Bot plugin installed.
- Node.js 24.22.1 and npm 11.19.1.
- The bridge's own suite passes on that machine: `npm test` inside the plugin directory. It needs
no dependencies and no network.

## Data & access

| | |
| --- | --- |
| **Files written** | Only inside the Host's private data directory (`context.dataDir`): `bridge-config.json` (relay address, account id, bridge id, display name, per-Bot turn mode), `bridge-token` (the relay credential, written for its owner only) and `ledger.json` (turn, tool and permission records — counters and identifiers, not message text). One `rooms/<hash>/ledger.json` is added per room. |
| **Files read** | Those same files, on start. Nothing else: no Host files, no other plugins' files, no user documents. |
| **Network** | The relay address you configure, over HTTPS or WSS only. A cleartext `http://` or `ws://` address is accepted only for a loopback relay. `wss://` and `https://` name the same relay, and the credential never crosses between them. |
| **Spawned processes** | None. The bridge is one Node process with no child processes. |
| **Agent turns** | Yes — `agentAccess: ["session.run"]`. The bridge runs a Bot turn through the Host Agent in a session it owns and asks it for a model. It never reads your other conversations: `session.read` is not declared, and the team conversation history it shows comes from the team tools. |
| **Tools called** | Yes — `toolAccess: ["call"]`. The bridge calls the `minimax-bot` team tools the Host exposes (`mcp__minimax-bot__…`) to read the team, its groups and its conversation history, and to send messages. Each call is judged by your permission rules. |
| **Microphone** | Not used. The bridge records no audio and transcribes nothing. |
| **State** | The Host's private data directory, whose location is opaque and owned by the Host. Nothing is written outside it. The relay keeps its own state on the relay operator's account. |

### Security notes

- **The desktop is a trust boundary.** The bridge binds loopback and checks the caller's own
headers and a per-process secret before it answers a request that could change its
configuration. That defends the local web surface; it does not sandbox other native processes
on the same machine.
- **A paired phone is desktop access.** A paired device can exercise the bridge's available
functionality. Share pairing codes only with the people you mean to, and revoke devices you no
longer control.
- **Trust your relay.** TLS protects each connection, but the JSON the relay forwards is not
end-to-end encrypted. The relay operator can read conversations and operation payloads.
- **Capabilities are granted, not reproduced.** The bridge works through the capabilities the
Host and the team tools offer on that desktop. It holds no MiniMax account credential of its
own; the desktop's existing account and grants are what it uses.

## Development

```sh
npm test
```

The suite runs on Node's built-in test runner and needs no dependencies and no network. The
runtime payload is self-contained: it uses Node's standard library only, and the shared protocol
is vendored into `miniapp/node/protocol/`.

## License

The bridge is MIT licensed — see [LICENSE](LICENSE). The icon uses MiniMax's mascot artwork,
which MiniMax licenses under the MIT terms in [LICENSE-MINIMAX.txt](LICENSE-MINIMAX.txt).

MiniMax names and marks identify the products this project connects to. The project license does
not grant trademark rights and does not imply MiniMax's endorsement.
105 changes: 105 additions & 0 deletions plugins/nattiini45/minimax-bot-bridge/README.zh-CN.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,105 @@
# MiniMax Bot Bridge

[English](README.md) | 简体中文

把你的手机和桌面上的 **MiniMax Bot** 团队配对起来。Bridge 是运行在桌面端的 Mini App:它显示配对码、
保存已配对的手机,并通过你自己运营的中继,把团队的对话和工具活动转发给手机客户端。

这是一个独立项目,不是 MiniMax 官方应用。它不修改、也不复刻官方 MiniMax Bot 插件——它调用 Host 已经
暴露的团队工具,桌面端始终掌握主导权。

## 它能做什么

- **配对界面。** 申请一个一次性的六位配对码,在桌面上读出来,并查看或撤销与这台桌面配对的手机。
- **中继配置。** 设置中继地址、账号 ID、桥接 ID、桥接凭据和显示名称。配置变化后桥接会自动重连;
它拒绝使用自己不该连接的中继地址。
- **团队访问。** 通过 Host 暴露的 `minimax-bot` 工具读取团队成员资料、群组成员和对话历史,并以某个 Bot
的身份发送消息。
- **托管回合。** Bot 的回合可以运行在桥接自己拥有的会话里,而不是团队自己的对话中,并带有流式输出和
桌面的权限提示。

手机端是另一个应用:[MiniMax Bot Mobile](https://github.com/nattiini45/minimax-bot-mobile),
一个面向 Android、iOS 和网页的 Expo / React Native 客户端。没有它,桥接没有意义;而除了中继之外,
它也不需要别的组件。

## 运行要求

- MiniMax Code 3.1.5 或更高版本——见[环境与兼容](#环境与兼容)。
- 同一台桌面上装有官方 **MiniMax Bot** 插件。桥接通过 Host 的工具 API 调用该插件的工具。没有它,
桥接仍然可以启动、配对并报告诊断信息,但无法展示或驱动你的团队。
- 你自己运营的中继,以及为它签发的桥接凭据。线路流程见[配对与凭据](docs/PAIRING.md),
中继 Worker 和签发命令见手机端仓库。

## 安装

把整个插件目录(包含隐藏的 `.minimax-plugin` 目录)复制到客户端的 `plugins` 目录:

```text
仓库路径:plugins/nattiini45/minimax-bot-bridge/
安装到: <dataDir>/plugins/minimax-bot-bridge/
清单文件:<dataDir>/plugins/minimax-bot-bridge/.minimax-plugin/plugin.json
```

`dataDir` 默认是用户主目录下的 `.minimax` 目录(`~/.minimax`)。作者目录(`nattiini45/`)只是在仓库里
归类贡献者,安装后的插件 ID 是 `minimax-bot-bridge`。重启 MiniMax Code,确认插件已被识别并启用,然后
让 Agent 打开「MiniMax Bot Bridge」。

更新时,先关闭应用并退出 MiniMax Code,再整体替换插件目录;备份请放在 `plugins/` 之外。桥接自己的状态
保存在 Host 的数据目录里,不在插件目录里,所以替换目录不会丢状态。

## 配置与配对

1. 打开桥接界面。
2. 填入中继地址(`wss://…` 或 `https://…`)、账号 ID、桥接 ID,以及用中继密钥签发的桥接令牌。
3. 申请配对码,把这六位数字念出来。
4. 在手机端填入同样的中继地址、同样的账号 ID 和这六位数字。

配对码一次性使用,五分钟后过期。手机随时可以在桥接界面上撤销。

界面目前为英文。

## 环境与兼容

- MiniMax Code 3.1.10,Windows 11(x64),并安装了官方 MiniMax Bot 插件。
- Node.js 24.22.1 与 npm 11.19.1。
- 桥接自带测试在该机器上全部通过:在插件目录里执行 `npm test`。不需要安装依赖,也不需要网络。

## 数据与能力边界

| | |
| --- | --- |
| **写入的文件** | 仅限 Host 的私有数据目录(`context.dataDir`):`bridge-config.json`(中继地址、账号 ID、桥接 ID、显示名称、每个 Bot 的回合模式)、`bridge-token`(中继凭据,仅所有者可读)和 `ledger.json`(回合、工具与权限记录——计数与标识,不含消息正文)。每个房间另有 `rooms/<hash>/ledger.json`。 |
| **读取的文件** | 启动时只读上面这几个文件。没有别的:不读 Host 文件,不读其他插件的文件,不读用户文档。 |
| **网络** | 只访问你配置的中继地址,且只走 HTTPS 或 WSS。明文的 `http://`/`ws://` 地址只接受回环地址。`wss://` 和 `https://` 指的是同一个中继,凭据不会在两者之间传递。 |
| **启动的进程** | 没有。桥接是一个 Node 进程,不派生任何子进程。 |
| **Agent 回合** | 有——`agentAccess: ["session.run"]`。桥接通过 Host Agent 在自己拥有的会话里运行 Bot 回合,并向它索取模型。它从不读取你的其他对话:没有声明 `session.read`,它展示的团队对话历史来自团队工具。 |
| **调用的工具** | 有——`toolAccess: ["call"]`。桥接调用 Host 暴露的 `minimax-bot` 团队工具(`mcp__minimax-bot__…`),用来读取团队、群组和对话历史,并发送消息。每次调用都按你的权限规则判定。 |
| **麦克风** | 不使用。桥接不录音,也不做语音转写。 |
| **状态存放位置** | Host 的私有数据目录,位置由 Host 管理且不透明。除此之外不写任何文件。中继的状态保存在中继运营方那边。 |

### 安全说明

- **桌面端是信任边界。** 桥接只监听回环地址,并在回答可能改变配置的请求前校验调用方自身的请求头和一个
每进程生成的密钥。这保护的是本地网页界面,并不能隔离同一台机器上的其他原生进程。
- **配对成功就等于授予了桌面访问权。** 已配对的设备可以行使桥接提供的能力。只把配对码告诉你要授权的人,
并撤销不再使用的设备。
- **信任你的中继。** TLS 保护的是每一段连接,但中继转发的 JSON 没有端到端加密。中继运营方可以读到对话和
操作负载。
- **能力是被授予的,不是被复刻的。** 桥接只使用那台桌面上的 Host 与团队工具所提供的能力。它自己不持有
MiniMax 账号凭据,用的是桌面端已有的账号和授权。

## 开发

```sh
npm test
```

测试基于 Node 内置的测试运行器,不需要依赖,也不需要网络。运行时负载是自包含的:只用 Node 标准库,
共享协议已经内置在 `miniapp/node/protocol/`。

## 许可

桥接采用 MIT 许可——见 [LICENSE](LICENSE)。图标使用 MiniMax 的吉祥物美术作品,MiniMax 以 MIT 条款授权,
见 [LICENSE-MINIMAX.txt](LICENSE-MINIMAX.txt)。

MiniMax 的名称与标识用于指代本项目所连接的产品。本项目的许可不授予商标权,也不代表 MiniMax 的背书。
Loading