命令行使用参考
权威参考:本页维护全部 CLI 命令、选项和组合规则。README 与官网入口页只保留摘要和跳转链接。
这份文档说明当前 CLI 的入口、选项组合和参数边界。交互模式中的 / 指令见交互模式。
基本结构
mind [OPTIONS] [PROMPT]
mind [OPTIONS] <COMMAND> [ARGS]
- 不带子命令时进入交互模式,可附带一条初始提示词。
- 单次非交互任务使用
mind exec,也可以使用短别名mind e。 - 使用
mind <command> --help查看某个命令的实时参数;例如mind exec --help。 - 使用
mind help <command...>也可以查看多级命令帮助;例如mind help mcp add。
当前命令如下:
| 命令 | 用途 |
|---|---|
mind |
进入交互模式 |
mind exec / mind e |
执行一次非交互任务 |
mind resume |
恢复已有交互会话 |
mind archive |
按会话 ID 或标题归档会话 |
mind unarchive |
按会话 ID 或标题恢复归档会话 |
mind agent |
远端任务订阅命令组(当前子命令为 listen) |
mind agent listen |
监听远端下发任务 |
mind upgrade |
运行组件升级命令组(当前子命令为 helix) |
mind upgrade helix |
下载或更新 Helix 运行组件 |
mind doctor |
只读诊断本地运行环境 |
mind mcp |
外部 MCP 服务命令组 |
mind mcp list/get/add/remove/enable/disable/login/logout/help |
管理外部 MCP 服务注册与本地 OAuth 凭据 |
mind mcp-server |
通过 stdio 暴露 MCP 服务 |
mind completion |
生成 shell 补全脚本 |
mind help [COMMAND...] |
查看根命令或多级子命令帮助 |
进程级选项
配置、沙箱和审批选项都是进程级选项,可以写在子命令之前或之后:
mind -p work exec "检查当前项目"
mind exec "检查当前项目" -p work
mind exec "检查当前项目" -c 'model_providers.openai-main.reasoning_effort="high"'
| 选项 | 说明 |
|---|---|
-c, --config <key=value> |
按点路径临时覆盖配置;值优先按 TOML 解析,可重复传入 |
-p, --profile <PROFILE> |
在基础配置之上叠加 ~/.mind/<name>.config.toml |
-C, --cd <DIR> |
为交互、resume、exec 或 agent listen 指定本次工作目录;目录必须存在 |
-s, --sandbox <MODE> |
选择 read-only、workspace-write 或 danger-full-access |
-a, --ask-for-approval <POLICY> |
选择 untrusted、on-request 或 never |
-V, --version |
输出版本号 |
-h, --help |
输出帮助 |
-c 只覆盖本次进程。包含数组、字符串或特殊字符的值应按当前 shell 的规则加引号。
本地 JavaScript REPL、桌面观察和子 Agent 能力由 config.toml 的启动期开关控制:
[features]
js_repl = true
computer = true
subagents = false
js_repl 和 computer 默认开启,可显式设为 false 关闭;subagents 默认关闭。
computer 注册一个桌面观察与输入工具,Windows 源码运行需先发布独立 C# sidecar。
构建、审批与使用方式见 原生桌面 Sidecar。
关闭 js_repl 会同时移除 js_repl 和 js_repl_reset;关闭 subagents
会停止注册全部 Agent 协作工具,并禁止创建或控制子 Agent。[agents] 仅保留
max_concurrent_threads_per_session、max_depth、default_fork_turns 和
max_fork_context_chars 等运行参数。修改这些能力开关后需要重新启动进程。
交互模式
mind
mind "先检查当前项目结构"
mind -m gpt-5.5 "先检查当前项目结构"
mind -i .\screen.png "分析这张截图"
mind -H api "检查接口"
根命令支持:
| 选项 | 说明 |
|---|---|
-m, --model <MODEL> |
为本次运行覆盖主模型 |
-i, --image <FILE> |
添加初始图片;可重复,也可用逗号分隔多个路径 |
-H, --helix [PROFILE] |
接入 Helix;省略 profile 时使用 app,也可选择 api |
-m 是本次运行的临时覆盖,不会写入持久配置。需要在交互会话中持久修改模型时,使用 /model 或 /preferences。
单次执行
mind exec [OPTIONS] [PROMPT]
mind e [OPTIONS] [PROMPT]
常用示例:
# 非交互运行默认使用 read-only 和 never
mind exec "检查当前项目并给出结论"
# 选择沙箱、审批策略和本次模型
mind exec -s workspace-write -a on-request -m gpt-5.5 "修复测试失败"
# 输出 newline-delimited JSON 事件
mind exec --json "检查当前项目"
# 本次运行启动或复用 Helix;省略 profile 时使用 app
mind exec --helix "检查设备状态"
# 接入 Helix 并使用 api 工具过滤器
mind exec --helix api "检查接口状态"
exec 选项:
| 选项 | 说明 |
|---|---|
--json |
输出 JSONL 事件流 |
--dangerously-bypass-hook-trust |
本次执行跳过已启用 Hook 的当前内容信任检查 |
-H, --helix [PROFILE] |
启动或复用本地 Helix;profile 可选 app 或 api,默认 app |
-i, --image <FILE> |
添加图片附件 |
-m, --model <MODEL> |
临时覆盖本次请求使用的主模型 |
图片组合
图片选项可以写在 exec 前,也可以写在 exec 的 prompt 前后:
mind -i .\overview.png exec "分析图片"
mind exec -i .\overview.png "分析图片"
mind exec "分析图片" -i .\overview.png
多张图片可以重复传入选项,也可以使用逗号分隔:
mind exec "比较两张图片" -i .\before.png -i .\after.png
mind exec "比较两张图片" --image ".\before.png,.\after.png"
根命令和 exec 子命令都提供图片时,会按命令行顺序合并,不会互相覆盖:
mind -i .\overview.png exec -i .\detail.png "结合全图和细节图分析"
路径包含空格或其他特殊字符时应加引号:
mind exec "这是什么图" --image "C:\Users\Administrator\Downloads\公司文档\18891368635813248.png"
模型组合
模型可以放在根命令或 exec 子命令:
mind -m gpt-5.5 exec "检查当前项目"
mind exec "检查当前项目" -m gpt-5.5
两处都传入时,离具体命令更近的 exec --model 优先。模型覆盖只作用于本次执行,不写入 config.toml。
标准输入组合
显式 prompt 可以和管道输入同时使用。管道内容会作为 <stdin>...</stdin> 上下文附加到 prompt:
Get-Content .\build.log | mind exec "总结失败原因"
git diff | mind exec "审查这些改动"
使用 - 可以明确要求从标准输入读取完整 prompt;省略 prompt 时,非交互标准输入也会被读取:
Get-Content .\task.txt | mind exec -
Get-Content .\task.txt | mind exec
恢复会话
mind resume
mind resume --last
mind resume <SESSION_ID> "继续检查剩余问题"
mind resume --helix api
| 选项 | 说明 |
|---|---|
--last |
不打开选择器,直接恢复最近会话 |
--all |
显示所有工作目录的会话 |
--include-non-interactive |
同时显示由非交互命令创建的会话 |
-i, --image <FILE> |
为恢复后的首条消息添加图片 |
-m, --model <MODEL> |
临时覆盖恢复会话使用的主模型 |
-H, --helix [PROFILE] |
恢复时接入 Helix;省略 profile 时使用 app |
根命令上的 -i/--image 和 -m/--model 同样会传播给 resume;子命令模型优先,图片按顺序合并。
当历史会话的工作目录与活动目录不同,CLI 恢复及应用内 /resume 都显示四项选择:
使用会话目录、使用当前目录、始终使用会话目录、始终使用当前目录。默认选中会话目录;
Enter 确认,数字直接选择,Esc 使用会话目录,Ctrl+C/Ctrl+D 退出。
菜单使用透明背景,选中项使用终端主题的强调色,无彩色模式保留箭头与加粗;长路径随窗口宽度换行。
底部提示跟随实际确认键绑定。活动目录与启动目录不同时,“始终使用当前目录”会显示
将采用的启动目录,避免与单次“使用当前目录”混淆。
“始终”保存用户配置 tui.resume_cwd = "session" 或 "current",不保存固定目录。
单次 Current 使用活动目录,记忆 Current 使用本次启动目录。显式 -C/--cd 优先于记忆策略:
mind resume <SESSION_ID> --cd D:\Projects\Current
mind -c 'tui.resume_cwd="session"' resume --last --all
未配置策略且历史没有目录元数据时沿用活动目录;明确使用 Session 却缺少元数据时报告错误。
目标目录必须存在,目标项目配置按其信任状态重新解析,Profile 和 CLI 覆盖继续生效。
选择相同活动会话时保持当前画面与草稿。未完成的冻结 Turn 和旧子代理必须在其原目录继续,
不能套用另一工作区的工具;报错会显示所需目录。
工作区切换会重新加载项目 Skills 和外部 MCP。stdio MCP 未指定 cwd 时使用活动工作区;
相对 cwd 相对于活动工作区解析,带路径的相对 command 相对于该 MCP 目录解析。
指定会话 ID 时按 ID 查找,不按当前工作区或会话来源过滤。普通选择器默认显示当前工作区,
可以切换到 All 查看其他工作区;--all 直接以 All 打开。--last 默认只查当前工作区,
与 --all 一起使用时查找所有工作区的最近会话。
会话归档
mind archive <SESSION_ID_OR_TITLE>
mind unarchive <SESSION_ID_OR_TITLE>
archive 将匹配到的会话标记为 archived,unarchive 将其恢复为 active。目标可以是会话 ID,
也可以是精确的历史标题;两个命令都只执行一次状态变更后退出,不启动交互会话。
外部 MCP 管理
查询和启停
mind mcp list
mind mcp list --json
mind mcp get playwright
mind mcp get playwright --json
mind mcp enable playwright
mind mcp disable playwright
mind mcp remove playwright
mind mcp help
mind mcp help add
添加远端服务
mind mcp add dbhub --url https://example.com/mcp
mind mcp add dbhub --url https://example.com/mcp `
--bearer-token-env-var DBHUB_TOKEN `
--env-http-header "X-Tenant=DBHUB_TENANT" `
--required
远端服务可以重复使用 --header、--env-http-header、--enabled-tool 和 --disabled-tool。--startup-timeout-sec 控制启动和工具发现超时,--tool-timeout-sec 控制工具调用超时。
mcp add 的选项边界如下:
| 选项 | 适用服务 | 说明 |
|---|---|---|
--url <URL> |
远端 | 注册 streamable HTTP MCP 服务 |
--bearer-token-env-var <ENV_VAR> |
远端 | 从环境变量读取 bearer token |
--header <KEY=VALUE> |
远端 | 添加 HTTP header,可重复 |
--env-http-header <HEADER=ENV_VAR> |
远端 | 从环境变量读取 HTTP header,可重复 |
--env <KEY=VALUE> |
stdio | 设置子进程环境变量,可重复 |
--cwd <DIR> |
stdio | 设置子进程工作目录 |
--disabled |
两者 | 注册但不在启动时启用 |
--required |
两者 | 初始化失败时让启动失败 |
--enabled-tool <NAME> |
两者 | 只暴露指定原始工具名,精确匹配,可重复;写入 enabled_tools |
--disabled-tool <NAME> |
两者 | 禁用指定原始工具名,优先于允许列表,可重复;写入 disabled_tools |
--approval-mode <MODE> |
两者 | 设置 auto、prompt、writes 或 approve 工具审批模式 |
--startup-timeout-sec <SECONDS> |
两者 | 启动和工具发现超时 |
--tool-timeout-sec <SECONDS> |
两者 | 工具请求超时 |
例如,只使用一个服务中的两个工具:
mind mcp add docs --url https://example.com/mcp --enabled-tool search --enabled-tool fetch
对应 TOML 配置:
[mcp_servers.docs]
url = "https://example.com/mcp"
enabled_tools = ["search", "fetch"]
enabled_tools / disabled_tools 与 Codex 使用相同字段和精确匹配语义:区分大小写,保留名称空白,
不解释 glob,不添加 mcp__服务名__ 前缀。未设置允许列表时允许全部工具;显式
enabled_tools = [] 不暴露任何工具;禁用列表优先,disabled_tools = [] 不额外排除工具。
服务仍会连接并发现工具,整个服务的启动由 enabled 控制。逐工具 approval_mode 只控制审批。
OAuth 浏览器登录
mind mcp add sentry --url "<SENTRY_MCP_URL>"
mind mcp login sentry
mind mcp login sentry --scopes "org:read,project:write" --timeout-sec 180
mind mcp login sentry --manual
mind mcp logout sentry
login 使用原始配置键,适用于支持 OAuth 的 Streamable HTTP 服务。配置了
bearer_token_env_var 或任意大小写的 Authorization header 时,登录会报告配置冲突,
即使对应环境变量尚未设置。登录不会改写服务注册。服务和授权端点要求 HTTPS;本机
HTTP MCP 可使用本机 HTTP 授权端点。
默认先显示授权地址,再打开系统浏览器;打开失败时可手动访问已显示的地址。
回调只监听 127.0.0.1,默认使用系统分配的端口。凭据成功保存到系统凭据库后才报告
登录成功;拒绝、超时、取消或保存失败均不报告成功,失败后可查询本地状态再重试。
Windows 使用 Credential Manager,
macOS 使用 Keychain,Linux 使用 Secret Service;不可用时显式失败,不回退明文文件。
远程终端可使用 --manual:命令只显示授权链接,由你在浏览器中打开。授权完成后,
把浏览器地址栏中的完整回调 URL 粘贴到该命令的隐藏输入处,按 Enter 提交;即使浏览器
显示本机回调页无法连接,也可以复制地址。输入要求交互终端,不回显、不保存历史,
也不会访问粘贴的地址;请勿将包含授权码的回调 URL 发到聊天或日志中。
若浏览器能直接送达本次回调,命令也会自动结束隐藏输入并继续登录。
两种入口使用同一地址、state、issuer 校验和一次性消费规则。
手动输入最多 64 KiB(UTF-8),支持退格及 Ctrl+U 清空;Ctrl+C 取消,Ctrl+D 或 Ctrl+Z
结束输入。未完成的粘贴也有长度限制;成功、失败、取消或超时后都会清理输入并恢复终端。
--timeout-sec 同样限制手动等待、交换和保存的总时长。
可选配置示例:
[mcp_servers.sentry.oauth]
scopes = ["org:read", "project:write"]
login_timeout_sec = 300
# 预注册公共客户端需要同时提供固定回调端口:
# client_id = "your-public-client-id"
# callback_port = 12608
# 或使用服务端支持的 HTTPS 客户端元数据文档,与 client_id 互斥:
# client_metadata_url = "https://your-domain.example/oauth/client.json"
没有指定客户端身份时使用服务端声明的动态注册端点;只支持无需 client secret 的公共
客户端。--scopes 使用逗号分隔;未指定时依次选择配置、Bearer challenge、资源元数据、
授权服务器元数据中的范围。scopes = [] 或 --scopes "" 明确请求空范围。显式范围不足
或服务端返回不同范围会报错。--timeout-sec 覆盖配置,并限制发现、浏览器等待、交换和
保存的总时长;HTTP 单次等待另有 20 秒上限。
mcp list/get、/mcp status 和 /tools 使用同一认证状态契约;JSON 顶层字段为
authorization,配置中的 config.oauth 仍是登录选项。Auth 区分 unknown、
unsupported(stdio/SSE 的 OAuth)、header、bearer、oauth、anonymous、
not_logged_in、reauthorization_required 和 unavailable。
Credentials (local) 单独展示本地事实:missing 无记录、registered 仅注册客户端、
stored 已保存、expired 已到期、unavailable 存储故障、refresh_uncertain 刷新提交不确定,
或 reauthorization_required 需要重新授权。空记录本身不能证明匿名服务需要登录。
Last auth request / JSON verification 的 accepted、rejected 只描述现有连接最后观察到的
请求,不代表实时探测。CLI 只查本地,因此总是 unverified;凭据版本改变也会撤销旧认证结论。
状态查询不联网、不刷新令牌、不打开浏览器;/tools 同样显示零工具和失败服务及恢复提示。
需要登录时提示原始注册名称;显式 Header/Bearer 被拒绝时提示检查其配置,不引导 OAuth 登录。
refresh_uncertain 和 reauthorization_required 需要重新运行 mcp login。
logout 幂等删除当前目标的本地凭据,不移除配置,也不声称撤销服务端授权。
退出码:成功为 0,登录或存储失败为 1,参数错误为 2,用户取消为 130。
登录后启动或重启对应 MCP 服务,运行时会恢复凭据,过期时在发送请求前自动刷新。
刷新使用登录时验证并保存的授权服务器端点;多个进程共享凭据锁,轮换成功后立即保存。
单次刷新交换最多等待 5 秒;结果不确定时停止使用旧 refresh token,要求重新登录。
运行时只使用已批准的范围,不覆盖 CLI 登录时的 --scopes 选择,也不自动扩大授权。
每个新请求都会检查最新凭据版本。另一个进程重新登录后,活动连接采用新凭据;退出登录
后,使用过旧凭据的连接在下一个请求边界停止使用它,已发出的远端请求继续按原生命周期
收束。401、403 和认证重定向会使服务失败并撤下工具目录;不会自动重放工具调用或打开
浏览器。/mcp status 展示独立的授权错误;重新登录后可通过 /mcp 菜单重启对应服务。
工具审批仍按既有权限策略执行。
首版支持 Streamable HTTP、授权码与 PKCE S256、公共客户端动态注册、客户端元数据文档和 预注册公共客户端;是否可用取决于服务端声明的能力。不支持 stdio/SSE 的 OAuth、client secret、设备码登录,也不读取 Codex 或其他客户端保存的登录凭据。
| 现象 | 处理方式 |
|---|---|
missing / registered / login_required |
执行 mind mcp login <name>,然后重启对应 MCP 服务。匿名服务无需登录。 |
expired |
本地记录已到期;运行时有 refresh token 时自动刷新,无可用刷新授权时重新登录。 |
insufficient_scope / reauthorization_required / refresh_uncertain |
确认服务要求的范围,显式重新登录;成功后重启失败的服务。 |
configuration_conflict |
检查显式 Bearer/Header 与 OAuth 的选择,以及公共客户端和回调端口配置。 |
storage_unavailable / unavailable |
检查当前用户的系统凭据库及状态目录访问;Linux 还需可用的用户 D-Bus 会话和已解锁的 Secret Service。 |
storage_busy |
等待其他进程的登录、刷新或退出事务结束后重试。 |
storage_corrupt |
对原注册执行 logout 清理后重新登录;不要手工删除活动索引或锁文件。 |
callback_input_unavailable |
在支持隐藏输入的交互终端运行 login --manual。 |
callback_input_closed / callback_input_too_long |
重新登录,在隐藏输入处提交该次完整回调 URL;总长度不得超过 64 KiB。 |
凭据按配置根、状态根、原始注册名和完整 URL 隔离;改变任一项都不会借用旧登录。
更名、改 URL 或删除注册前,先对原注册执行 logout。浏览器回调要求运行 CLI 的机器能接收
本机端口连接;浏览器与 CLI 不在同一台机器时使用 --manual 传回完整回调 URL。
平台支持与实际验收结果分开记录,操作步骤和记录模板见 OAuth 验收指南。
添加 stdio 服务
stdio 子进程命令必须放在 -- 之后:
mind mcp add playwright -- npx -y @playwright/mcp@latest
mind mcp add local-tools --env "TOKEN=value" --cwd "D:\tools" -- python server.py
-- 会结束 Mind 自身的选项解析,后面的参数全部原样传给子进程。因此子进程自己的 --model、--image 等参数不会被 Mind 消费:
mind mcp add demo -- server --model child-model
远端 URL 与 stdio 命令不能同时使用。--env 和 --cwd 只用于 stdio 服务;HTTP header 和 bearer token 选项只用于远端服务。
stdio 服务必须使用非交互启动命令,例如 npx -y @playwright/mcp;-y 跳过 npm 安装确认,
首次安装或升级下载仍可能超过默认的 30 秒启动时限。启动超时会提示在 config.toml 中调整
对应服务的 startup_timeout_sec,并提供可复制的配置示例。预检超时则提示检查命令、工作目录
或网络地址。
全量 MCP 启动默认对每个可选服务等待 1 秒,预算从本批启动时刻共同计算。
预算用完后服务显示 starting,继续在后台建立连接;成功的工具只加入后续工具使用范围,
不会改变正在执行的 Turn。required = true 的服务优先启动并等待完整结果,失败时本批
不发布新目录。单服务显式启动仍等待该服务的完成结果。
[mcp_servers.docs]
url = "https://example.com/mcp"
optional_startup_wait_sec = 1.0
startup_timeout_sec = 30.0
required = false
optional_startup_wait_sec = 0 表示完整等待;它只控制前台等待,不延长连接本身的启动期限。
重复启动会合并正在进行的连接,停止、重启或退出会回收后台连接及排队任务。
同一运行实例可复用最近的工具目录,最多保留 32 个服务、总计 16 MiB,30 分钟过期;
不写入磁盘,工作区退休或进程退出时清空。配置、过滤规则、审批设置或认证身份不同不能
复用旧目录。缓存目录不代表连接就绪,/mcp status 仍展示实际连接事实。
缓存中的工具不携带免审批依据,需要展示审批时只提供允许本次或拒绝;现有权限模式及
已经授予的会话权限继续生效。调用会等待原连接完成,并核对实时工具定义和凭据代际,
在 SDK 实际发送前再次检查身份。若发生变化则拒绝本次调用,后续工具使用范围采用新目录。
缓存失效不会修改已冻结 Turn 的工具描述或自动重放调用。
子进程 stderr 按服务记录为 external_mcp.stdio.stderr 事件,写入本次运行的
mind.debug.log,不直接输出到交互终端。诊断会隐藏 URL 凭据和常见 token/password 字段;
超过 4096 字节的单行只记录省略标记。连接关闭时读取任务随 owner 回收,并记录剩余的有界尾部。
stdio 协议 stdout 的单帧上限为 8 MiB(不含换行符),在 JSON 解码前检查;持续不换行的输出 也受此限制。超限、无效 JSON-RPC 或不完整尾帧会关闭该连接。默认使用 UTF-8,其他编码须与 ASCII 换行兼容;UTF-16 等编码会在启动子进程前被拒绝。
外部工具审批与传输边界
外部 MCP 的 approval-mode 只控制模型发起的工具效果:prompt 每次询问,writes 对不是明确
只读的工具询问,auto 根据 MCP annotations 判断且在信息不足时询问,approve 明确跳过逐次
询问。全局 approval_policy=never 遇到仍需询问的 MCP 工具时直接拒绝,不会静默执行。
连接用户配置的 STDIO、SSE 或 Streamable HTTP 服务属于显式配置的传输信任边界,建立连接不会
生成网络审批卡,也不会把 MCP tool grant 当成网络 grant。HTTP client 不读取环境代理配置;
远端 bearer token 和动态 header 应优先通过 --bearer-token-env-var / --env-http-header 注入。
列表、状态和传输错误会隐藏凭据,运行时关闭时会终止连接 owner 并清空工具与会话引用。
HTTP/SSE 自动重定向只接受同源地址(协议、主机和端口一致),最多跟随 10 次。
明文 HTTP 主机名的跳转只允许 localhost;IP 地址可用于本地或专用网络服务。
OAuth 连接禁止自动重定向。跨源地址请直接修正服务 URL,客户端不会向新来源转发参数或认证头。
Streamable HTTP 初始化遇到临时连接、读写或网络超时错误,以及 HTTP 408/429/500/502/503/504,
最多尝试三次,重试前分别等待 250 毫秒和 1 秒。每次先关闭旧连接再建立新连接,所有尝试、
等待和后续目录读取共用 startup_timeout_sec。认证、证书及协议错误不重试;stdio、SSE、
工具目录失败和工具调用不进入该握手重试流程。取消或总期限到达后停止尝试并释放资源。
工具目录会读取全部分页,并在完成后统一发布;最多接受 100 页、2048 个工具,单个游标
最多 64 KiB。循环游标、重复工具名、规范化后的重名、超限或后续页失败都会使本次连接失败,避免暴露
不完整目录。所有分页共用该服务的 startup_timeout_sec,不为每一页重新计算启动期限。
调用中的表单与网页确认
支持 elicitation 的外接 MCP 服务可以在工具执行中请求补充信息。交互式 TUI 会显示来源服务、
代理和请求说明:选择字段编辑,核对最终值后选择 Submit,或选择 Decline / Cancel。
Esc 在字段编辑中返回预览,在预览页取消当前请求;并行请求依次展示,取消一张表单不会取消后面的表单。
这类输入不会创建工具授权或记忆选择,也不会替代原有工具审批。
表单支持字符串、整数、有限数值、布尔值、字符串单选和多选,以及默认值、必填、范围、长度、
条目数和 email / uri / date / date-time 格式校验。字符串编辑支持多行及空字符串,
最多同时显示四行并跟随光标滚动。布尔和单选编辑默认选中当前值;多选切换后保留当前位置,
选择 Done 完成编辑。方向键移动、回车确认,也可以使用选项前的数字直接选择。
调整终端尺寸会重排当前菜单并保留尚未提交的输入。
每个请求最多 64 KiB、32 个字段,每字段最多 4096 个字符,枚举最多 64 项;嵌套对象、任意数组、
正则 pattern 和其他不支持的 schema 约束会明确报错。密码、令牌、API key、卡号等敏感信息应通过
服务的网页流程处理;客户端拒绝已识别的敏感字段名或标题、密码格式和 writeOnly 字段。
URL 请求先展示目标域名和完整地址,只有选择 Open URL 才调用系统浏览器;打开失败返回 cancel。
地址只接受 HTTPS 或 loopback HTTP,不接受内嵌用户名、密码、控制字符或脚本地址。
浏览器打开成功只代表接收了网页交互请求,网页上的最终结果由服务处理;此流程与 mcp login 的连接认证独立。
只有实际支持两种交互的前端才声明相应 MCP 能力。非交互入口、没有绑定调用身份的请求以及冻结策略为
approval_policy=never 的调用返回 decline。等待输入最多 120 秒(包含排队),现有工具超时可能更早结束。
超时、调用方取消、服务端取消或连接关闭会清理对应表面;迟到回答不会导航或交付。
交互连接中的工具调用按顺序执行,不阻塞其他连接;异常调用会关闭所属连接,可在调用范围释放后通过
/mcp restart <name> 恢复。客户端不会因此重放工具,取消输入也不撤销工具此前已完成的效果。
其他命令
doctor 会检查全部内置命令行工具;在 macOS 上还会报告缺失执行位或仍携带
com.apple.quarantine 的工具,但不会实际启动这些程序。
# 只读诊断;JSON 形式适合脚本消费
mind doctor
mind doctor --json
# 监听远端下发任务,需要 Helix app 时添加 --helix
mind agent listen
mind agent listen --helix
# 使用 Helix api 工具过滤器
mind agent listen --helix api
# 更新 Helix 运行组件
mind upgrade helix
# 通过 stdio 向 MCP host 暴露服务
mind mcp-server
# 生成补全脚本
mind completion powershell
mind completion bash
mind completion zsh
mind completion fish
mind completion elvish
# 查看根命令或多级子命令帮助
mind help
mind help mcp add
mind mcp-server 的 host 配置和生命周期见 MCP Server,agent listen 的恢复链路见订阅模式。
组合规则速查
-c/--config和-p/--profile是进程级选项,可以跨命令层级提取。- 根命令的图片和模型会传播给
exec与resume。 - 图片会合并;具体子命令上的模型会覆盖根模型。
- 不传
--helix时不连接 Helix;传入但省略 profile 时使用app。 exec的显式 prompt 可以和非交互 stdin 同时使用。mcp add ... -- <COMMAND>中--之后的参数只属于 stdio 子进程。- 遇到组合疑问时,以
mind --help和mind <command> --help的当前输出为准。