# lawyer-workbench **Repository Path**: jetwu/lawyer-workbench ## Basic Information - **Project Name**: lawyer-workbench - **Description**: 律师工作台 - 法律案件管理工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-08-27 - **Last Updated**: 2026-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WorkBuddy 律师专属工作台 · 桌面客户端 基于 Electron 封装的「律师专属工作台」桌面应用。左侧深色导航 + 右侧浅色主面板,覆盖案件全生命周期管理、裁判文书/传票 OCR 智能识别回填、关键期限倒计时、任务/台账/报销/知识库等 11 大模块。 本版在 Web 原型基础上做了**桌面化改造**: - 📌 **窗口置顶**:可固定显示在最前方,处理紧急期限时不被遮挡 - 🔁 **开机自启 · 后台常驻**:关闭窗口不退出,缩到系统托盘继续运行 - 🔔 **系统托盘**:右键菜单快速切换「置顶 / 开机自启」,点击图标显示/隐藏 - 💬 **系统原生通知**:窗口隐藏时,到期与重大节点提醒走操作系统右下角原生弹窗 - 💾 **本地持久化**:数据写入系统用户目录(`userData/store.json`),不再依赖浏览器 localStorage - 📴 **离线可用**:图表/表格/PDF/Word/OCR 引擎等第三方库已本地化(vendor/),无网也能渲染 --- ## 一、目录结构 ``` lawyer-workbench/ ├── index.html # 入口页面 ├── css/style.css # 极简商务风样式 ├── js/ # 业务模块 │ ├── store.js # 数据层(localStorage 垫片写入本地文件) │ ├── ocr.js # OCR + 裁判文书/传票语义解析 │ ├── modules-core.js # 首页/任务/期限/台账 │ ├── modules-case.js # 案件管理(智能回填/时间线/证据) │ ├── modules-misc.js # 顾问/知识库/报销/日程/双语/设置 │ └── main.js # 路由/倒计时/提醒引擎 ├── vendor/ # 本地化的第三方库(离线) │ ├── chart.umd.min.js xlsx.full.min.js │ ├── pdf.min.js pdf.worker.min.js │ ├── tesseract.min.js mammoth.browser.min.js │ └── tesseract/ # OCR worker(语言模型首次识别时按需下载) ├── electron/ │ ├── main.js # Electron 主进程(窗口/托盘/自启/通知) │ ├── preload.js # 桥接 API + localStorage 文件垫片 │ └── assets/icon.png ├── build/ # 图标与安装脚本片段 ├── tools/make-icons.js # 图标生成脚本 └── package.json # 依赖与 electron-builder 配置 ``` --- ## 二、开发 / 直接运行 ```bash # 1. 安装依赖(首次会自动下载 Electron 运行时,约 100MB+) npm install # 2. 以桌面客户端方式启动(Electron 窗口) npm start ``` > 若只想在浏览器里看原型,直接双击 `index.html` 即可(第三方库缺失时自动回退 CDN)。 --- ## 三、打包为安装包 ### Windows(生成 NSIS 安装包 + 免安装 exe) ```bash npm run dist:win ``` 产物位于 `dist/`: - `WorkBuddy律师工作台-1.0.0-setup.exe` —— 安装向导(可改安装目录、创建桌面/开始菜单快捷方式) - 安装完成后即可从开始菜单 / 桌面启动;在「系统设置 → 桌面客户端」中开启**开机自启**。 ### macOS(生成 dmg) > 需在 **macOS** 机器上执行(签名与 dmg 只能在 Mac 构建): ```bash npm install npm run dist:mac # 同时产出 x64 与 arm64(Apple Silicon) ``` 产物:`dist/WorkBuddy律师工作台-1.0.0.dmg`。 > 未在 App Store 分发,首次打开需在「系统设置 → 隐私与安全性」中允许;如需正式分发可配置 `mac.identity` 进行 Developer ID 签名与公证。 --- ## 四、桌面端专属能力说明 | 能力 | 开启位置 | 说明 | |------|----------|------| | 窗口置顶 | 系统设置 → 桌面客户端 / 托盘右键 | 窗口始终显示在最前方 | | 开机自启 · 后台常驻 | 系统设置 → 桌面客户端 / 托盘右键 | 关闭窗口不退出,后台托盘常驻 | | 系统原生通知 | 到期/重大节点提醒 | 窗口隐藏时走操作系统通知;可见时显示应用内右下角弹窗 | | 数据持久化 | 自动 | 写入 `userData/store.json`,重装/清理浏览器不影响 | 托盘图标:左键点击 = 显示/隐藏;右键 = 菜单(置顶、开机自启、打开数据目录、退出)。 数据备份与恢复:系统设置 → 数据同步设置,可导出/导入全量 JSON 备份(备份即 `store.json` 内容)。 --- ## 五、OCR 与文书识别 - **支持**:上传裁判文书(判决书/裁定书/调解书)、传票、Word、Excel、图片 → 自动识别案号、多当事人(自动区分原告/被告/第三人)、承办法官、联系电话、开庭时间、开庭地点、案由、裁判结果金额 → 预览确认后一键回填案件基本信息。 - **首次使用**:OCR 语言模型(中文 `chi_sim` + 英文 `eng`)会在首次识别时从 CDN 下载一次(约 10MB+),之后本地缓存。其余第三方库均已离线内置。 - 若处于完全离线环境且需离线 OCR,可将 `chi_sim.traineddata.gz` / `eng.traineddata.gz` 放入 `vendor/tesseract/lang/` 并在 `js/ocr.js` 中显式指定 `langPath` 指向该目录。 --- ## 六、技术栈 - 渲染层:原生 HTML/CSS/JS(无框架,便于维护) - 图表:Chart.js(本地) - 表格导入导出:SheetJS / xlsx(本地) - PDF 解析:pdf.js(本地) - OCR:Tesseract.js(引擎本地,语言模型首次下载) - 桌面壳:Electron + electron-builder --- ## 七、注意事项 - 本应用为内部效率工具原型,数据存储于本地,未接入真实云端;「三端互通 / 云端同步」为界面示意。 - 如需接入真实后端云同步,可在 `js/store.js` 的 `DB.set` 中追加上传逻辑。 - 关闭窗口 ≠ 退出程序;彻底退出请右键托盘 → 「退出工作台」。