# Claude Dev Stack WSL2 + Claude Code CLI + GitHub Copilot CLI + Unity MCP + **Godot MCP Pro** + Rust Token Killer **全栈一键部署方案**,适用于 Windows 11 开发环境。 支持 **WSL2 镜像网络模式**(`autoProxy=true`),WSL2 自动继承 Windows 代理状态,无需脚本干预。 ## 组件清单 | 组件 | 说明 | 安装位置 | |------|------|---------| | **WSL2** | Windows Subsystem for Linux 2 | Windows 功能 | | **Claude Code CLI** | `@anthropic-ai/claude-code` | WSL2 npm global | | **GitHub Copilot CLI** | `gh` + `github/gh-copilot` 扩展 | WSL2 apt + gh extension | | **Unity MCP Server** | `AnkleBreaker-Studio/unity-mcp-server` — Claude ↔ Unity Editor 双向集成 | WSL2 独立 Node.js 服务 + Unity Plugin | | **Godot MCP Pro** | 本地 ZIP 包(v1.14.1)— Claude ↔ Godot Editor 双向集成,170+ 工具 | `~/godot-mcp-pro/`(Win)+ `~/.mcp-servers/godot-mcp-pro/`(WSL2) | | **Rust** | rustup stable 工具链 | WSL2 `~/.cargo` | | **RTK** | Rust Token Killer (`rtk`) — LLM token 统计与上下文优化 | WSL2 cargo bin | ## 目录结构 ``` claude-dev-stack/ ├── deploy.ps1 # Windows 一键部署(PowerShell 5.1+) ├── wsl-setup.sh # WSL2 内部安装脚本(可单独运行) ├── .env.example # 配置模板 ├── godot-mcp-pro-v1.14.1/ # Godot MCP Pro 本地包(付费,随仓库分发) │ ├── server/ # Node.js MCP Server(build/ 已预编译) │ ├── addons/godot_mcp/ # Godot 插件(手动复制到各项目) │ └── INSTALL.md └── README.md ``` --- ## 快速开始 ### ℹ️ GitHub Copilot CLI 共存说明 本方案安装的是 **WSL2 Linux 原生 GitHub CLI + gh-copilot 扩展**。 即使 Windows 已经安装了 GitHub Copilot CLI / GitHub CLI,也**不会覆盖 Windows 版本**。 - Windows 继续使用 Windows 自己的 `gh` - WSL2 继续使用 WSL2 自己的 `gh` - 两边各自维护独立的登录状态和配置,互不冲突 - `deploy.ps1` 会额外写入 PowerShell 快捷命令 `gh-copilot-wsl`,用于**显式调用 WSL2 版本**,避免误用 Windows 侧命令 ### ℹ️ WSL2 默认用户 本方案使用 **root** 作为 WSL2 默认用户(通过 `/etc/wsl.conf` 配置)。 WSL2 Ubuntu 首次启动若弹出用户创建提示,可直接跳过或按提示操作,deploy.ps1 会自动将默认用户切换为 root。 --- ### 场景一:全新 Windows 系统(首次安装 WSL2) > 需要**管理员权限**启用 WSL2 Windows 功能 ```powershell # 1. 以管理员身份运行 PowerShell cd path\to\claude-dev-stack # 2. 复制配置文件,填写灵眸 API Key(推荐)或 Anthropic API Key cp .env.example .env notepad .env # 3. 运行部署脚本 pwsh .\deploy.ps1 ``` 脚本会自动在 **WSL2 内** 安装以下组件: 1. Claude Code CLI 2. GitHub CLI (`gh`) 3. GitHub Copilot CLI 扩展 (`github/gh-copilot`) 4. Unity MCP Server 5. Godot MCP Pro(从本地 `godot-mcp-pro-v1.14.1/` 复制) 6. Rust + RTK 首次安装 WSL2 特性后可能需要**重启系统**,重启后重新执行脚本。 ### 场景二:已有 WSL2,跳过 WSL2 安装 ```powershell pwsh .\deploy.ps1 -SkipWSL ``` ### 场景三:仅在 WSL2 内安装(无 Windows 脚本) ```bash # 在 WSL2 Ubuntu 终端中执行 cp .env.example .env nano .env bash wsl-setup.sh ``` --- ## 代理说明 ### WSL2 镜像模式自动继承 Windows 代理 > **注意**:镜像网络模式仅支持 **Windows 11 22H2(Build 22621)及以上版本**。Windows 10 用户脚本会自动跳过此配置,WSL2 使用默认 NAT 模式,需在 WSL2 内手动配置代理。 脚本自动配置 `~/.wslconfig` 启用 WSL2 镜像网络模式: ```ini [wsl2] networkingMode=mirrored autoProxy=true ``` `autoProxy=true` 下,WSL2 自动继承 Windows 系统代理状态。 **是否使用代理由 Windows 侧决定**(例如通过 v2rayN「设为系统代理」),无需脚本干预。 --- ## 配置说明(`.env`) ### 推荐:灵眸 AI(国内直连,无需代理) | 变量 | 默认值 | 说明 | |------|--------|------| | `ANTHROPIC_AUTH_TOKEN` | _(必填)_ | 灵眸 API Key,从 [lmuai.com](https://lmuai.com) 获取 | | `ANTHROPIC_BASE_URL` | `https://api.lmuai.com` | 灵眸 API 基础 URL | | `CLAUDE_MODEL` | `claude-sonnet-4-6` | 可选:`claude-sonnet-4-6` / `claude-opus-4-7` / `claude-sonnet-4-5` / `claude-haiku-4-5` | > **灵眸模式自动写入 `settings.json` 的 env 参数**: > | 参数 | 值 | 说明 | > |------|----|------| > | `ANTHROPIC_BASE_URL` | `https://api.lmuai.com` | API 端点 | > | `ANTHROPIC_AUTH_TOKEN` | _(你的 Key)_ | 认证凭据 | > | `API_TIMEOUT_MS` | `3000000` | 超时 50 分钟,防止长任务中断 | > | `CLAUDE_CODE_ATTRIBUTION_HEADER` | `0` | 关闭来源标识,提高缓存命中率 | > | `CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC` | `1` | 关闭遥测/自动更新检查 | > > - Token 写入 `settings.json` 的 `env` 块(不写入 `~/.bashrc`,避免与 `ANTHROPIC_API_KEY` 冲突) > - 旧 `ANTHROPIC_API_KEY` / `ANTHROPIC_BASE_URL` 变量从 `~/.bashrc` 自动清除 ### 备选:Anthropic 官方 API | 变量 | 默认值 | 说明 | |------|--------|------| | `ANTHROPIC_API_KEY` | _(空)_ | Anthropic API Key,从 [console.anthropic.com](https://console.anthropic.com) 获取 | | `ANTHROPIC_BASE_URL` | `https://api.anthropic.com` | API 基础 URL;DeepSeek 等中转可改为对应 URL | | `CLAUDE_MODEL` | `claude-sonnet-4-6` | 默认使用的模型 | | 变量 | 默认值 | 说明 | |------|--------|------| | `WSL_DISTRO` | `Ubuntu` | WSL2 发行版名称 | | `SKIP_WSL_INSTALL` | `false` | `true` 跳过 WSL2 安装步骤 | --- ## Unity MCP 完整安装教程 > **MCP Server 仓库**:[AnkleBreaker-Studio/unity-mcp-server](https://github.com/AnkleBreaker-Studio/unity-mcp-server) > **Unity Plugin 仓库**:[AnkleBreaker-Studio/unity-mcp-plugin](https://github.com/AnkleBreaker-Studio/unity-mcp-plugin) https://github.com/AnkleBreaker-Studio/unity-mcp-plugin.git > **要求**:Unity 2021.3+ + Node.js 18+ ### 架构原理 Unity MCP 由**两个独立仓库**组成,各自独立安装: ``` Claude Code CLI │ MCP 协议 (stdio) ▼ Node.js MCP Server ← 克隆自 unity-mcp-server,WSL2 中运行 (~/.mcp-servers/unity-mcp-server/) ← deploy.ps1 自动完成克隆 + npm install │ WebSocket / HTTP ▼ Unity Editor Plugin (C#) ← Package Manager 安装 unity-mcp-plugin │ ▼ Unity 场景 / 对象 / 脚本 / 测试... ``` - **unity-mcp-server**:独立 Node.js MCP 服务,部署脚本自动克隆并安装依赖 - **unity-mcp-plugin**:Unity C# 插件,需要手动通过 Package Manager 安装 --- ### Step 1:运行部署脚本(自动完成服务器安装) ```powershell pwsh .\deploy.ps1 ``` 脚本会自动: 1. 克隆 `unity-mcp-server` 到 WSL2 `~/.mcp-servers/unity-mcp-server/` 2. 执行 `npm install` 安装依赖 3. 将 MCP Server 注册到 `%USERPROFILE%\.claude\claude_desktop_config.json` --- ### Step 2:在 Unity Editor 安装 unity-mcp-plugin 1. 打开 Unity Editor 2. 菜单:**Window → Package Manager** 3. 点击左上角 **"+"** 按钮 → **"Add package from git URL..."** 4. 输入以下 URL,点击 **Add**: ``` https://github.com/AnkleBreaker-Studio/unity-mcp-plugin.git ``` 5. 等待包下载安装完成 安装完成后,菜单栏会出现 **Tools → Unity MCP** 选项。 --- ### Step 3:启动 Unity Editor 端 MCP 服务 每次使用 Claude Code 操作 Unity 之前,需要先在 Unity 中启动服务: 1. 打开 Unity Editor,确保项目已加载 2. 菜单:**Tools → Unity MCP → Start Server**(具体菜单项名称以插件实际为准) 3. 状态变为绿色 / Connected 表示服务就绪 --- ### Step 4:确认 MCP 配置 部署脚本已自动写入 Windows Claude Code 配置。确认内容: ```powershell cat "$env:USERPROFILE\.claude\claude_desktop_config.json" ``` 应包含类似如下内容: ```json { "mcpServers": { "unity-mcp": { "command": "wsl", "args": ["-d", "Ubuntu", "--", "node", "/home/用户名/.mcp-servers/unity-mcp-server/src/index.js"] } } } ``` WSL2 内的配置(`~/.config/Claude/claude_desktop_config.json`)直接使用 `node`: ```json { "mcpServers": { "unity-mcp": { "command": "node", "args": ["/home/用户名/.mcp-servers/unity-mcp-server/src/index.js"] } } } ``` --- ### Step 5:在 Claude Code 中使用 Unity MCP ```bash # 启动 Claude Code(WSL2 内) claude # 验证 Unity MCP 连接 > /mcp # 示例:操作 Unity 场景 > 在场景中创建一个名为 Player 的空 GameObject > 给 Player 添加 Rigidbody 组件,质量设为 5 > 创建一个新场景 Level1,保存到 Assets/Scenes/ > 运行所有 EditMode 测试 ``` --- ### 可用 MCP 工具列表 AnkleBreaker Unity MCP 采用**两级工具架构**,共 **288 个工具**: - **核心工具(~70个)**:直接暴露,无需中转 - **高级工具(200+)**:通过 `unity_advanced_tool` 代理访问(避免 MCP 客户端工具过多失效) #### 核心工具(直接可用) | 分类 | 工具名 | 功能 | |------|--------|------| | **编辑器状态** | `unity_editor_ping` / `unity_editor_state` / `unity_project_info` | 检测连接、获取编辑器/项目状态 | | **场景** | `unity_scene_info/open/save/new/hierarchy/stats` | 场景完整生命周期管理 | | **GameObject** | `unity_gameobject_create/delete/info/set_transform/duplicate/set_active/reparent` | 对象增删改查 | | **组件** | `unity_component_add/remove/get_properties/set_property/set_reference/batch_wire` | 组件与属性操作 | | **资产** | `unity_asset_list/import/delete/create_prefab/instantiate_prefab` | 资产管理 | | **脚本** | `unity_script_create/read/update` + `unity_execute_code` | C# 脚本读写与运行时执行 | | **材质** | `unity_material_create` / `unity_renderer_set_material` | 材质创建与赋值 | | **构建/运行** | `unity_build` / `unity_play_mode` | 多平台构建、Play Mode 控制 | | **控制台** | `unity_console_log/clear` + `unity_get_compilation_errors` | 日志读取与编译错误 | | **编辑器操作** | `unity_execute_menu_item` / `unity_undo/redo/undo_history` | 菜单执行、撤销重做 | | **选择/搜索** | `unity_selection_*` / `unity_search_by_*` / `unity_search_assets` | 对象查找与选中 | | **截图** | `unity_screenshot_game/scene` + `unity_graphics_*_capture` | 场景/游戏视图截图 | | **Prefab** | `unity_prefab_info` / `unity_set_object_reference` | Prefab 信息与引用 | | **包管理** | `unity_packages_list/add/remove/search/info` | Package Manager 操作 | | **Multi-Agent** | `unity_queue_info` / `unity_agents_list` / `unity_agent_log` | 多代理会话管理 | | **高级工具代理** | `unity_list_advanced_tools` / `unity_advanced_tool` | 访问 200+ 高级工具 | | **Unity Hub** | `unity_hub_list_editors/available_releases/install_editor/install_modules` | Hub 版本管理 | | **多实例** | `unity_list_instances` / `unity_select_instance` | 多 Unity 实例切换 | | **项目上下文** | `unity_get_project_context` | AI 代理项目文档注入 | #### 高级工具分类(通过 `unity_advanced_tool` 访问) 动画、Prefab 模式、物理、光照、音频、地形、导航网格、粒子、UI、标签与层、输入系统、Shader Graph、VFX Graph、Amplify Shader Editor、性能分析器、帧调试器、内存分析器、ScriptableObject、约束、LOD、MPPM 多人 PlayMode、UMA Avatar 等 30+ 分类。 ```bash # 列出所有高级工具 > 使用 unity_list_advanced_tools 查看所有高级工具 # 按分类过滤 > unity_list_advanced_tools { "category": "animation" } > unity_list_advanced_tools { "category": "terrain" } # 执行高级工具 > unity_advanced_tool { "tool": "unity_animation_create_controller", "params": {...} } ``` `deploy.ps1` 会自动将所有工具写入 `~/.claude/settings.json` 的 `allowedTools` 白名单,**无需每次手动确认**。 --- ### 防火墙放行(Bridge 端口) `deploy.ps1` 会自动创建防火墙规则,放行 TCP **7890–7899**(Bridge Port 范围)。 手动放行: ```powershell New-NetFirewallRule -DisplayName "Unity MCP Bridge Inbound" ` -Direction Inbound -Protocol TCP -LocalPort 7890-7899 -Action Allow -Profile Any New-NetFirewallRule -DisplayName "Unity MCP Bridge Outbound" ` -Direction Outbound -Protocol TCP -LocalPort 7890-7899 -Action Allow -Profile Any ``` 验证 Bridge 是否可用: ```powershell # Unity Editor 打开后 Invoke-WebRequest http://127.0.0.1:7890/api/ping # 返回 200 OK 表示 Bridge 正常 ``` --- ### 故障排查 **问题:Unity MCP 连接失败** ``` 解决: 1. 确认 Unity Editor 已打开,且 unity-mcp-plugin 已启动服务 2. 测试 Bridge: Invoke-WebRequest http://127.0.0.1:7890/api/ping 3. 确认防火墙 TCP 7890 已放行 4. 确认 MCP Server 进程正常:wsl -d Ubuntu -- node ~/.mcp-servers/unity-mcp-server/src/index.js 5. 重新执行 deploy.ps1 重新克隆并注册 MCP Server ``` **问题:更新 unity-mcp-server 后连接失败** ``` 解决: wsl -d Ubuntu -- bash -c "cd ~/.mcp-servers/unity-mcp-server && git pull && npm install" ``` **问题:npm install 安装超时(国内网络)** ```bash # 方案一:在 Windows 侧开启系统代理(v2rayN「设为系统代理」),WSL2 自动继承 # 方案二:WSL2 内配置镜像 npm config set registry https://registry.npmmirror.com ``` **问题:WSL2 无法访问外网** ``` 解决: 1. 确认 Windows 侧代理已开启系统代理(v2rayN → 参数设置 → 勾选「允许来自局域网的连接」) 2. 确认 ~/.wslconfig 包含 networkingMode=mirrored 和 autoProxy=true 3. 重启 WSL2:wsl --shutdown,再重新启动 ``` **问题:Unity 版本兼容性** ``` 请参考 unity-mcp-plugin 仓库的 README 了解所需 Unity 最低版本要求 ``` --- ## Godot MCP Pro 完整安装教程 > **版本**:v1.14.1(付费本地包,随本仓库分发) > **要求**:Godot 4.x + Node.js 18+ > **组成**:`server/`(Node.js MCP 服务端)+ `addons/godot_mcp/`(Godot 编辑器插件) ### 架构原理 ``` Claude Code CLI / Claude Desktop / Cursor / Windsurf / VS Code │ MCP 协议 (stdio) ▼ Node.js MCP Server ← deploy.ps1 自动安装 (~/.mcp-servers/godot-mcp-pro/ ← WSL2 侧 %USERPROFILE%\godot-mcp-pro\ ← Windows 侧(供非 WSL 客户端) server/build/index.js) │ WebSocket ▼ Godot Editor Plugin (GDScript) ← 手动复制到各 Godot 项目 (addons/godot_mcp/ ← 须在 Project Settings → Plugins 启用) │ ▼ Godot 场景 / 节点 / 脚本 / 运行时测试... ``` > ⚠️ **端口说明**:MCP 服务端自动扫描 **6505–6509** 寻找可用端口,**不要**在配置中固定 `GODOT_MCP_PORT`,让 Godot 插件自动连接所有候选端口即可。 --- ### Step 1:运行部署脚本(自动安装服务端) ```powershell pwsh .\deploy.ps1 ``` 脚本会自动: 1. 将 `godot-mcp-pro-v1.14.1/server/` 同步到 `%USERPROFILE%\godot-mcp-pro\`(Windows) 2. 将 `server/` 复制到 WSL2 `~/.mcp-servers/godot-mcp-pro/` 3. 在两侧执行 `npm install` 安装依赖(`build/` 目录已预编译,无需编译步骤) 4. 将 `godot-mcp-pro` 条目写入 Claude Desktop / Cursor / Windsurf / VS Code / Claude Code CLI --- ### Step 2:在 Godot 项目中安装插件(每个项目一次) 部署脚本**不会**自动安装 Godot 插件,因为它需要逐项目手动操作: 1. 打开文件管理器,进入本仓库目录: ``` claude-dev-stack\godot-mcp-pro-v1.14.1\addons\ ``` 2. 将 `godot_mcp/` 目录整体复制到你的 **Godot 项目根目录** 下的 `addons/` 中: ``` 你的Godot项目/ └── addons/ └── godot_mcp/ ← 从 godot-mcp-pro-v1.14.1\addons\godot_mcp\ 复制过来 ``` 3. 在 Godot 编辑器中:**Project → Project Settings → Plugins**,找到 **Godot MCP Pro** 并勾选 **Enable** 4. 插件启用后,状态栏显示连接端口(如 `MCP listening on :6505`) --- ### Step 3:确认 MCP 配置 部署脚本已自动写入各客户端配置。Windows 侧确认: ```powershell cat "$env:APPDATA\Claude\claude_desktop_config.json" ``` 应包含(Windows 侧条目,供 Claude Desktop / Cursor / Windsurf / VS Code): ```json { "mcpServers": { "godot-mcp-pro": { "command": "node", "args": ["C:/Users/YourName/godot-mcp-pro/build/index.js"] } } } ``` WSL2 内的条目(供 Claude Code CLI): ```bash claude mcp list --scope user # 应包含: godot-mcp-pro node /root/.mcp-servers/godot-mcp-pro/build/index.js ``` --- ### Step 4:在 Claude Code 中使用 Godot MCP Pro > ⚠️ **重要区分**:Editor 工具(场景/节点/脚本操作)**随时可用**;Runtime 工具(游戏运行时状态/截图/输入模拟)**必须先调用 `play_scene` 启动游戏**。 ```bash # 启动 Claude Code(WSL2 内) claude # 验证 Godot MCP 连接 > /mcp # 应看到 godot-mcp-pro 及其工具列表 # ── 示例:场景搭建 ── > 创建一个名为 Player 的 CharacterBody2D 节点,添加 CollisionShape2D 和 Sprite2D 子节点 # ── 示例:脚本操作 ── > 读取 res://scripts/player.gd,帮我添加跳跃逻辑 # ── 示例:运行测试 ── > play_scene 后截图,检查 Player 是否出现在屏幕中央 # ── 示例:批量修改 ── > 将场景中所有 Label 节点的字体大小统一改为 24 ``` --- ### 可用工具分类(170+ 工具) | 分类 | 代表工具 | 说明 | |------|----------|------| | **项目/文件系统** | `get_project_info`, `get_filesystem_tree`, `search_files` | 项目概览与文件搜索 | | **场景** | `get_scene_tree`, `create_scene`, `open_scene`, `save_scene` | 场景生命周期 | | **节点** | `add_node`, `update_property`, `connect_signal`, `batch_set_property` | 节点增删改 | | **脚本** | `read_script`, `create_script`, `edit_script`, `validate_script` | GDScript 读写验证 | | **编辑器** | `get_editor_screenshot`, `get_editor_errors`, `get_output_log` | 编辑器状态截图 | | **3D** | `add_mesh_instance`, `setup_lighting`, `setup_camera_3d`, `setup_collision` | 3D 场景搭建 | | **动画** | `create_animation`, `add_animation_track`, `create_animation_tree` | 动画与状态机 | | **Audio** | `add_audio_bus`, `add_audio_player`, `get_audio_bus_layout` | 音频系统 | | **导航** | `setup_navigation_region`, `bake_navigation_mesh` | NavMesh 导航 | | **粒子** | `create_particles`, `apply_particle_preset` | 粒子特效 | | **Shader** | `create_shader`, `edit_shader`, `assign_shader_material` | 着色器编写 | | **Tilemap** | `tilemap_set_cell`, `tilemap_fill_rect` | 瓦片地图 | | **分析** | `analyze_scene_complexity`, `detect_circular_dependencies`, `find_unused_resources` | 项目分析 | | **运行时** | `play_scene`, `get_game_screenshot`, `simulate_key`, `run_test_scenario` | 运行时控制与测试 | --- ### 故障排查 — Godot MCP Pro **问题:`/mcp` 中看不到 godot-mcp-pro** ``` 解决: 1. 重新运行 deploy.ps1(幂等,可多次执行) 2. 检查 claude mcp list --scope user 是否有 godot-mcp-pro 条目 3. 重启 Claude Code:exit → claude ``` **问题:工具调用失败,Godot 插件未响应** ``` 解决: 1. 确认 Godot 编辑器已打开,且插件已在 Project Settings → Plugins 中启用 2. 确认插件状态栏显示 "MCP listening on :650X" 3. 不要设置 GODOT_MCP_PORT 环境变量;让服务端自动扫描 ``` **问题:WSL2 侧 npm install 超时** ```bash # 设置国内镜像后重试 npm config set registry https://registry.npmmirror.com cd ~/.mcp-servers/godot-mcp-pro && npm install ``` --- ## 使用方式 ### Claude Code CLI ```bash # 进入 WSL2 wsl -d Ubuntu # 启动 Claude Code claude # 或从 PowerShell 快捷命令(由 deploy.ps1 写入 profile) claude-wsl ``` ### GitHub Copilot CLI(WSL2 原生) 首次使用前,需要在 **WSL2 内单独登录 GitHub**: ```bash gh auth login ``` 验证 gh-copilot 扩展已安装: ```bash gh extension list | grep gh-copilot ``` 常用命令: ```bash # 命令建议 gh copilot suggest "写一个 bash 脚本,递归统计当前目录下最大的 20 个文件" # 命令解释 gh copilot explain "find . -type f -name '*.log' -mtime +7 -delete" ``` 如果你人在 Windows PowerShell 中,但想**强制调用 WSL2 版本**,使用部署脚本写入的快捷函数: ```powershell gh-copilot-wsl suggest "生成一个 bash 命令,列出 Git 仓库中最近修改的 10 个文件" gh-copilot-wsl explain "tar -czf backup.tar.gz ~/project --exclude node_modules" ``` 这两个入口的职责建议固定: - 在 Windows PowerShell 里直接输入 `gh ...`,默认走 Windows 版本 - 在 Windows PowerShell 里输入 `gh-copilot-wsl ...`,明确走 WSL2 版本 - 在 WSL2 终端里输入 `gh ...`,明确走 WSL2 版本 ### RTK (Rust Token Killer) RTK 支持多种 AI 编程助手集成,过滤噪音、压缩输出,减少 60–90% token 消耗。 #### Claude Code 集成 RTK 作为 Claude Code 的 **PreToolUse hook** 运行,自动将 bash 命令重写为 `rtk` 等效命令。 `deploy.ps1` 会自动执行 `rtk init -g` 注册 hook,**重启 Claude Code 后即生效**。 #### GitHub Copilot 集成 RTK 通过 `.github/copilot-instructions.md` 文件集成 GitHub Copilot(VS Code / Copilot Chat)。 本仓库已包含此文件,Copilot 读取后会自动在终端命令前添加 `rtk` 前缀。 ```bash # 生成 copilot-instructions 模板(如需在其他项目中集成) rtk init -g --copilot ``` 生成的 `.github/copilot-instructions.md` 内容示例: ```markdown # RTK — Token-Optimized CLI Always prefix shell commands with `rtk`: - rtk git status (instead of git status) - rtk cargo test (instead of cargo test) - rtk docker ps (instead of docker ps) ``` > 对已有 `copilot-instructions.md` 的项目,可手动追加 RTK 规则块,避免覆盖原有内容。 ```bash # 验证 hook 安装状态 rtk init --show # 查看 token 节省统计(需先在 Claude Code 中运行一些命令) rtk gain rtk gain --graph # ASCII 图表 rtk gain --history # 最近命令历史 # 手动使用(无需 hook) rtk git status # 压缩 git status 输出 rtk cargo test # 只显示失败的测试 rtk grep "pattern" . # 分组搜索结果 ``` ### 故障排查 — gh copilot 使用 Windows 版本 **现象**:在 WSL2 中执行 `gh copilot` 报错 `exec: .../copilot.bat: not found` **原因**:VS Code GitHub Copilot Chat 扩展将其 `copilotCli` 目录加入了 Windows 系统 PATH,WSL2 继承该路径后,`gh copilot` 内置命令从 PATH 找到了 Windows 的 `.bat` wrapper,在 Linux 下无法执行。 ```bash # 方法一:重新运行 wsl-setup.sh(已自动写入 PATH 修复) bash /mnt/g/Works/server-deploy/claude-dev-stack/wsl-setup.sh # 方法二:手动修复(写入 ~/.bashrc 并立即生效) cat >> ~/.bashrc << 'EOF' # 排除 VS Code Copilot Chat Windows wrapper(gh copilot 在 WSL2 中会误调用 .bat 文件) PATH="$(echo "$PATH" | tr ':' '\n' | grep -Fv 'copilotCli' | tr '\n' ':' | sed 's/:$//')" EOF source ~/.bashrc # 验证 gh copilot --version ``` --- ### 故障排查 — rtk 安装失败 ```bash # 手动安装 cargo install --git https://github.com/rtk-ai/rtk # 手动初始化 hook rtk init -g ``` --- ## 环境检测逻辑 脚本对每个组件均先检测是否已安装,**已安装则跳过**,实现幂等执行: ``` WSL2 → wsl --list 检测发行版 Node.js → node --version Claude Code → claude --version Rust → rustc --version rtk → rtk --version Unity MCP → 检测 ~/.mcp-servers/unity-mcp-server/ ``` --- ## 故障排查 ### WSL2 安装失败 ```powershell Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -NoRestart Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart # 重启后 wsl --update wsl --install -d Ubuntu ``` ### Rust/cargo 安装慢 在 `.env` 或 `~/.bashrc` 中添加 RsProxy 镜像: ```bash export RUSTUP_DIST_SERVER=https://rsproxy.cn export RUSTUP_UPDATE_ROOT=https://rsproxy.cn/rustup ```