Files
Windows-Gotify-Client-Rust/README.md
T
KennethCheng a3a6a7c91d chore: 初始化 Windows-Gotify-Client-Rust 项目骨架
使用 Rust + Slint 重建一个轻量、现代、Windows 原生体验良好的 Gotify
桌面客户端。本次只搭目录骨架与占位文件,未进入 Phase 1(Bootstrap)。

本次提交内容
------------
- 保留 AGENTS.md(1363 行定制 Agent 实施计划,含 8 阶段路线图)
- 新建 Cargo.toml([package] 元数据 + AGENTS.md §44 依赖模板 + §42
  release profile;无 [[bin]],等 Phase 1 才加 src/main.rs)
- 新建 README.md(项目导览,引用 AGENTS.md)
- 新建 .gitignore(Rust / Slint / Windows / IDE / 密钥)
- 新建 LICENSE(MIT 占位)
- 按 AGENTS.md §4 建好全部 10 个目录,每个空目录放 .gitkeep:
    assets/        assets/fonts/
    ui/            scripts/
    src/           src/gotify/
    src/storage/   src/windows/
    src/services/  tests/

未提交(Phase 1 起才落地)
------------------------
- src/main.rs 及所有 .rs 业务代码
- ui/*.slint 视图
- scripts/build-release.ps1 等构建脚本
- Cargo.lock(当前 Cargo.toml 是占位、无可编译代码)

技术栈约束(来自 AGENTS.md §1 / §2)
------------------------------------
- Rust stable + Slint 1.17.x + Windows 10/11
- 显式禁用:Tauri / Wails / Electron / WebView2 / WPF / WinUI 3 / Node 运行时
- 单一主程序,无浏览器运行时依赖;UI 由 Slint 原生渲染

仓库
----
远程:https://gitea.kennethcheng.cc/KennethCheng/Windows-Gotify-Client-Rust
2026-09-19 04:02:51 +08:00

66 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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))。