Skip to content

leeyis/wsltool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WSLtool - WSL 综合管理工具

一个用于管理 WSL2 的多功能 GUI 工具,包括端口映射、Claude Code 配置管理和 HTTP 代理管理。

功能特性

🚀 端口映射管理

  • 🔍 自动获取 WSL 发行版的 IP 地址
  • ➕ 快速添加端口转发规则
  • 📋 查看和管理现有的端口转发规则
  • 🗑️ 删除或清除端口转发规则

🤖 Claude Code 配置管理

  • 📝 管理多个 API 配置方案
  • 🔄 一键切换配置,自动生效
  • 🔐 支持的供应商:智谱AI、Anthropic官方、MiniMax等
  • 🎯 支持自定义默认模型(ANTHROPIC_MODEL)
  • ♻️ 配置热重载,无需重启终端
  • ✅ 配置验证功能

🌐 HTTP 代理管理(开发中)

  • 📊 代理规则配置
  • 🔄 代理切换管理

为什么需要 WSLtool?

WSL2 在 NAT 模式下存在以下问题:

  1. 局域网内无法直接访问 WSL 服务
  2. Claude Code 配置管理繁琐
  3. 代理配置复杂

WSLtool 一站式解决这些问题!

使用前提

  • Windows 11(或 Windows 10 with WSL2)
  • 已安装 WSL2 并设置为 NAT 模式
  • 端口映射功能需要管理员权限

开发环境

安装依赖

  1. 安装 Rust: https://rustup.rs/
  2. 安装 Node.js (可选,用于前端开发): https://nodejs.org/
  3. 安装 Tauri 依赖: https://tauri.app/v1/guides/getting-started/prerequisites

开发运行

# 以管理员权限打开终端(端口映射功能需要)
cd wsltool/.worktrees/api-config

# 运行开发版本
cargo tauri dev

构建发布版

# 构建 Windows 安装包
cargo tauri build

构建完成后,可执行文件和安装包位于 src-tauri/target/release/ 目录。

使用说明

端口映射管理

  1. 以管理员身份运行应用(端口映射功能需要)
  2. 选择你的 WSL 发行版,程序会自动获取其 IP 地址
  3. 在"添加端口转发规则"区域输入:
    • Windows 端口:宿主机监听的端口
    • WSL 端口:WSL 中服务的端口
  4. 点击"添加规则"
  5. 在规则列表中查看和管理已添加的规则

Claude Code 配置管理

  1. 选择目标 WSL 发行版
  2. 点击"添加配置方案"
  3. 填写配置信息:
    • 方案名称:例如"智谱AI生产环境"
    • Base URL:选择预设或自定义
    • Auth Token:API 密钥
    • 默认模型(可选):例如 claude-sonnet-4-20250514
  4. 点击"保存"
  5. 在列表中点击"激活"按钮
  6. 配置自动生效:在已打开的终端中按回车键即可自动加载新配置

配置热重载

WSLtool 实现了智能配置热重载:

  • 每次显示提示符时自动检测配置文件变化
  • 检测到变化后自动重新加载
  • 也可手动运行 reload-wsltool-config 命令重新加载

技术栈

  • 后端: Rust + Tauri 2.x
  • 前端: 原生 HTML/CSS/JavaScript
  • 打包: Tauri bundler
  • 配置存储: JSON (Windows) + Shell (WSL)

配置文件位置

  • Windows 配置: %APPDATA%\wsltool\api_profiles.json
  • WSL 配置: ~/.wsltool_config
  • Bash 集成: ~/.bashrc (自动添加)

注意事项

  • ⚠️ 端口映射功能必须以管理员权限运行
  • ⚠️ WSL 重启后 IP 可能变化,需要手动刷新并重新添加规则
  • ⚠️ 确保 Windows 防火墙允许对应端口的入站连接
  • ✅ Claude Code 配置管理不需要管理员权限

常见问题

1. 提示需要管理员权限

右键程序 → 以管理员身份运行(端口映射功能需要)

2. 无法获取 WSL IP

确保 WSL 正常运行:wsl -l -v

3. 添加规则后无法访问

检查 Windows 防火墙入站规则是否允许该端口

4. Claude Code 配置未生效

  • 检查是否选择了正确的 WSL 发行版
  • 在终端中运行 cat ~/.wsltool_config 查看配置文件
  • 运行 reload-wsltool-config 手动重新加载

5. 配置热重载不工作

确保 ~/.bashrc 中包含 WSLtool Configuration Block

许可证

MIT License

贡献

欢迎提交 Issue 和 Pull Request!

项目结构

wsltool/
├── .worktrees/
│   └── api-config/          # API 配置管理功能分支
│       ├── src-tauri/       # Rust 后端
│       │   ├── src/
│       │   │   ├── main.rs
│       │   │   ├── api_profile.rs
│       │   │   ├── profile_manager.rs
│       │   │   └── wsl_config.rs
│       │   ├── Cargo.toml
│       │   └── tauri.conf.json
│       └── ui/              # 前端界面
│           ├── index.html
│           ├── styles.css
│           ├── app.js
│           └── api-config.js
├── docs/                    # 文档
│   └── plans/
└── README.md

路线图

  • 端口映射管理
  • Claude Code 配置管理
  • 配置热重载
  • HTTP 代理管理
  • SSH 配置管理
  • 更多 WSL 工具集成