OpenCode Go Manager 是一个用于管理多个 OpenCode Go 账号的 Tauri 桌面工具。它可以保存账号凭据、查看额度状态、切换当前使用的 auth.json 凭据,并管理可用的邀请奖励。
当前项目只支持 Tauri 桌面运行。前端页面会通过 Tauri
invoke调用 Rust 后端命令,不作为独立 Web 应用发布。
- 多账号管理:保存名称、Workspace ID、默认模型、备注、API Key 和 Auth Cookie。
- 额度刷新:读取 5 小时、周、月三个窗口的 OpenCode Go 用量状态。
- 凭据切换:把选中的账号写入目标
auth.json,并自动备份原文件。 - 邀请奖励:读取奖励列表,预览使用后的额度变化,并应用可用奖励。
- 本地加密存储:账号敏感字段写入本地 SQLite 前会使用 AES-GCM 加密。
.
├─ src/ React + TypeScript 前端界面
│ ├─ main.tsx 页面状态、Tauri 命令适配、账号/额度/奖励交互
│ └─ styles.css 桌面端界面样式
├─ shared/
│ └─ types.ts 前后端共享的数据结构定义
├─ src-tauri/ Tauri 2 + Rust 桌面后端
│ ├─ src/main.rs Tauri 入口
│ ├─ src/lib.rs 命令、数据库、加密、OpenCode 请求与解析逻辑
│ ├─ tauri.conf.json 窗口、构建和打包配置
│ ├─ Cargo.toml Rust 依赖
│ └─ icons/ 应用图标
├─ index.html Vite 入口 HTML
├─ vite.config.ts Vite 配置
└─ package.json npm 脚本和前端依赖
前端使用 React、TypeScript、Vite 和 lucide-react。src/main.tsx 中的 api() 不是普通 HTTP 客户端,而是把原来的 /api/... 调用映射成 Tauri invoke() 命令。应用会检查 Tauri 运行时;如果只在浏览器里打开,会提示此应用只能在 Tauri 桌面环境中运行。
后端位于 src-tauri/src/lib.rs,主要职责包括:
- 维护本地 SQLite 数据库和表结构。
- 使用
key.bin对 API Key、Auth Cookie 等敏感字段加密/解密。 - 读取和写入 OpenCode 的
auth.json,切换前生成备份。 - 请求 OpenCode Go 页面,解析额度、邀请码和奖励信息。
- 暴露 Tauri commands 给前端调用。
- Windows 下提供一个原生启动加载窗口。
运行时数据默认保存在可执行文件所在目录下的 data/:
data/
├─ opencode-go-manager.sqlite
├─ key.bin
└─ backups/
这些文件包含账号数据、加密密钥或凭据备份,不应该提交到 Git。公开仓库已通过 .gitignore 忽略 release/、src-tauri/target/、node_modules/、.env*、AI 工作流目录等本地文件。
需要准备:
- Node.js 和 npm
- Rust stable toolchain
- Tauri 2 所需的系统依赖
- Windows 打包时需要 WebView2 Runtime 和 Microsoft C++ Build Tools
安装依赖:
npm install开发运行:
npm run dev这会启动 Vite 开发服务器,并由 Tauri 打开桌面窗口。
类型检查:
npm run typecheck构建前端静态资源:
npm run build:web运行 Rust 测试:
npm test打包 Windows exe:
npm run dist:exe脚本会先执行 Tauri release 构建,然后把生成的可执行文件复制到:
release/tauri/OpenCode Go Manager.exe
原始 release 二进制通常位于:
src-tauri/target/release/opencode-go-manager.exe
仓库内置了 GitHub Actions 工作流:.github/workflows/release.yml。
发布新版本时,推送一个 v* 标签即可让 GitHub 在 Windows runner 上自动编译 exe,并创建 Release:
git tag v0.1.0
git push origin v0.1.0也可以在 GitHub Actions 页面手动运行 Release Windows EXE 工作流,并填写要发布的标签名。
工作流会执行:
npm cinpm run typechecknpm testnpm run dist:exe
成功后,Release 附件中会包含:
OpenCode.Go.Manager.exe
- 新增账号时填写 Workspace ID、API Key 和 Auth Cookie。
- 在“凭据设置”里选择或填写目标
auth.json路径。 - 点击“切换”会把当前账号的 OpenCode Go API Key 写入目标
auth.json。 - 切换前会在
data/backups/中保存备份,可通过“恢复”找回最近一次备份。 - 额度和奖励信息来自 OpenCode 页面结构解析;如果 OpenCode 页面或服务端响应结构变化,可能需要更新解析逻辑。
感谢 LINUX DO 社区、OpenCode 社区,以及 Tauri、Rust、React 等开源生态对开源项目的支持与启发。
OpenCode Go Manager 采用双授权模式:
- 开源授权:AGPL-3.0-or-later。个人和组织均可在遵守 AGPL 条款的前提下使用、研究、修改、分发或通过网络提供本项目。
- 商业授权:如果需要闭源集成、闭源改造、内部产品化平台、商业分发,或以专有条款提供托管/服务化能力,请参见 COMMERCIAL-LICENSE.md。
Copyright (c) 2026 a417707897 and contributors. 详见 NOTICE。
正常下载和使用未经修改的官方 Release 不需要商业授权;遵守 AGPL-3.0-or-later 的开源使用也不需要商业授权。
源码仓库不包含数据库、密钥、账号凭据或构建产物。应用运行后产生的 data/ 目录请自行保管,不要上传到公开仓库或分享给他人。