# 年糕崽崽项目管理(PMS) 年糕崽崽 PMS(NL PMS)是一款 **本地优先** 的 Windows 桌面项目工作台:一键统计代码规模与语言分布、洞察 Git 协作热度,聚合待办、工单与排期日历,内置 AI 解读项目并规划每天工作。数据默认保存在本机 SQLite;登录后可加密同步到云端,多台设备衔接。 技术栈:**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 v3(`wails3`) - Git(可选;仅 Git 分析需要) - NSIS(打 Windows 安装包时需要,见下文) 本机数据库默认位于系统用户配置目录下的 `CodeCount/code-count.db`,可在设置 → 数据管理中修改路径。 ## 开发 热更开发(推荐): ```powershell wails3 task dev ``` 等价于 `wails3 dev -config ./build/config.yml -port 9245`。 也可先装前端依赖再手动启动: ```powershell cd frontend npm install cd .. wails3 task dev ``` 请在桌面程序中打开,不要用普通浏览器预览:浏览器无法访问本地目录、SQLite 或 Git。 ## 测试 ```powershell go test ./... ``` ## 构建与打包(Windows) 出包必须用官方任务,**禁止**裸 `go build` 交付给用户。裸编译没有图标,双击还会闪控制台黑框。 ### 打安装包(推荐交付方式) 需要已安装 [NSIS](https://nsis.sourceforge.io/)。若提示 `makensis not found`,先把 NSIS 加入 PATH: ```powershell $env:Path = "C:\Program Files (x86)\NSIS;" + $env:Path wails3 task package ``` 该任务会依次: 1. 打包云端 API(`api:package`,有改动才重编) 2. 构建前端并嵌入,生成带图标 / 版本信息、无控制台窗口的 `bin/code-count.exe` 3. 用 NSIS 生成安装程序 **安装包路径:** `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` 会同步构建资源(会覆盖已改过的资源文件,请先确认)。