Five MCP tools between your agent and the OS.
Structured output · error diagnostics · process control · one binary
ohitsmish.com · Releases · Architecture · Benchmarks
______________________________________________________________________
Before: agent → Bash("cargo test") → 1,319 lines raw output
After: agent → sh_run("cargo test") → 201 lines (6.6× reduction)
Before: agent → Bash("cargo test") + watch → 1,319 lines raw output
After: agent → sh_run watch="warning" → 3 lines (440× reduction)
Before: agent → Bash("cp missing dest/") → "No such file" + 4 follow-up calls
After: agent → sh_run("cp missing dest/") → error + path walk + permissions + nearest dirs安装
# macOS (Apple Silicon + Intel) and Linux
curl -fsSL https://ohitsmish.com/install.sh | sh
# or from source
cargo install --git https://github.com/aetherwing-io/mish连接
# Claude Code
claude mcp add mish -- mish serve
# Cursor / Windsurf / any MCP client — add to your config:
"mish": { "command": "mish", "args": ["serve"] }重新启动客户端。出现五个工具:
| 工具 | 它做什么 |
|---|---|
| sh_run | 运行命令。输出被压缩、分类,并通过故障诊断进行丰富。 |
| sh_spawn | 启动后台进程。等待就绪的模式、别名、输出假脱机。 |
| sh_交互 | 发送输入、读取尾部、发出信号或终止正在运行的进程。 |
| sh_session | 具有完整生命周期控制的命名PTY会话。 |
| sh_帮助 | 自我记录参考卡。你的经纪人会阅读它,从不需要手册。 |
它做什么
mish位于shell和它的调用者之间——无论是LLM代理、人类还是两者兼而有之——并返回结构化、上下文高效的响应。它对每个命令进行分类,并应用正确的处理程序。纯粹的启发式,循环中没有LLM。每个响应都包括退出代码、时间和命令类别。在失败时,mish会预先遍历路径、检查权限并列出附近的文件——在您的代理必须询问之前。
命令路由
每个命令分为六类:
| 类别 | 命令 | 行为 |
|---|---|---|
| 浓缩 | npm、cargo、docker、make、pytest | PTY捕获→ ANSI带→ 去重→ 奥利奥截断 |
| 叙述 | cp、mv、mkdir、rm、chmod | 检查→ 执行→ 叙述发生的事情 |
| 穿透 | cat、grep、ls、jq、diff | 逐字输出+元数据 |
| 结构化的 | git状态,docker ps | 机器可读解析 |
| 交互式 | vim、htop、psql、节点REPL | 具有原始模式检测的透明透传 |
| 危险 | rm-rf,强制推送,重置--硬 | 执行前发出警告 |
基准测试
相同的命令,相同的机器,相同的会话。mish与裸shell在真实Rust代码库上的比较。
| 场景 | 减少 | 如何 |
|---|---|---|
| 完整的测试套件 | 6.6× | 扣除+奥利奥截断——头部和尾部保持不变,重复中部下降 |
| 测试套件+手表 | 440× | 只有正则表达式匹配的行返回 |
| 命令失败 | 5→1 往返旅程 | 路径行走、权限、最近的目录——失败时预先获取 |
完整基准数据: SHOWCASE.md
运作原理
mish是一个二进制文件,有两个接口:
MCP服务器 (mish serve)--JSON-RPC上的进程监控器,在每个响应上都有环境进程状态,观察正则表达式过滤的模式,以及auth/MFA的操作员切换。
CLI代理 (mish )--用类别感知的结构化输出包装单个命令。独立工作或与任何LLM工具一起工作。
两者共享同一核心:类别路由器→ 压缩器管道(VTE解析、进度删除、数据删除、Oreo截断)→ 误差富集→ 语法系统(支持方言的TOML工具语法)。
看 建筑.md 对于完整的执行模型。
状态
积极发展。跨单元、集成、CLI、语法、夹具和MCP层的1400多个测试。MCP服务器在日常使用中使用Claude Code进行了现场和战斗测试。macOS和Linux。
