AISwitcher 使用指南
AISwitcher 使用指南
前置要求
- Go 1.26+
- Task (可选,推荐用于快速构建/启动)
# 安装 Task (Windows PowerShell)
winget install go-task.task
# 或通过 Scoop
scoop install task
快速开始
方式一:使用 Task (推荐)
# 1. 构建二进制
task build
# 2. 启动 Web UI + API 服务
task serve
打开浏览器访问 http://127.0.0.1:8090/ 进入配置页面。
方式二:直接使用 Go
# 构建
go build -o bin/aisw.exe ./cmd/aisw
# 启动 Web 服务
go run ./cmd/aisw serve --http 127.0.0.1:8090
# 或运行构建好的二进制
.\bin\aisw.exe serve --http 127.0.0.1:8090
启动后会看到:
aisw: data dir ~/.innate-aiswitcher/pb_data
aisw: bootstrapping database...
aisw: server listening on http://127.0.0.1:8090
aisw: web UI http://127.0.0.1:8090/
aisw: REST API http://127.0.0.1:8090/api/aisw/
serve 常用参数:
| 参数 | 说明 |
|---|---|
--http ADDR |
监听地址(默认 127.0.0.1:8090) |
--quiet |
关闭 HTTP 访问日志 |
--origins |
CORS 允许来源(默认 *) |
--admin-ui |
启用 PocketBase 管理后台 /_ |
--show-admin-banner |
显示 PocketBase 启动 banner |
方式三:开发模式(构建 + 启动一步完成)
task dev
Task 命令速查
| 命令 | 说明 |
|---|---|
task build |
构建二进制到 bin/aisw.exe |
task serve |
启动 API 服务 + Web UI |
task serve:verbose |
启动服务并显示 PocketBase 完整日志 |
task dev |
构建并启动服务(一步完成) |
task run |
启动交互式 TUI |
task test |
运行单元测试 |
task verify |
格式化 + 检查 + 测试 + 构建 |
task clean |
清理构建产物 |
task docs:dev |
启动 docmd 文档站本地预览 |
task docs:build |
构建静态文档到 site/ |
Web UI 功能
打开 http://127.0.0.1:8090/ 后,可以在浏览器中:
Providers 管理
- 查看、添加、编辑、删除 LLM Provider 配置
- 从预设导入:内置 DeepSeek、Kimi、MiniMax、OpenAI、Anthropic、小米 MiMo、火山方舟等 7 个 Provider 预设,一键导入
- 点击 Test 按钮测试 Provider 连通性
Profiles 管理
- 创建 Agent + Provider 组合
- 设置默认 Profile
- 覆盖模型选择、CLI 参数、权限设置
REST API 完整参考见 REST API。
CLI 常用命令
Provider 管理
# 列出所有 Provider
aisw provider list
# 添加 Provider
aisw provider add deepseek \
--name "DeepSeek" \
--base-url https://api.deepseek.com/v1 \
--api-key sk-xxx \
--protocol openai_chat \
--model deepseek-v4-flash
# 查看内置预设
aisw provider presets
# 删除 Provider
aisw provider delete deepseek
Profile 管理
# 列出所有 Profile
aisw profile list
# 创建 Profile(将 deepseek provider 绑定到 claude agent)
aisw profile add claude-deepseek \
--name "Claude + DeepSeek" \
--agent claude \
--provider deepseek \
--default
配置导入/导出
# 导出当前配置到 TOML 文件
aisw config export --path ~/.innate-aiswitcher/config.toml
# 导出(包含 API Key)
aisw config export --path config.toml --include-secrets
# 从文件导入配置
aisw config import --path config.toml
# 导入时跳过自动备份
aisw config import --path config.toml --no-backup
# 导入为 JSON(TOML/JSON 自动按内容检测,也可显式指定)
aisw config import --path config.json --format json
config import 默认先导出包含 secrets 的备份到 ~/.innate-aiswitcher/(通过 --backup-path 自定义),导入在 SQLite transaction 内执行,失败会回滚。
从环境变量读取 API Key
aisw provider add minimax-openai \
--base-url https://api.minimaxi.com/v1 \
--api-key-env MINIMAX_API_KEY \
--protocol openai_chat \
--model MiniMax-M3
--api-key-env 在 provider add 时读取环境变量并写入 hidden PocketBase 字段。
项目级默认(.aiswrc)
为不同目录绑定默认 Profile / Provider / Agent:
cd ~/work-project
aisw init --profile codex-minimax --agent codex
之后在该目录下执行 aisw start codex 会自动用 codex-minimax。aisw init --provider minimax-claude 也可只绑定 Provider。--force 覆盖已有 .aiswrc。用 aisw start codex --ignore-project 跳过项目配置。
测试与启动
# 测试 Provider 连接
aisw test provider deepseek
# 列出 Provider 可用模型
aisw test models deepseek
# 用指定 Provider 启动 Agent
aisw start claude deepseek
更多帮助
aisw --help
aisw provider --help
aisw serve --help
aisw config --help
aisw init --help
数据存储
所有配置数据存储在 本地 SQLite 数据库 中:
~/.innate-aiswitcher/pb_data/
Web UI 和 CLI 操作的是 同一个数据库,两者可以交替使用。
数据备份
# 导出全量配置(含 API Key)
aisw config export --include-secrets --path backup.toml
# 导入时自动备份(默认开启)
aisw config import --path backup.toml
# 关闭自动备份
aisw config import --path backup.toml --no-backup
# 完整 dump(含 secrets)到默认 init-config 路径
aisw config dump