# 给安装 AI 的任务

用户把此公开包交给你用于安装 SSHMCP。可以先只读确认当前系统及包完整性，但在安装程序、修改配置或部署服务前，必须主动询问安装者下面两件事，并等待明确答复。**不能默认选择独立模式，也不能仅凭发现了某个客户端目录就自行决定。**

第一问：“你希望采用哪种安装方式？”请简短解释三个选择：

- **独立本机使用**：在这台电脑运行 SSHMCP，管理安装者自己的服务器，不需要中心账号。
- **接入已有中心**：已有自己的或被授权使用的中心，在本机安装连接器；需要中心 URL 与接入 Key。
- **部署自己的中心**：先在安装者指定的机器上建立中心，再按需接入本机；后续确认目标机器、域名和部署范围。

如果本机为 Windows，先读 [修复与验收范围](docs/KNOWN_ISSUES.md)。5.1.1 已通过并发/取消/恢复回归，仍须在安装者自己的 Codex 冷启动/刷新后调用 ssh_list_servers，不能仅用安装器成功代替实际客户端验收。

第二问：“你希望接入哪个或哪些 MCP 客户端？”例如 Codex、Snow、Pi、Claude Code、Claude Desktop，或只安装程序并生成配置供手动接入。先使用安装者的答案，再核对实际路径。

若安装者已经在当前会话明确给出某项选择，可以复述并沿用；缺失的项仍须询问。不要要求把 Key/SSH 密码粘贴到聊天里：需要时使用原生隐藏输入或受限文件。收到答复后读取 [安装手册](docs/INSTALL.md)；集中模式再读 [自建中心/接入](docs/CENTER.md)。

端到端路线见 [无中心/有中心完整流程](docs/WORKFLOWS.md)。用户要制作自己的私人包时，先读 [PRIVATE_BUNDLES.md](docs/PRIVATE_BUNDLES.md)，使用包内 tools/make-private-bundle.py；不要直接压缩整个用户目录，不把生成的私人 ZIP 上传到本公开下载站点。

1. 确认系统是 Linux x86_64 或 Windows x86_64。校验包内 SHA256SUMS；平台安装脚本还会校验对应程序。不要把 Linux helper 当 Windows 程序运行。
2. 按已选方式执行：独立本机方式运行 `bash ./linux-x86_64/install.sh` 或 `powershell -NoProfile -ExecutionPolicy Bypass -File .\windows-x86_64\Install.ps1`。接入已有中心按 CENTER.md 运行原生 install；部署新中心先确认安装者选择的目标与范围，不把新中心默认部署在当前电脑。禁止强制终止客户端。安装输出的绝对路径才是后续配置依据。
3. 独立模式下，使用当前用户私密目录中的 `ssh-config.toml`。已有目录必须复用并合并；新建目录才复制 `config/ssh-config.empty.toml`，设置当前用户可读写的受限权限。另设同目录 `standalone.env`，仅在不存在时新建空文件，并通过 SSH_ENV_PATH 明确指定它，防止加载工作目录里无关的 .env。
4. 独立本机方式找到安装者已选择的客户端配置，先备份，再只合并 SSHMCP 条目。使用安装后的绝对程序路径、args=["--stdio"]，env 包含 SSH_CONFIG_PATH、SSH_ENV_PATH。Codex 使用 mcp_servers 表；其他支持 JSON 的客户端使用 mcpServers。中心连接器使用原生安装器生成的 --client-config 配置，不套用独立模式的 --stdio/TOML 配置。若用户只要程序及配置样例，不写其客户端设置。若已有同名无关条目或自定义目录，先核对，不能假装接入。
5. 如果选择 Pi，先核对其现有 MCP adapter 是否已启用；此包只提供 MCP 服务，不替用户安装 Pi。需要 adapter 的安装授权/命令由当前 Pi 配置决定。
6. 用真正安装的程序做 MCP discovery/tools/list，确认 42 个工具；调用 ssh_list_servers，空目录返回 count=0 是正确的新安装结果。不要自行添加真实主机或登录全部服务器来证明安装成功。用户提供目标后再执行一个只读验证命令。
7. 有明确客户端 MCP 重载入口时使用它，否则告知用户重载。分别报告程序已安装、配置已保存、新进程通过、当前应用已加载；不要混为一项。保留备份，不删除用户原有密钥或私密目录。
8. 提供安装路径、配置路径及下一步“添加自己的服务器”。告诉用户多机同命令用 ssh_execute_group，同机多文件上传用 ssh_upload_batch；所有 timeout 单位是毫秒，10000 表示 10 秒。

独立模式使用本机持久化服务器目录和自己的密钥文件/SSH agent；“同步的 SSH 凭据仅在内存、同机多个客户端共享后台”是集中连接器模式的能力，不能向独立模式用户作同样声明。
