DeepSeek Harness Hub
← 返回列表

AI 代理虚拟终端strukto-ai/mirage

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
需源码安装

Mirage 是面向 AI 代理的虚拟终端。虚拟文件系统提供广泛的数据上下文,虚拟化 CLI…

暂不能直接安装(需源码编译或环境不满足):仓库缺少 package.json,无法用 dsh 插件安装命令安装。 · 最近上游提交 2026/9/19 · 已提供中文文档

全球首个面向AI代理的虚拟终端

综合分
70.7
GitHub 分
70.7
用户评分
★ Stars
3641
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add strukto-ai/mirage
仓库缺少 package.json,无法用 dsh 插件安装命令安装,改用 GitHub 源安装
🟢实装验证通过· 2026/9/16
由 dsh-plugin-verify(GitHub Actions)在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/19(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包mirage(未发布到 npm,仅可源码安装)
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件缺少入口声明

仓库缺少 package.json,无法用 dsh 插件安装命令安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/16 05:59:20

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

Mirage 是面向 AI 代理的虚拟终端。虚拟文件系统提供广泛的数据上下文,虚拟化 CLI 让代理在工具使用上拥有更大的灵活性,动态运行时节省底层基础设施成本并具有更高的 token 效率,而对代理操作乃至其可见内容的细粒度控制则提供了最佳安全性。这些部分共同构成一个虚拟化终端,带来最佳的代理性能、成本效率和安全性。

以下是在应用程序中启动 Mirage 的示例:

ws = Workspace(
{
"/tmp":   (RAMVFS(), MountMode.EXEC),
"/redis": (RedisVFS(url=redis_url), MountMode.WRITE),
"/slack": (SlackVFS(SlackConfig(token=slack_bot_token)), MountMode.EXEC),
},
monty captures python, so scripts run sandboxed inside the workspace
runtimes=[MontyRuntime(captures=["python", "python3"]), "workspace"],
)

one grep sweeps every source
await ws.shell("grep -rln session /redis /tmp")

run a script that lives in Slack, file the report into Redis
await ws.shell("python3 /slack/channels/general_.../files/example__F....py > /redis/report.txt")

install a typed CLI under a head word: dispatched by name, not by path,
and discoverable through man, type and which like any other program
ws.register_cli("slack", SLACK, {"token": slack_bot_token})
await ws.shell('slack send-message --channel general --text "report is up"')

关于

- 统一的虚拟终端接口,而不是 N 个 SDK 和 M 个 MCP。 每个后端都遵循相同的文件系统语义,因此管道可以跨服务组合。
- 覆盖所有数据源的虚拟文件系统。 S3、Google Drive、Slack、Gmail、Redis 等并排挂载在同一个根目录下,因此代理可以通过统一接口,使用它已经熟悉的 Unix 工具(如 ls、grep、find 和 jq)访问所有这些数据源。
- 虚拟命令行工具(CLI)。 git、slack 和 ntn 由 Mirage 自身响应,因此代理无需安装任何东西即可驱动服务,并可跨不同运行时和机器使用;一个工具还可以虚拟化为两个或更多工具,每个工具都有自己的名称和凭据。
- 路由式动态运行时。 Python、JavaScript 以及任何其他命令都可以发送到配置好的运行时——进程内、沙箱或远程——从而将计算与存储解耦,并让两者各自独立变更而互不影响。
- 虚拟化的 Mirage shell。 它将文件系统、CLI 和运行时绑定到同一个命令行中,因此管道、重定向、变量、作业和历史记录在三者之间都能正常工作。
- 为智能体设计的配置文件。 allow、ask 和 deny 管控命令和 CLI,而 hide 和 show 管控文件和文件夹,因此隐藏路径不仅不可读,而且在智能体看到的文件系统中根本不存在。
- 可编写脚本的策略引擎。 策略脚本可以在任何危险操作运行之前将其禁止,并且同一套机制会拦截每一次 VFS 操作和会话写入,因此无论是文件还是环境变量都不会泄露。
- 通知接入 VFS 和智能体。 外部变更会成为挂载点上的事件流,因此新的 Slack 回复会表现为虚拟文件系统中聊天文件的变更,智能体会对其做出反应,而不是重新扫描目录树。

虚拟文件系统

Mirage 将所有内容“挂载”为面向 AI 智能体的一个统一虚拟文件系统。每个服务并排位于同一个根目录下,并遵循相同的 POSIX 语义。
|                                  | VFS                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 对象存储               |                                  |
| 文件和文档          |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| 消息与工作           |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| 数据库与数据平台 |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| 可观测性                |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| 本地与远程             |                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |

Agents 通过 Python 和 TypeScript SDK、mirage CLI 或一个真实的
通过 FUSE 和 FSKit 挂载,然后用他们已经熟悉的 unix 工具来操作,
比如 ls、grep、find 和 jq。

虚拟命令行工具

这些命令行工具是虚拟化的:Mirage 自己应答 git、slack 或 ntn,
因此 agent 无需在机器上安装这些程序就能驱动相应服务。每个工具都模仿真实的工具,所以熟悉 CLI 的 agent
不需要学习任何新东西。由于它们是虚拟的,同一个工具可以以不同的名称多次安装,每个都有自己的凭据,
因此每个 agent 都能获得恰好分配给它的账户。

|                   | CLI                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 代码          |                                                                                                                                                                                                                                                                                              |
| 通信 |                                                                                                                                 |
| 工作与数据 |        |

虚拟运行时

运行时的虚拟化方式相同,而且不仅限于编程语言。命令行上的任何命令都可以被重定向到已配置的运行时,因此 Python 可能会通过 Monty 在进程内运行,而另一个命令(例如 kubectl)则通过 SSH 发送到远程机器。某一行由哪个运行时提供服务,可以由脚本化运行时路由器决定。

|                | 运行时                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Python     |          |
| JavaScript |                                                                                                                                                                                                                      |
| Sandboxes  |                                                                                                           |

安全

配置文件决定会话可以运行什么以及可以看到什么。命令由可自定义的 allow、ask 和 deny 规则管控,路径则由 hide 和 show 管控,因此隐藏文件不仅不可读,而且会从智能体所看到的文件系统中消失。对于这些规则无法表达的任何情况,配置文件可以指定一个策略脚本,该脚本在每次命令的关口运行,并自行回答允许、拒绝或询问,不过与每条规则一样,它只能进行限制,绝不能授予权限。另外,主机可以在策略引擎上注册自己的策略,一个
工作区在每条命令、VFS 操作和会话写入时都会查询的有序栈。请参阅权限文档。

身份验证

凭据和身份验证与密钥已经所在的存储集成,包括 AWS Secrets Manager、1Password、Auth0 和 dotenv,因此 Mirage 中的环境变量可以直接解析为保存在其中之一中的凭据。

|              | 来源                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| 内置 |    |
| 自定义   |                                                                                                                                                                                                                                          |

安装

- Python ≥ 3.11,用于 mirage-ai 包和 mirage CLI
- Node.js ≥ 20,用于 TypeScript SDK

Python

uv add mirage-ai    # installs the mirage library and the mirage CLI binary

TypeScript

npm install @struktoai/mirage-node      # Node.js servers and CLIs
npm install @struktoai/mirage-browser   # browser / edge runtimes
npm install @struktoai/mirage-agents    # OpenAI / Vercel AI / LangChain / Mastra adapters
两个运行时包都会自动引入 @struktoai/mirage-core。

CLI

curl -fsSL https://strukto.ai/mirage/install.sh | sh
或
npm install -g @struktoai/mirage-cli
或
uvx mirage-ai
或
npx @struktoai/mirage-cli

快速开始

Python

from mirage import Workspace
from mirage.vfs.ram import RAMVFS
from mirage.vfs.s3 import S3Config, S3VFS

ws = Workspace({
"/data": RAMVFS(),
"/s3":   S3VFS(S3Config(bucket="my-bucket")),
})

await ws.shell("cp /s3/report.csv /data/report.csv")
await ws.shell("grep alert /s3/data/log.jsonl | wc -l")

await ws.snapshot("demo.tar")

TypeScript

import { Workspace, RAMVFS, S3VFS } from '@struktoai/mirage-node'

const ws = new Workspace({
'/data': new RAMVFS(),
'/s3':   new S3VFS({ bucket: 'my-bucket' }),
})

await ws.shell('cp /s3/report.csv /data/report.csv')
await ws.shell('grep alert /s3/data/log.jsonl | wc -l')

await ws.snapshot('demo.tar')

CLI

mirage workspace create ws.yaml --id demo
mirage execute   --workspace_id demo --command "cp /s3/report.csv /data/report.csv"
mirage provision --workspace_id demo --command "cat /s3/data/large.jsonl"
mirage workspace snapshot demo demo.tar
mirage workspace load demo.tar --id demo-restored

贡献者

感谢所有为 Mirage 做出贡献的人。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群