cupbox
Provides an AI question-answering tool and multi-round agent orchestration through OpenAI-compatible APIs, with file operations forced to dry-run and command execution subject to whitelist checks.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cupboxOrganize my Downloads folder by file type, but show me a dry-run preview first."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Cupbox
⚠️ 许可与素材声明
代码与文档:MIT 许可证,可自由使用、修改与分发。
全部美术与音频资源(插画、角色立绘、服装与动作像素图、图标、界面背景、启动动画素材、表情包、背景音乐与音效等,含随安装包分发的内容):不在 MIT 许可范围内,权利归项目团队所有,未经书面许可不得复制、修改、分发或用于任何衍生作品。
「筑梦喵」(Dream Weaving Meow)是团队 IP 形象(含形象、名称、设定、服饰与衍生造型):不可复用——无论公益或商业用途均不得使用、仿制、二次创作,或作为其他项目/产品的形象;违者将视情节追究法律责任。
Related MCP server: Uten Agent Terminal MCP
📦 Cupbox 是什么?
Cupbox 是一个面向日常开发工作的轻量级工具箱。
在开发过程中,我们总会遇到许多不大不小的杂活:
下载目录堆满了文件,需要按类型整理。
一批图片需要统一编号,或者按规则批量重命名。
想在项目中搜索某个关键词,却不想被依赖目录和构建产物干扰。
需要计算文件哈希、转换时间戳、处理 JSON 或 CSV。
想快速识别截图中的文字,或者压缩、解压一个文件夹。
希望 AI 帮忙操作本地文件,却不想把系统权限完全交出去。
这些事情单独看都很简单,但频繁切换工具、编写临时脚本和重复确认操作,会不断打断开发节奏。
Cupbox 希望把这些零散能力整合到一个统一、可复用、可审查的工具集中。
一套能力,三种入口
Cupbox
│
┌────────────┼────────────┐
│ │ │
CLI 命令行 MCP Server 桌面工作台
│ │ │
开发者直接使用 AI 智能体调用 普通/高级任务
│ │ │
└────────────┼────────────┘
│
统一功能引擎
│
┌────────────┼────────────┐
│ │ │
文件操作 文本处理 系统工具
│ │ │
└────────────┼────────────┘
│
统一安全规则CLI: 面向开发者,适合手动操作、终端工作流和脚本自动化。
MCP: 面向 AI 智能体,让兼容 MCP 的客户端能够以结构化工具调用 Cupbox。
桌面版: Electron 工作台,普通任务继续原会话,高级任务在主窗口内嵌原生 AI 引擎;工具调用、提问、审批、执行轨迹和任务恢复都在同一界面完成。
统一引擎: 三种入口复用同一套核心能力,减少重复实现。
安全优先: 对文件变更、命令执行和进程管理设置明确的操作边界。
无论是你亲自敲命令、在桌面工作台里对话,还是让 AI 帮你完成任务,都不需要为同一件事情维护两套工具。
✨ 为什么选择 Cupbox?
01. 不只是命令行,也是 AI 的工具箱
传统 CLI 主要服务于人类用户,而 Cupbox 同时考虑 AI 智能体的调用方式。
同一项能力既可以通过命令执行:
cupbox organize ~/Downloads --mode category --dry-run也可以通过 MCP 工具调用:
organize_files这样,开发者可以继续使用熟悉的终端,而 AI 则可以在授权的工具范围内协助完成重复性工作。
02. 安全默认,而不是事后补救
让 AI 操作本地文件很方便,但错误的移动、重命名或系统命令也可能造成实际损失。
Cupbox 将安全规则纳入工具设计:
文件整理和批量重命名支持预览操作。
面向 AI 的文件变更工具默认先进行 dry-run。
命令执行必须通过白名单检查:面向 AI 的
run_command默认拒绝执行,必须提供allowPrefixes或管理员预设CUPBOX_RUN_ALLOW,且白名单模式下拦截 shell 元字符防注入。进程终止需要同时校验 PID 和进程名。
重名冲突默认跳过,不静默覆盖。
MCP 工具支持通过环境变量禁用。
让 AI 具备执行能力,但不意味着让 AI 获得无限制的执行权限。
03. 轻量依赖,尽量使用系统能力
Cupbox 尽量复用操作系统已有的能力,减少额外依赖和部署负担。
OCR:Windows 原生识别能力或已安装的 Tesseract。
压缩包:系统
tar。剪贴板与截屏:使用平台对应的原生能力。
运行环境:Node.js 18.17 或更高版本。
运行时依赖:项目设计目标为仅两个运行时依赖。
具体能力仍取决于操作系统、相关系统组件和可选工具是否可用。
04. 跨平台,统一工作流
Cupbox 面向 Windows、macOS 和 Linux,适合个人开发环境、项目仓库以及日常文件处理。
不同平台的系统工具和权限机制可能存在差异,因此实际功能可用性以对应平台的实现和测试结果为准。
🧰 功能一览
Cupbox 的工具按入口分别统计,数量不要混在一起看:
入口 | 数量 | 说明 |
桌面工具箱 | 121 项 | 51 项本地工具 + 70 项工作模式工具目录 |
原生工作引擎 | 66 项 | 工作模式下 AI 可直接调用的本机工具 |
命令行 / MCP | 21 项 | 终端命令与 MCP 客户端调用 |
🧰 桌面工具箱(121 项)
工具箱按“办公 / 本机工具 / 文件 / 数据 / 图片 / 工作模式”分类,支持搜索:
分类 | 数量 | 内容 |
办公 | 23 | Word 读取 / 制作 / 替换 / 模板 / 邮件合并;PPT 读取 / 制作 / 替换 / 重排;Excel 读取 / 制作 / 修改 / 分析 / 转换 / 格式化 / 合并;PDF 读取 / 生成 / 合并 / 拆分 / 盖章;Office 导入导出 |
本机工具 | 20 | Use-It 7(PPT、Word、Excel、AutoCAD、桌面截图与动作、状态、动作清单)、桌面协作 6(观察、截图、OCR、视觉、鼠标、键盘)、压缩、OCR、剪贴板、截图、命令、进程 |
文件 | 3 | 文件整理、批量重命名、文件搜索 |
数据 | 4 | 哈希、时间戳、编码解码、CSV/JSON |
图片 | 1 | 图片像素混淆与还原 |
工作模式目录 | 70 | Harness 工具目录:原版运行时 38、需启用扩展 22、需浏览器与模型 6、上游未发布 2、Windows pwsh 1、语言服务器 1 |
🛠️ 原生工作引擎(66 项)
工作模式(高级任务)下 AI 实际可调用的工具,写入继续走预览与批准:
领域 | 数量 | 工具 |
文件 | 10 | 读取、写入、编辑、补丁、建目录、移动、复制、删除、信息、回滚 |
终端与进程 | 7 | 伪终端创建 / 写入 / 读取 / 结束 / 列表、受保护命令、进程管理 |
图片 | 6 | 转换、缩放、裁剪、对比、信息、取色 |
办公文档 | 23 | Word 5、PPT 4、Excel 7、Office 2、PDF 5 |
Use-It | 7 | 状态、动作清单、PPT、Word、Excel、AutoCAD、桌面 |
记忆 / 任务 / 上下文 | 5 | 记事、召回、管理、任务、上下文统计 |
网络 / 比较 / 搜索 / 替换 / 剪贴板 | 5 | HTTP、diff、grep、replace、剪贴板图片 |
Git / 包 / 测试 | 3 | git、包管理、测试 |
以下 21 个工具同时提供命令行与 MCP 入口:
📁 文件管理
功能 | CLI 命令 | MCP 工具 | 能力说明 |
文件整理 |
|
| 按文件类型、日期或正则规则归档,支持预览 |
批量重命名 |
|
| 模板、正则与扩展名筛选,重名不覆盖 |
文件搜索 |
|
| 搜索文件名与内容,自动跳过常见依赖目录 |
压缩包管理 |
|
| 创建、解压和查看压缩包清单 |
🔧 文本与数据处理
功能 | CLI 命令 | MCP 工具 | 能力说明 |
哈希计算 |
|
| 支持 MD5、SHA-1、SHA-256、SHA-512 |
时间转换 |
|
| 识别秒或毫秒时间戳,转换 ISO、北京时间和相对时间 |
编码与解码 |
|
| Base64、URL、HTML 编解码及 JSON 格式化、压缩 |
CSV 与 JSON 转换 |
|
| 双向转换,支持 RFC 4180 相关 CSV 处理 |
🖼️ 图片处理
功能 | CLI 命令 | MCP 工具 | 能力说明 |
图片像素混淆 |
|
| 六种模式混淆与无损还原,与「番茄图片混淆」生态互通;密钥非法即时拦截,绝不覆盖已有文件 |
🖥️ 系统与桌面工具
功能 | CLI 命令 | MCP 工具 | 能力说明 |
OCR 文字识别 |
|
| 调用 Windows 原生引擎或 Tesseract |
剪贴板 |
|
| 读取和写入剪贴板 |
截屏 |
|
| 调用平台支持的截屏能力并输出 PNG |
受保护命令执行 |
|
| MCP 侧默认拒绝、必须白名单(防注入),超时限制和输出截断 |
进程管理 |
|
| 按内存等信息查看进程,并对结束操作进行双重校验 |
版本检测与更新 |
| — | GitHub Releases → npm 双数据源(npm 源校验仓库归属防撞名),输出更新公告与下载地址; |
🧠 AI 能力
功能 | CLI 命令 | MCP 工具 | 能力说明 |
AI 问答 |
|
| 通过已配置的 API 单次问答(OpenAI 兼容 / Anthropic 双协议) |
AI Agent |
|
| 多轮循环:模型自主调用本地工具完成任务后给出总结 |
🧩 三层记忆与上下文压缩(参考 dsh-mnemon 架构)
AI 不再每次从零开始:Cupbox 在本机维护三层记忆,超长对话自动压缩为摘要。
层 | 存储 | 行为 |
运行时记忆 |
| 常驻注入每次对话的 system prompt |
长期事实 |
| 按查询相关性召回(中文二元组 + 拉丁词打分) |
项目档案 | 会话工作区 + 会话摘要 | 工作区目录常驻提示;摘要在压缩时由 AI 生成 |
上下文压缩:历史超过预算(默认 24000 字符)时,旧轮次交给模型浓缩成 ≤400 字摘要,只保留最近 8 条原文。摘要并入 system prompt,下轮继续生效。无 AI 配置时降级为纯截断,绝不阻塞对话。桌面版对话框会出现「已压缩 N 条早前消息为摘要」提示条。
操作 | CLI | MCP 工具 |
记住一条事实 |
|
|
按关键词召回 |
|
|
列出 / 遗忘 |
|
|
画像 / 约定 |
|
|
桌面版 Agent 循环中,模型可直接调用这 4 个记忆工具跨会话记事;每次对话开始时自动注入相关记忆。
📊 上下文洞察(致敬 dsh-context 的能力方向)
长对话最怕「不知道还剩多少空间」。Cupbox 把上下文占用变成看得见的数字:
能力 | CLI | MCP 工具 | 说明 |
Token 估算与窗口占用 |
|
| 固定密度启发式(中文≈1.5 字符/token,西文≈4 字符/token);不传文本时返回 Agent 基线开销(系统提示词 + 全部工具 Schema) |
六成分分解:每次请求把上下文拆成 系统提示词 / 工具 Schema / 用户消息 / 注入上下文 / 助手回复 / 工具结果 六段,各占多少一目了然。
趋势与事件:桌面版按请求记录占用曲线(含提供方上报的实际输入/输出 token),并标注 注入记忆、压缩历史、切换模型、切换模式 四类事件。
桌面入口:对话页右上角「上下文」按钮打开洞察面板(成分条 + 占用趋势 + 事件流);窗口默认 128k,可用环境变量
CUPBOX_CONTEXT_WINDOW调整。估算为启发式(≈),非精确 tokenizer 计数,仅作占用参考。
所有 CLI 命令均支持 --json,便于脚本、自动化流程和其他程序消费结构化输出。
🚀 快速开始
环境要求
项目 | 要求 |
Node.js | ≥ 18.17 |
包管理器 | npm |
操作系统 | Windows / macOS / Linux |
可选组件 | OCR 引擎等依赖具体功能的系统组件 |
方式一:全局安装
npm install -g cupbox安装完成后,可以在终端的任意工作目录中使用:
cupbox help方式二:无需全局安装,直接试用
npx cupbox help适合初次体验,或者暂时不想安装全局命令的用户。
第一次使用:整理下载目录
先查看会发生什么:
cupbox organize ~/Downloads --mode category --dry-run确认预览符合预期后,再执行:
cupbox organize ~/Downloads --mode category例如,预览结果可能类似:
photo.png → Images/photo.png
report.pdf → Documents/report.pdf
预览完成:共 2 项待移动。
当前为 dry-run,未执行任何移动操作。以上仅为输出示例,实际目录名称、统计信息与显示格式以运行结果为准。
建议:第一次处理重要目录时,始终先预览,再执行。
💻 CLI 使用示例
1. 文件整理
按照类型整理下载目录:
cupbox organize ~/Downloads --mode category --dry-run
cupbox organize ~/Downloads --mode category支持的模式和规则以 cupbox organize --help 为准。
2. 批量重命名
给照片添加连续编号:
cupbox rename ./photos --template "{n}-{name}" --ext "*.jpg" --dry-run确认预览结果后,移除 --dry-run 执行。
批量操作前应检查文件筛选范围与重命名结果,避免误选不需要处理的文件。
3. 搜索项目内容
搜索 TypeScript 源码中的 TODO:
cupbox search ./src -c "TODO" --glob "*.ts"适合快速定位待办事项、关键字、配置项或需要排查的代码片段。
4. 计算文件哈希
cupbox hash --text "hello" --algo sha256,md5可以用于计算文本或文件的哈希值,具体参数以命令帮助为准。
注意:MD5 和 SHA-1 不适合需要现代抗碰撞安全性的场景;校验文件完整性时,优先考虑 SHA-256 或 SHA-512。
5. 转换时间戳
cupbox time 1700000000适用于日志排查、接口调试和数据库时间字段分析。
6. 编码与解码
cupbox codec b64e "你好,世界"还可用于 URL、HTML 与 JSON 等常见数据处理场景。
7. OCR 识别截图
cupbox ocr ./截图.png --lang zh-Hans可用于识别截图中的文字,适合从报错图片、界面截图或文档图片中提取文本。
识别语言和实际效果取决于系统 OCR 引擎及其语言支持情况。
8. 压缩与解压
通过 cupbox zip 处理压缩包,可以减少在文件管理器、临时脚本与终端工具之间切换的次数。
先查看完整参数:
cupbox zip --help创建、解压和查看清单时,建议特别留意目标目录以及压缩包中包含的路径。
9. 受保护的命令执行
cupbox run --helpCupbox 为命令执行提供白名单、超时和输出截断机制。具体允许的命令取决于项目中的白名单配置。
不要将其视为任意 Shell 命令执行器,也不要在未审核白名单的情况下直接向不可信输入开放执行能力。
10. 查看与结束进程
查看支持的进程操作:
cupbox proc --help结束进程时,需要提供 PID 和预期进程名:
cupbox proc kill --pid 1234 --name node示例中的 1234 仅为占位 PID。执行前应确认进程确实是目标进程。
11. 图片像素混淆与还原
cupbox obfuscate ./图.png --mode c --key 我的密钥混淆后的图片会另存为 图.obf.png;用同一模式和密钥加 --decrypt 即可无损还原:
cupbox obfuscate ./图.obf.png --mode c --key 我的密钥 --decrypt六种模式的说明可通过不带参数的 cupbox obfuscate 查看。密钥错误或缺失会在执行前被拒绝,输出文件重名时自动改名,绝不覆盖已有文件。
🤖 让 AI 替你干活
Cupbox 的一个重要目标,是让 AI 不仅能回答问题,还能在受控范围内调用实际工具。
通过 MCP(Model Context Protocol),兼容的 AI 客户端可以发现并调用 Cupbox 提供的工具。
支持场景
例如,你可以向 AI 提出这样的任务:
帮我整理下载目录,先按文件类型分类,把预计移动的文件列表给我看。我确认后再执行。
或者:
帮我给这批截图按顺序编号。先生成预览,不要覆盖任何已有文件。
AI 可以根据任务选择对应的 MCP 工具,获取结构化结果,并在确认后继续执行。
内置 AI 引擎(API 直连,不依赖 MCP 客户端)
Cupbox 自带 Codex 式 AI 能力,CLI、桌面版、MCP 三种形态都能直接调用模型:
cupbox ai ask—— 单次问答;cupbox ai agent—— 多轮 Agent 循环:模型自主选择本地 14 个工具(文件 / 数据 / 图片 / 受保护命令)执行任务,最后给出总结;MCP 侧新增
ai_ask、ai_agent两个工具,在 Claude Desktop / Cursor 中直接可调;桌面版就是一座对话工作台:新建会话 / 历史对话、「问一问 · Agent 模式」一键切换,API 配置在「设置 → API 设置」页完成。
首次配置(一次即可):
# OpenAI 兼容协议(官方 / DeepSeek / Kimi / Ollama / OpenRouter / vLLM …)
cupbox ai config --provider openai-compatible --base https://api.deepseek.com/v1 --model deepseek-chat --key sk-xxx
# 或 Anthropic 官方
cupbox ai config --provider anthropic --model claude-sonnet-4-5 --key sk-ant-xxxcupbox ai ask "1718000000 是几点"
cupbox ai agent "搜索项目里所有 TODO 并汇总" --max-turns 6
cupbox ai config # 查看当前配置(Key 打码显示)配置保存在
文档/Cupbox/config.json(权限 0600;v1.0.3 起默认系统「文档」目录,旧~/.cupbox首次启动自动迁移,CUPBOX_HOME可覆盖),密钥只存本机、不上传;环境变量
CUPBOX_AI_API_KEY/CUPBOX_AI_BASE_URL/CUPBOX_AI_MODEL/CUPBOX_AI_PROVIDER优先于配置文件;Agent 内
rename/organize永远 dry-run 预览(轮次默认 8、上限 10),run仍必须白名单——AI 拿不到任何超出人类使用时的安全权限。
方式一:使用全局安装
先安装 Cupbox:
npm install -g cupbox然后在 MCP 客户端配置文件中加入:
{
"mcpServers": {
"cupbox": {
"command": "cupbox",
"args": ["mcp"]
}
}
}保存配置后,按照对应客户端的要求重新启动或刷新 MCP 连接。
方式二:使用 npx
如果不想全局安装,可以参考项目提供的配置示例:
通常可以使用以下启动方式:
npx -y cupbox mcp具体配置方式以目标客户端的 MCP 配置规范为准。
AI 调用时的默认行为
对于文件整理和批量重命名,MCP 工具默认启用 dry-run 预览。AI 可以先读取预计执行结果,再根据用户的明确要求发起实际操作。
用户提出任务
↓
AI 选择对应的 MCP 工具
↓
Cupbox 校验参数与安全规则
↓
返回预览结果
↓
用户确认执行
↓
Cupbox 再次校验并执行操作
↓
返回执行结果实际执行流程仍受具体工具的参数、实现逻辑和安全检查约束。
需要特别说明:dry-run 不是完整的事务机制,也不能代替权限隔离、备份和执行前的最终检查。 对重要数据,仍建议先备份,并确认操作范围。
📦 可视化桌面版(阶段 1/3)
本地 Electron 桌面应用,工作台式布局(v1.0.0 起):
会话侧栏 —— 新建会话、历史对话列表(本机
文档/Cupbox/sessions/持久化,可删除 / 清空)、工作区目录选择(Agent 的文件任务在工作区内进行);对话主区 —— 「问一问 / Agent 模式」分段切换,Enter 发送、Shift+Enter 换行,回复附带工具轨迹卡片,多轮上下文自动携带;
工具箱抽屉 —— 原 16 工具表单界面折叠为右侧抽屉,按数据 / 文件 / 图片 / 系统分组选择,动态表单 + 结果面板(JSON 美化、图片预览);
设置弹窗 —— 四个页签:API 设置(协议 / 地址 / 模型 / 密钥 / 温度 / agent 轮次)、主题(深色 · 浅色 · 跟随系统 × 极光 / 薄荷 / 琥珀 / 玫瑰四种强调色,即时生效并落盘)、插件管理(每个工具的开关同时作用于工具箱显示与 Agent 可调用的工具集)、关于更新(版本信息、一键检查 GitHub 仓库新版本与结果展示、仓库 / Releases / CHANGELOG 快捷入口);
版本检测与更新公告(v1.0.1)—— 启动静默检查更新,发现新版顶栏亮「vX.Y.Z 可用」呼吸徽标并自动弹出一次更新公告(版本对比 + Release 说明 + 前往 GitHub 下载 / 查看更新日志 / 稍后提醒);点击顶栏版本号或在「设置 → 关于更新」可手动检查(转圈反馈),静默过的版本仍可从徽标再进,
CUPBOX_UPDATE_DISABLE=1一键关闭检查。数据默认存「文档」(v1.0.3)—— 配置 / 密钥 / 模型库 / 会话 / 记忆都在
文档/Cupbox,设置 → 模型连接的「API 储存管理」可一键打开文件夹、定位config.json;旧~/.cupbox首次启动自动迁移(只复制不覆盖,CUPBOX_HOME可覆盖),侧栏「模型管理」直达多模型与能力多选页面。工具调用实时直播 + AI 气泡(v1.0.3)—— Agent 执行任务时每次工具调用以卡片逐条出现(工具名 / 参数 / 执行中动画 → 完成耗时或失败详情),结束后由完整轨迹接管;AI 回复改为与用户气泡对偶的卡片气泡样式,带入场动画。
Use-It 实时 Office 集成 —— 通过 use-it-agent 本地引擎用 COM 操作已打开的 PowerPoint / Word / Excel / AutoCAD 与桌面 GUI;工具箱「办公 / 系统」新增 7 个工具,Agent 在本机模式下可调用,写入逐次批准。引擎安装与启动见 docs/USEIT-ENGINE.md。
普通 / 高级任务统一入口 —— 工作页顶部切换普通任务与高级任务,默认普通任务;高级任务在主窗口内嵌运行。侧栏「最近任务」同时列出普通会话与高级任务(带“高级”标记),点击即回到对应模式,切换视图不会打断正在运行的任务。
聊天定位条与历史折叠 —— 右侧按轮次显示刻度,悬停预览、点击跳转并自动展开折叠的历史;长会话只渲染最近一批消息,向上按批展开,避免一次渲染整个历史。
流式滚动跟随 —— 只有停留在对话底部时才自动跟随新内容;向上翻看历史时不会被流式输出拽回,回到底部后恢复跟随。
与 CLI、MCP 共用同一套引擎和安全默认(dry-run、白名单、解压预检全部生效)。
npm install # 首次会经 npmmirror 镜像下载 Electron 运行时
npm run desktop # 开发运行
npm run pack:exe # 打包绿色便携 exe → release/Cupbox可视化/Cupbox可视化.exe
npm run pack:installer # Windows 安装包(需 Inno Setup 6.7+)→ release/Cupbox-Setup-1.2.0-x64.exe安装版提供樱花主题中文引导、深浅色外观、安装位置与快捷方式选择,卸载保留对话和配置。 侧栏“QQ 机器人”提供独立扫码窗口、自动配置的 NapCat、群聊/私聊规则、共享记忆与受控表情包,见 QQ 机器人说明。 构建、安装与签名说明见 Windows 安装版。
三阶段路线(工具驾驶舱 → ACP 多引擎接入 → 技能市场/调度/多会话)与选型依据见 docs/ARCHITECTURE.md。
🛡️ 安全设计
Cupbox 不希望 AI 自动化变成无边界的系统控制,因此将若干安全措施作为默认设计方向。
风险场景 | 对应措施 | 设计目的 |
批量移动文件 | 支持 dry-run 预览 | 执行前检查影响范围 |
批量重命名 | 预览、冲突检查 | 减少误操作与文件覆盖 |
AI 调用命令执行 | 默认拒绝,须显式白名单 | 不提供 |
命令执行时间过长 | 超时控制 | 防止任务无限等待 |
命令输出过大 | 输出截断 | 控制返回结果的体积 |
解压来源不明的 zip | 解压前预检路径穿越与覆盖冲突 | 防 zip-slip( |
终止错误进程 | PID 与进程名双重校验 | 降低误结束其他进程的风险 |
不需要某些 AI 工具 | 支持禁用指定工具 | 缩小可用工具的攻击面 |
禁用指定 MCP 工具
可以通过环境变量关闭不希望暴露给 AI 的工具:
CUPBOX_DISABLE_TOOLS=run_command,process cupbox mcp上面的写法展示了配置意图。不同操作系统设置环境变量的语法不同,Windows 用户可以在启动 MCP 的配置环境中设置对应变量。
与之配合,CUPBOX_RUN_ALLOW=npm,git status 可以为 run_command 预设允许的命令前缀(调用时提供了 allowPrefixes 则以调用方为准)。两者都没有时,MCP 侧的 run_command 会拒绝执行任何命令。
安全边界
需要注意以下几点:
白名单限制的是允许的命令形式,不等于完整的操作系统沙箱。
白名单模式下命令不得包含 shell 元字符(管道、重定向、命令替换、cmd 变量展开等),命中即拒绝——这是防注入设计,不是功能缺陷;需要管道或重定向时请由人工在 CLI 不加白名单运行。
解压 zip 前会预检路径穿越条目与覆盖冲突;经由人工 CLI 处理不可信压缩包时,仍建议先确认来源。
被允许的程序仍可能具有自身的文件访问和系统权限。
PID 与进程名校验可以降低误操作风险,但不能消除所有进程竞态问题。
dry-run 的预览结果不保证执行时文件系统状态仍然相同。
处理敏感数据时,仍需遵循最小权限原则。
如果要将 Cupbox 部署到自动化服务器,或者交给具有较高权限的 AI 智能体使用,应进一步评估操作系统账户权限、工作目录限制、命令白名单以及运行环境隔离。
⚙️ 平台与依赖
Cupbox 尽可能使用轻量的实现方式,但部分功能依赖操作系统能力。
功能 | 依赖或限制 |
基础 CLI 与 MCP | Node.js 运行环境 |
OCR | Windows 原生 OCR 能力或已安装的 Tesseract |
压缩包处理 | 依赖实现所使用的系统压缩工具 |
剪贴板 | 依赖对应平台的能力与权限 |
截屏 | 依赖对应平台的实现与权限 |
图片像素混淆 | PNG 编解码由纯 JS 的 pngjs 实现,无原生依赖 |
进程管理 | 受操作系统权限和进程管理规则约束 |
如果某项功能在你的环境中不可用,请先检查系统组件、权限和命令帮助,再提交包含操作系统、Node.js 版本、复现步骤及错误输出的 Issue。
📚 文档与帮助
命令帮助: 在终端执行
cupbox help。npm 包: cupbox。
GitHub 仓库: beizilaoshi/cupbox。
英文文档: README.en.md。
MCP 配置示例:
examples/。问题反馈: GitHub Issues。
对于尚未熟悉的命令,建议优先查看帮助信息,再对真实文件执行批量操作。
🧑💻 本地开发
欢迎开发者参与 Cupbox 的改进与扩展。
获取源码
git clone https://github.com/beizilaoshi/cupbox.git
cd cupbox
npm ci运行测试
npm test项目的测试流程覆盖构建、单元测试、CLI 冒烟测试,以及基于内存传输的 MCP 集成测试。
启动开发监听
npm run dev项目结构
cupbox/
├── src/
│ ├── core/ # 核心功能实现
│ ├── util/ # 平台、进程、文件系统等工具
│ ├── index.ts # CLI 入口
│ └── mcp.ts # MCP Server 入口
├── test/ # 自动化测试
├── examples/ # MCP 配置示例
├── README.md
└── README.en.md持续集成
项目现有 CI 配置覆盖 Windows、Ubuntu,以及 Node.js 18、20、22 的测试组合。
持续集成的目标是尽早发现跨平台差异、运行时兼容性问题和功能回归。
🤝 参与贡献
Cupbox 仍然有很多值得改进的地方。欢迎提交 Issue、建议和 Pull Request。
尤其欢迎以下方向的贡献:
跨平台兼容性: 路径、编码、权限与系统工具差异。
安全性: 参数校验、边界条件、异常处理和安全测试。
测试覆盖: 文件操作、异常输入、冲突场景及 MCP 集成。
开发体验: 更清晰的命令帮助、更友好的错误提示和结构化输出。
文档完善: 使用示例、常见问题和平台配置说明。
建议在提交 PR 前运行:
npm test请尽量提供可复现的测试用例,并说明修改内容、适用场景以及可能产生的兼容性影响。
💬 交流群
QQ 群:1005188752
群内用于使用答疑、版本通知和功能讨论;遇到可复现的问题,仍建议优先提交 Issue,方便跟踪和沉淀。
🗺️ 项目方向
Cupbox 的长期方向是成为一个轻量、可靠、适合人类与 AI 共同使用的开发工具箱。
可以考虑持续完善以下方面:
可靠性: 进一步补足边界条件、异常恢复和跨平台测试。
安全性: 持续审查命令执行、路径处理和文件变更的安全边界。
可组合性: 让 CLI、MCP 与脚本工作流之间保持清晰一致的行为。
可维护性: 控制依赖增长,保持模块边界清晰。
易用性: 提供更直观的错误信息、示例和环境诊断。
这些是项目的发展方向,不代表所有事项都已经实现。
🙏 致谢
图片像素混淆(obfuscate / obfuscate_image)的六种模式算法移植自开源项目「番茄图片混淆 桌面版」(MIT License, Copyright (c) 2026 3450892121,作者 GitHub 主页:github.com/3450892121)。移植实现与原版引擎做过逐字节对拍,并在测试中保留了兼容性金标,以确保与该项目及手机端生态的长期互通。感谢原作者的开源贡献。
三层记忆与上下文压缩(memory 子命令 / memory_* 工具 / 会话摘要)的架构设计参考了开源项目 dsh-mnemon(omdsh-dev)的运行时记忆、长期事实与回合压缩模型。Cupbox 的实现是面向本机 CLI/桌面场景的独立重写(Node 内置模块,无额外运行时依赖),致谢原作者的架构启发。
📄 许可证
Cupbox 使用 MIT License 开源。
你可以在 MIT 许可证条款范围内使用、修改和分发本项目。具体权利与义务以仓库中的许可证文本为准。
桌面开发工具与项目授权
设置 → 开发与授权提供 36 项桌面 Agent 工具:文件预览/事务/回滚、HTTP、真实 ConPTY、搜索替换、图片处理、Git、脚本与测试、项目记忆。文件修改需预览令牌,项目策略提案不自动信任,Shell 始终人工批准。详见 开发工具说明。
本机渗透测试 Agent(默认关闭)
设置 → 权限与环境可开启隐藏的本机渗透测试 Agent,开启时需确认风险。工具和本机模型请求都只允许固定127.0.0.1,不解析域名、不跟随重定向。复用 MIT node-portscanner 检查端口,并提供有界HTTP安全头/配置暴露检查;没有本机模型也可运行固定流程。详见 边界、来源与使用说明。当前版本为1.2.0。
桌面协作:鼠标、读屏与视觉
设置 → 权限与环境开启需要的权限,在左侧桌面协作手动授权目标窗口,再使用 Agent 对话。新增7个桌面工具,默认关闭,逐次确认;Ctrl+Alt+F12紧急停止。权限、开源来源与使用说明。
This server cannot be deployed
Maintenance
Related MCP Connectors
Your org's AI agents, tasks, runs, search, and brain files as MCP tools and resources.
OCR, transcription, file extraction, and image generation for AI agents via MCP.
MCP server for your apps' tools and custom tools, plus hosted AI agents and approval-gated workflows
214 tools for AI agents over one MCP endpoint: image, video, audio, 3D, data, storage, mail, GPUs.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables coding agents to perform file, search, patch, git, process, test, package, network, and system operations through 60 typed MCP tools with structured inputs/outputs, structured errors, and a full event journal, replacing terminal use with a typed machine API.MIT
- AlicenseBqualityCmaintenanceEnables AI agents to run shell commands, execute Python code, read and write files, search text, and create or delete folders through MCP stdio tools.9MIT
- AlicenseNot gradedqualityCmaintenanceExposes 24 deterministic developer utilities as MCP tools — encoders and hashers, UUID/ULID and timestamp helpers, color, CSS, cron and permission converters, JSON/YAML/XML/SQL/TypeScript transformers, and a web page-to-markdown fetcher. Runs locally over stdio so agents get byte-exact results instead of approximating computations, with only the markdown fetcher making network requests.MIT
- FlicenseNot gradedqualityAmaintenanceEnables web-based AI chat clients and local IDEs to securely operate a user's own machine through an OAuth-gated MCP endpoint, covering file read/write/edit, whitelisted shell execution, search, read-only Git, SQLite, browser automation, DevTools debugging, background tasks, localhost fetching, ports, clipboard, notifications, and Postman control. Its 38 tools are governed by configurable allowed folders, a strict command whitelist, rate limits, and caller blocking, so remote AI assistants get scoped access without unrestricted shell privileges.-