diff --git a/.task/checksum/build-frontend--DEV--RUNNER-npm- b/.task/checksum/build-frontend--DEV--RUNNER-npm- index 9051e0b..1b024ea 100644 --- a/.task/checksum/build-frontend--DEV--RUNNER-npm- +++ b/.task/checksum/build-frontend--DEV--RUNNER-npm- @@ -1 +1 @@ -cf71ba1d3af30612c61ba8aa4e42baf4 +dbdfaffdda9a5e396029f0bb1e6a525e diff --git a/.task/checksum/windows-common-generate-bindings b/.task/checksum/windows-common-generate-bindings index dfa38c3..5c1e0ee 100644 --- a/.task/checksum/windows-common-generate-bindings +++ b/.task/checksum/windows-common-generate-bindings @@ -1 +1 @@ -e2b9b9c981c8af0ab85227959989ae5f +28191be998162983b02d5d860509be98 diff --git a/README.md b/README.md index 22762a1..8a796c7 100644 --- a/README.md +++ b/README.md @@ -1,51 +1,153 @@ -# Code Count +# 年糕崽崽项目管理(PMS) -Code Count is a Wails v2 desktop application for local source-code and Git analytics. The Go backend scans source files with gocloc, reads Git history through the installed `git` executable, and persists analysis snapshots in SQLite. The Vue 3 frontend provides Chinese/English and light/dark themes. +年糕崽崽 PMS(NL PMS)是一款 **本地优先** 的 Windows 桌面项目工作台:一键统计代码规模与语言分布、洞察 Git 协作热度,聚合待办、工单与排期日历,内置 AI 解读项目并规划每天工作。数据默认保存在本机 SQLite;登录后可加密同步到云端,多台设备衔接。 -## Requirements +技术栈:**Wails v3 · Go · Vue 3**。界面支持中 / 英与浅色 / 深色主题。 + +## 功能清单 + +### 概览 + +- **工作台**:收藏项目、今日待办、速记与未读消息入口 +- **今日任务**:聚合逾期、今天到期、进行中、未来 7 天的待办与工单 +- **排期日历**:待办截止日与工单排期一览,支持跳转日期 +- **消息中心**:系统 / 协作通知 + +### 项目与代码分析 + +- **我的项目**:本地目录或 Git 克隆添加项目,分组管理,语言分布与代码行统计 +- **项目详情**:代码规模、目录结构、大文件、Git 热力图 / 趋势 / 贡献者、健康洞察、文件预览 +- **排除规则**:按 glob 排除不参与统计的文件(设置里可配全局规则,项目也可单独配置) +- **AI 分析**:基于项目上下文的对话、解读与任务建议(支持讯飞星火 / DeepSeek 等) + +### 事务 + +- **待办事项**:看板 / 列表,状态、优先级、截止日期 +- **需求工单**:绑定项目与排期,类型含功能 / 缺陷 / 任务 / 改进,生命周期时间线,可用 AI 生成工单 +- **笔记**:Markdown 速记与笔记列表 + +### 团队协作(登录后) + +- **团队概览**:创建 / 加入团队、成员与角色 +- **团队任务**:分配与跟踪团队待办 +- **团队日报**:成员日报提交与 AI 摘要 +- **加密云同步**:本地数据加密后同步到云端;个人主页可管理资料、素材库与同步状态 + +### 系统工具 + +- **启动台**:管理本机应用启停与分类,扫描监听端口的服务,可配置启动 / 停止命令与图标 +- **端口监控**:本机 CPU / 内存 / 网络总览、监听端口列表,可将服务存为启动台应用 +- **打包任务**:在项目或应用目录执行自定义构建命令,控制台输出保存在本地(不同步云端) +- **运行日志**:桌面端后台任务与运行记录 + +### 设置与运营 + +- **界面设置**:主题、语言、毛玻璃、加载动画、托盘样式、最小化到托盘、开机自启、自动更新 +- **AI / 文件存储 / 种类图标 / 数据管理**:模型密钥、云端文件存储(管理员)、启动台默认种类图标、SQLite 路径与备份 +- **运营后台**(管理员):用户与团队、发版与更新包、用量概览;敏感操作需二次验证 + +## 环境要求 - Go 1.25+ - Node.js 20+ -- Wails CLI 2.12+ -- Git (optional; required only for Git analytics) +- Wails CLI v3(`wails3`) +- Git(可选;仅 Git 分析需要) +- NSIS(打 Windows 安装包时需要,见下文) -## Development +本机数据库默认位于系统用户配置目录下的 `CodeCount/code-count.db`,可在设置 → 数据管理中修改路径。 + +## 开发 + +热更开发(推荐): + +```powershell +wails3 task dev +``` + +等价于 `wails3 dev -config ./build/config.yml -port 9245`。 + +也可先装前端依赖再手动启动: ```powershell cd frontend npm install cd .. -wails dev +wails3 task dev ``` -The database is created under the operating system's user configuration directory in `CodeCount/code-count.db`. Its location can be changed from Settings. +请在桌面程序中打开,不要用普通浏览器预览:浏览器无法访问本地目录、SQLite 或 Git。 -## Tests and builds +## 测试 ```powershell go test ./... -cd frontend -npm run build -cd .. -wails build ``` -Windows builds produce `build/bin/code-count.exe`. Run `wails build -platform darwin/universal` on macOS to create the macOS application bundle. +## 构建与打包(Windows) -## About +出包必须用官方任务,**禁止**裸 `go build` 交付给用户。裸编译没有图标,双击还会闪控制台黑框。 -This is the official Wails Vue template. +### 打安装包(推荐交付方式) -You can configure the project by editing `wails.json`. More information about the project settings can be found -here: https://wails.io/docs/reference/project-config +需要已安装 [NSIS](https://nsis.sourceforge.io/)。若提示 `makensis not found`,先把 NSIS 加入 PATH: -## Live Development +```powershell +$env:Path = "C:\Program Files (x86)\NSIS;" + $env:Path +wails3 task package +``` -To run in live development mode, run `wails dev` in the project directory. This will run a Vite development -server that will provide very fast hot reload of your frontend changes. If you want to develop in a browser -and have access to your Go methods, there is also a dev server that runs on http://localhost:34115. Connect -to this in your browser, and you can call your Go code from devtools. +该任务会依次: -## Building +1. 打包云端 API(`api:package`,有改动才重编) +2. 构建前端并嵌入,生成带图标 / 版本信息、无控制台窗口的 `bin/code-count.exe` +3. 用 NSIS 生成安装程序 -To build a redistributable, production mode package, use `wails build`. +**安装包路径:** + +`bin\年糕崽崽项目管理(PMS)-amd64-installer.exe` + +安装程序为简体中文界面,会写入开始菜单和桌面快捷方式,并附带 WebView2 引导。默认按机器安装(需管理员权限)。 + +### 只编桌面程序(不打安装包) + +```powershell +wails3 task windows:build +``` + +产物:`bin/code-count.exe`。只改前端时该任务会自动 `npm build` 并嵌入,无需单独跑 Vite。 + +### 只打包云端 API + +同级仓库 `../nl-pms-api` 有改动才会重编;强制重编加 `FORCE=1`: + +```powershell +wails3 task api:package +wails3 task api:package FORCE=1 +``` + +产物目录:`bin/nl-pms-api/`(含 `nl-pms-api` 二进制、`init.sql`、`migrations/*.sql`、`config.example.yaml`)。部署到 Linux 服务器时拷该目录即可。 + +硬性要求: + +- 目标固定为 **linux/amd64**(线上 Linux 服务器) +- 产物是 `bin/nl-pms-api/nl-pms-api`(**无** `.exe` 后缀) +- **禁止**把 Windows 本机编出的 `nl-pms-api.exe` 当作后端交付 + +编完会校验文件头为 ELF(`7F 45 4C 46`)。抽查: + +```powershell +Format-Hex bin\nl-pms-api\nl-pms-api -Count 4 +# 前 4 字节应为 7F 45 4C 46 +``` + +### 更换 Logo + +1. 替换 `build/appicon.png`(正方形 PNG) +2. `wails3 task common:generate:icons`(按 checksum 缓存,未改动会显示 up to date) +3. 重新 `wails3 task windows:build`(或再打安装包) +4. 可用 `powershell -ExecutionPolicy Bypass -File tools\extract-icon.ps1` 从 exe 抽出图标核对 +5. 资源管理器仍显示旧图标时,改名或重启 explorer 即可(Windows 图标缓存) + +## 项目配置 + +应用名称、版本、公司名等在 `build/config.yml`。修改 `info` 后执行 `wails3 task common:update:build-assets` 会同步构建资源(会覆盖已改过的资源文件,请先确认)。 diff --git a/database-settings.png b/database-settings.png deleted file mode 100644 index 1f15f9c..0000000 Binary files a/database-settings.png and /dev/null differ diff --git a/database-setup.png b/database-setup.png deleted file mode 100644 index c0a58e4..0000000 Binary files a/database-setup.png and /dev/null differ diff --git a/desktop-final.png b/desktop-final.png deleted file mode 100644 index 4de289b..0000000 Binary files a/desktop-final.png and /dev/null differ diff --git a/final-dashboard-v3.png b/final-dashboard-v3.png deleted file mode 100644 index 1093af9..0000000 Binary files a/final-dashboard-v3.png and /dev/null differ diff --git a/final-git-v3.png b/final-git-v3.png deleted file mode 100644 index 98929e9..0000000 Binary files a/final-git-v3.png and /dev/null differ