# opencode-manager **Repository Path**: zmh/opencode-manager ## Basic Information - **Project Name**: opencode-manager - **Description**: opencode 会话/项目管理工具:按项目/时间/归档筛选浏览,批量删会话、级联删项目;删除前自动备份 + 级联校验 + 占用检测,双重确认防误删。Tauri 2 + Vue 3 + Element Plus + rusqlite。 - **Primary Language**: Rust - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-08-16 - **Last Updated**: 2026-08-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenCode Manager [English](./README.en.md) | 简体中文 一个用于查询和批量删除 [opencode](https://opencode.ai) 项目与会话的桌面工具。 ## 功能 - **会话管理**:浏览 / 筛选(按项目、创建时间、归档状态)/ 批量删除会话 - **项目管理**:列表 + 级联删除项目(自动清理该项目的全部会话、消息、片段) - **按条件批量删**:当前筛选范围内的全部会话一键删除(服务端执行,先预览实际数量) - **安全机制**: - 删除前自动备份数据库(`VACUUM INTO` 一致性快照,含 WAL 数据,保留最近 10 份) - 删除前校验外键级联 schema,缺失级联时中止,避免留下孤儿数据 - 服务端 dry-run 预览实际删除数量,确认数量与数据库状态一致 - 写锁探测(`BEGIN IMMEDIATE`)检测 opencode 是否占用数据库 - 双重确认 + 数量预览 - **体验**:删除全流程分阶段进度提示(备份 / 删除 / 刷新列表),亮暗主题跟随系统 ## 截图说明 - 会话列表:标题 / 项目 / 目录 / 创建时间 / 消息数 / Token / 费用,支持多选 - 项目列表:完整 worktree 路径、会话数、最近活动时间 ## 安装与使用 从 [Releases](https://gitee.com/zmh/opencode-manager/releases) 下载: | 文件 | 说明 | |---|---| | `OpenCode Manager_x.y.z_x64-setup.exe` | Windows 安装包(推荐) | | `opencode-manager.exe` | Windows 绿色版,免安装直接运行 | > 注意:debug 构建的 exe 需要 vite 开发服务器(`localhost:1420`)在运行才能显示页面,请勿直接运行 `target/debug` 下的可执行文件。 ## 数据库 直接读写 opencode 的 SQLite 数据库,默认路径: - Windows: `C:\Users\\.local\share\opencode\opencode.db` - macOS: `~/Library/Application Support/opencode/opencode.db` - Linux: `~/.local/share/opencode/opencode.db` 删除依赖 SQLite 外键级联(`PRAGMA foreign_keys = ON`): | 操作 | SQL | 级联清理 | |---|---|---| | 删会话 | `DELETE FROM session WHERE id IN (...)` | message / part / todo / session_share / session_message / session_input / session_context_epoch | | 删项目 | `DELETE FROM project WHERE id = ?` | 上述全部 + workspace + permission | ## 恢复 如需恢复被删数据,把任意 `opencode.db.bak-` 改名回 `opencode.db` 覆盖即可(先关闭 opencode)。备份为一致性快照,自动保留最近 10 份。 ## 开发 ```bash pnpm install pnpm tauri dev # 启动开发模式 ``` 首次启动 Rust 端会编译几分钟(下载 + 编译 rusqlite bundled SQLite)。 ```bash pnpm typecheck # 前端类型检查 cargo test # 在 src-tauri/ 下,Rust 测试 cargo clippy # Rust lint pnpm tauri build --bundles nsis # 打包发布版 ``` ## 技术栈 Tauri 2 + Vue 3 + Element Plus + TypeScript + rusqlite ## 设计文档 见 `docs/2026-07-28-design.md`。 ## License Apache-2.0