# CaseX **Repository Path**: caunock/casex ## Basic Information - **Project Name**: CaseX - **Description**: 本地用于管理测试用例的小工具,添加了MCP服务器,方便接入AI使用 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-21 - **Last Updated**: 2026-08-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CaseX 基于 Tauri 2、React、TypeScript、Rust 和 SQLite 的 Windows 11 本地测试用例管理工具。 ## 当前能力 - 项目新建、修改、删除、归档、恢复,以及 JSON 项目包导入和按用例筛选导出。 - 用例搜索、排序、表头筛选、分页、批量操作和详情备注。 - 独立执行浮窗,支持置顶、关闭/恢复、四边吸附和桌面任意位置纵向停靠。 - SQLite 本地持久化,查询在数据库层完成分页与过滤。 - 可配置的本地 MCP Streamable HTTP 服务,提供工具和 AI 可读取的使用文档资源。 - 可配置全局快捷键和 Windows 11 Mica/Acrylic 材质。 最终需求见 [docs/requirements.md](docs/requirements.md)。 ## 开发环境 - Node.js 22+ - Rust stable MSVC - Visual Studio 2022 C++ Build Tools - Windows 10/11 SDK - Microsoft Edge WebView2 Runtime ## 常用命令 ```powershell npm install npm run build npm run tauri dev npm run tauri build npm run package:portable ``` Rust 检查与测试: ```powershell cd src-tauri cargo check cargo test cargo clippy --all-targets -- -D warnings ``` ## 代码结构 ```text src/ api.ts Tauri IPC 客户端 App.tsx 主窗口编排 DockApp.tsx 独立吸附浮窗 components/ 项目、用例、详情和设置组件 store.ts 界面状态 types.ts 前端数据契约 src-tauri/src/ commands.rs Tauri 命令 db.rs SQLite 数据层与种子数据 mcp.rs 本地 MCP HTTP 服务 models.rs Rust 数据契约 windows.rs 双窗口与边缘吸附逻辑 ``` ## 本地数据 数据库默认位于: ```text %APPDATA%\com.casex.manager\casex.db ``` SQLite 开启外键、WAL 和 `NORMAL` 同步模式。归档项目保留用例,彻底删除归档项目时由外键级联删除用例。 ## MCP 健康检查:`GET http://127.0.0.1:5012/health` HTTP 使用文档:`GET http://127.0.0.1:5012/docs` MCP 文档资源:`testcase-manager://docs/mcp` 完整工具、参数、数据模型、安全规则和调用示例见 [docs/mcp.md](docs/mcp.md)。 服务端提供以下工具: - `list_projects` - `list_archived_projects` - `get_project` - `create_project` - `update_project` - `archive_project` - `restore_project` - `delete_project` - `export_project` - `import_project` - `list_cases` - `get_case` - `create_case` - `update_case_status` - `update_case` - `save_case_note` - `delete_cases` MCP 只监听本地回环地址,不开放任意浏览器跨域访问,也不依赖公网穿透。项目包通过内联 JSON 导入导出,不接受任意本机文件路径;永久删除必须显式传入 `confirm: true`。 ## 生产交付 - NSIS 安装包由 `npm run tauri build` 生成;启用签名私钥后同时生成 Tauri updater artifact,支持应用内自动更新。 - 便携 ZIP 由 `npm run package:portable` 生成到 `artifacts/CaseX-Portable.zip`。 - 便携包无需 Node.js、Rust 或本地静态服务器,解压后可直接双击 `casex.exe`。 - Gitee Release 更新流程见 [`docs/update.md`](docs/update.md)。