快速了解
它能做什么
通过 aimux 终端会话和文件传输操作反向连接的 Windows、Linux 或 Mac 设备。
本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。
选择前先看
该技能说明如何识别已连接的 bridge 设备、选择必需的 profile、创建远程终端会话、发送命令、获取输出、传输文件,并在完成后销毁会话。还包含输出延迟和 Windows Shell 差异的处理说明。
适合谁
已拥有 Mobius 与 aimux 反向连接设备访问权限的开发者和运维人员。
常见任务
- 查看已连接设备的系统、主机名或磁盘空间。
- 在具名远程终端会话中执行命令并获取输出。
- 向设备上传脚本或下载日志。
- 排查 bridge 状态、必需 profile、输出延迟和已存在会话。
权限与数据
该技能会指导 aimux 控制远程终端,并通过已连接设备传输文件。
权限- 访问可用 aimux bridge 设备的权限。
- 创建会话、发送命令、获取输出和销毁远程会话的权限。
- 通过设备 SFTP 通道上传和下载文件的权限。
- 命令及捕获的终端输出可能包含远程设备上的信息。
- 传输文件会在本地环境与已连接设备之间移动。
- Mobius
- aimux
- SFTP 通道
- 可能需要具备目标 bridge 设备所需的认证或连接访问权限。
局限
- bridge 会话必须指定设备 profile。
- 文档中的 wait-last-command-complete 不适用于反向 bridge 会话;应等待后再获取输出。
- bridge 设备是否可用取决于其连接状态。
- 除非另行获得商业许可,所附许可证仅允许非商业使用。
DSHub 已核对
- 已从指定提交捕获固定版本的技能文档。
- 技能文档涵盖 bridge 设备会话管理、终端命令、输出获取和文件传输。
- 源许可证说明了非商业使用条款。
DSHub 未核对
- DSHub 未安装或执行 aimux,也未连接远程设备。
- 未声明与特定智能体运行环境版本的兼容性。
固定版本安装
主要操作
这个独立 Skill没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。
维护者原文
Skill 使用说明
name: mobius-aimux description: Operate a remote machine (Windows, Linux, Mac) that a user has reverse-connected into the mobius.
一:反向设备连接(bridge 连接)
在莫比乌斯系统中,任何设备都可以通过 aimux 反向连接到系统中,让智能体有能力协助用户操作远程设备。
检查你自己是否有可用的 aimux
aimux -h
补充知识:安装方法很简单
pip install aimux即可,这个依赖很轻。
获取可用设备清单
aimux remote ls | grep bridge
补充知识:你可以使用
aimux remote ls | grep ssh获取可以通过正向 ssh 连接的设备。 也可以使用aimux remote ls --json获取 json 格式的输出。
反向设备的核心特征是它带有 profiles(连接配置),创建会话时必须选定一个。反向设备的行大致长这样(注意 TYPE=bridge、PORT=-、PROFILES 列是个名字):
HOST TYPE USER/PLATFORM HOSTNAME/PROFILES PORT STATUS RTT
<device_name> bridge linux posix-pty - connected -
记下
profiles(本例posix-pty),下一步--profile就取它。多数情况直接用default_profile即可。
状态判读
| STATUS | 能否使用 |
|---|---|
connected |
✅ 设备已反向连回,可直接用 |
auth-required |
❌ 设备未上线或认证未通,需等待设备重连 / 排查 bridge |
创建会话(反向设备的关键步骤,即在目标设备上打开一个终端)
aimux new --remote <device_name> --profile posix-pty --name <session-name>
常用选项:
aimux new [OPTIONS]
* --name 会话名(必填)
--remote 反向设备名(如 <device_name>)
--profile profile 名(反向设备必填,如 posix-pty / cmd 等,不同操作系统不一样) ← 核心
--cwd 初始工作目录
--cmd 初始执行的命令
--output-sync-to-file 实时镜像 pane 输出到文件
--reuse 会话已存在则直接返回成功(避免重复创建报错)
变体示例:
# 指定初始目录
aimux new --remote <device_name> --profile posix-pty --name ros --cwd /home/jetson/catkin_ws
# 安全复用
aimux new --remote <device_name> --profile posix-pty --name embedded-test --reuse
操作会话(send-keys + capture,即在刚才打开的终端中输入命令,然后查看输出)
反向设备的会话标识为 <设备名>/<会话名>。
用 send-keys + capture,不要用 attach(那是给人交互用的)。
发送命令
# 末尾 Enter 表示回车提交
aimux send-keys "<device_name>/<session-name>" -- 'uname -a' Enter
# 一次发多行
aimux send-keys "<device_name>/<session-name>" -- 'cd /tmp' Enter 'ls -la' Enter
捕获输出
aimux capture "<device_name>/<session-name>" --lines 30
输出通常带 ANSI 颜色/光标码,需要干净文本就过滤:
aimux capture "<device_name>/<session-name>" --lines 40 \
| sed 's/\x1b\[[0-9;]*[mGKHJ]//g; s/\x1b\][0-9];[^\x07]*\x07//g'
等待执行
反向设备经 bridge 中转,命令执行有延迟。发送后 sleep N 再 capture。
⚠️
aimux wait-last-command-complete仅本地会话支持,反向 bridge 会话不可用。
文件传输
反向设备同样走 sftp 通道,只是把「远程地址」换成设备名即可:
# 上传:本地 → 设备
aimux send_files <device_name> /home/jetson/upload ./run.py ./data.csv
# (加 --gitignore 可跳过被忽略的文件)
# 下载:设备 → 本地
aimux get_files <device_name> ./downloads /home/jetson/logs/
销毁会话
aimux kill "<device_name>/<session-name>"
⚠️
kill不支持通配符/批量,需逐个销毁。
常见问题
| 现象 | 原因 / 解决 |
|---|---|
--profile is required for bridge remote |
反向设备未带 --profile。先 aimux remote ls --json 查 profile 名 |
设备状态 auth-required / 时连时断 |
设备未稳定反向连回 bridge;等设备重连或排查设备端 bridge 客户端 |
| 创建会话后 capture 无输出 | 命令仍在执行,加大 sleep 再 capture;确认 profile 的 available=true |
wait-last-command-complete 报错 |
该命令仅本地会话支持,反向 bridge 不可用 → 改用 sleep + capture |
new 报会话已存在 |
加 --reuse |
| capture 输出乱码 | ANSI 码,用第 4.2 节 sed 过滤 |
速查表
aimux remote ls [--json] # 识别反向设备 + 拿 profile
aimux new --remote <dev> --profile <p> --name <sess> # 创建反向会话(必带 --profile)
aimux ls # 列出会话
aimux send-keys "<dev>/<sess>" -- '<cmd>' Enter # 发命令
aimux capture "<dev>/<sess>" --lines N # 取输出
aimux send_files <dev> <remote_dir> <local>... # 上传
aimux get_files <dev> <local_dir> <remote>... # 下载
aimux kill "<dev>/<sess>" # 销毁
销毁会话
任务完成后,记得通过 aimux kill "<dev>/<sess>" 销毁会话。
Windows中操作终端的常见错误
记得powershell,cmd,mingw64的命令是有区别的!
端到端实战(连接 Jetson 设备)
# 0. PATH(首次)
export PATH="/root/.local/bin:$PATH"
# 1. 确认是反向设备 + 拿到 profile 名
aimux remote ls --json # → type=bridge, default_profile=posix-pty
# 2. 创建会话(带 --profile)
aimux new --remote <device_name> --profile posix-pty --name <session-name>
# 3. 发命令取设备信息
aimux send-keys "<device_name>/<session-name>" -- 'uname -a; hostname; df -h /' Enter
sleep 2
aimux capture "<device_name>/<session-name>" --lines 40
# 4. 上传脚本
aimux send_files <device_name> /home/jetson/scripts ./run.py
# 5. 用完销毁
aimux kill "<device_name>/<session-name>"
有意识地管理
安装与管理
前置条件与目标 Profile
目标: 终端 UI Profile
交付方式: Skill 文件 — https://raw.githubusercontent.com/nutshellai-tech/mobius/1eb8750d2d9012e1f50a18f7c60c2ad040c04889/skills/mobius-aimux/SKILL.md。
兼容性与访问范围
Requires the aimux CLI and a reverse-connected device: Not declared in supplied evidence。
风险事实
证据与编辑审查Manifest、Bundle patch、分发与新鲜度
不可变证据
审查状态与源码活动
在核对来源内容和不可变发布记录后,已由人工批准发布。AI 参与了内容草稿生成,最终发布决定由人工完成。
人工审查于 2026/9/1 UTC 09:41。GitHub 事实核对日期: 2026/9/1 UTC 08:45。
自当前证据基线以来,没有记录到重要源码变化。