# Windows-Gotify-Client-Rust 轻量、现代、Windows 原生体验良好的 Gotify 桌面客户端,使用 **Rust + Slint** 构建。 > 详细的产品定位、技术栈约束、架构、UI 规范与分阶段实施计划全部记录在 [`AGENTS.md`](./AGENTS.md)。本文档只做项目导览。 ## 状态 🚧 **从 0 起步** —— 当前仓库只有目录骨架与占位 `Cargo.toml`,尚未进入 Phase 1(Bootstrap)。 完整 8 阶段路线图见 `AGENTS.md` §57。 ## 目标平台 - Windows 10 x64 - Windows 11 x64(ARM64 条件允许时支持) - 后台常驻、托盘型客户端 ## 技术栈 | 层 | 选型 | |---|---| | 语言 | Rust stable | | UI | Slint 1.17.x | | HTTP | `reqwest`(blocking + rustls) | | WebSocket | `tungstenite` | | Windows 集成 | `windows-rs` focused crates(按需引入) | | 配置 / 状态 | JSON 文件(`%APPDATA%/WindowsGotify/`) | | 日志 | `tracing` + `tracing-subscriber` | 显式禁用:Tauri / Wails / Electron / WebView2 / WPF / WinUI 3 / Node 运行时。 理由见 `AGENTS.md` §2。 ## 仓库布局 ``` Windows-Gotify-Client-Rust/ ├── Cargo.toml # 占位 — 见 AGENTS.md §44 ├── AGENTS.md # AI Agent 实施计划(1363 行) ├── README.md ├── LICENSE # MIT(占位) ├── .gitignore ├── assets/ # 图标、字体等 ├── ui/ # Slint 视图 ├── src/ # Rust 业务代码 │ ├── gotify/ # HTTP + WebSocket │ ├── storage/ # config.json / state.json │ ├── windows/ # 托盘 / Toast / 启动 / 单实例 / URL │ └── services/ # 生命周期 ├── tests/ # 集成测试 └── scripts/ # PowerShell 构建脚本 ``` ## 开发环境 > 本仓库目前还没有源码,本节将在 Phase 1 完成后补全具体的 `cargo run` / `cargo build --release` 步骤。 ## 隐私与安全 - App Token 默认以 JSON 明文存储在 `%APPDATA%/WindowsGotify/config.json`,仅当前用户可访问 - 日志永不打印完整 `Authorization` 头 - 通知点击的 `click.url` 仅允许 `http://` / `https://`,拒绝 `file://` / `javascript:` / 自定义 scheme - 详细策略见 `AGENTS.md` §13 / §20 / §38 / §51 ## License MIT(见 [LICENSE](./LICENSE))。