# boki **Repository Path**: edrin/boki ## Basic Information - **Project Name**: boki - **Description**: BOKI 簿记 — 离线优先的开源记账软件:复式记账、多公司隔离、插件化架构、SQLite 单文件,数据不出机器,断网也能用 - **Primary Language**: Unknown - **License**: AGPL-3.0 - **Default Branch**: main - **Homepage**: https://edrin09.github.io/boki/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-10-22 - **Last Updated**: 2026-10-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

BOKI — 开源财务软件

BOKI — 离线优先的开源财务软件

你的数据,永远只属于你 · 复式记账内核 · 插件化 · 全离线运行

License: AGPL v3 Offline First no cloud plugins 14 Vue 3.5 NestJS 11 SQLite platform

官网站点 · 码云镜像 · 快速开始 · 离线能力 · 安全边界 · 插件仓库 · 商业支持 · 赞助

--- ## BOKI 是什么 > **你的数据,永远只属于你。** BOKI 是一套**离线优先**的开源财务软件:前端 Vue 3 + 后端 NestJS + SQLite 单文件数据库,单命令启动,开箱即用。 在云端数据泄露频发的今天,财务隐私不该被妥协。BOKI 把数据主权 100% 交还给你:装在你自己的机器上,跑在你自己的内网里——**没有云端、没有第三方 SDK 回传、没有任何埋点与遥测**。 无论你是**小微企业主、个体工商户、代理记账公司**,还是对**私有化部署、数据不出境**有硬性要求的团队,BOKI 都可以作为**免费记账软件**替代商业财务系统:一套系统覆盖日常记账、票据识别、工资报销、财务报表全流程,**离线可用、断网可用、数据永远在自己手里**。 内核只保留记账必需的**复式记账引擎**(科目、凭证、期初、公司上下文),其余能力全部**插件化**——想要什么功能装什么插件,不装的插件在界面里不留一丝痕迹。 **数据、语音识别、大模型全部可以离线运行**:SQLite 单文件 + 本地 OCR + 本地流式语音识别 + 可选本地大模型,**断网也能用,数据不出机器**。 - 记账方式:**复式记账**(借贷必相等,后端强校验) - 报表:资产负债表、利润表(本期 + 本年累计)、票据台账、现金流量简表、费用结构分析 - 权限:JWT 登录 + RBAC(菜单级 + 操作级) - 多公司:一个账号可管理多家记账公司,数据完全隔离,顶部一键切换 - 数据库:SQLite 单文件,零配置,支持一键备份/恢复 --- ## 🛡 为什么选择 BOKI | | 理由 | 具体是什么 | |:--|:--|:--| | 🚫 | **绝对离线,拒绝云端** | 安装包自带运行时,**不联网也能安装、启动、记账**;没有埋点、没有遥测、没有后台上传,从物理层面收窄泄露面 | | 🗄 | **数据主权在你手里** | 全部账务数据就是本机一个 `financial.db`:整目录拷走、直接备份、离线搬到另一台机器,**不必向任何服务商申请导出** | | ⚡ | **快,因为不绕远路** | 本地数据库直连,没有云端 API 往返;断网环境下依然是毫秒级的记账与查询 | | 📊 | **报表够用且可审计** | 资产负债表 / 利润表 / 科目余额表 / 试算平衡表 / 票据台账 / 现金流简表;借贷必相等由前后端双重强校验,已审核凭证禁止改动 | | 🧩 | **不会被功能绑架** | 只用内核也能跑完整闭环(登录 → 建账 → 记账 → 出表);需要什么装插件,不用就卸载,界面里不留痕迹 | --- ## 🔌 全离线能力 | 能力 | 离线方式 | 说明 | |:--|:--|:--| | **数据离线** | SQLite 单文件 | 所有账务数据落在本机单文件(WAL 模式),一键备份 / 恢复;**无任何外部服务依赖**,财务数据不出机器 | | **语音识别离线** | sherpa-onnx 本地推理 | 流式中文 ASR(zipformer-zh int8,约 160MB,`npm run models:fetch-asr`),**完全本地解码,音频不上传** | | **大模型可选离线** | Ollama / llama.cpp / vLLM | AI 插件内置本地大模型预设(OpenAI 兼容协议、**无需 API Key**):Ollama(`qwen2.5:1.5b-instruct`)、llama.cpp server、vLLM;也可随时切换 DeepSeek / 通义千问 / Kimi / 智谱 / OpenAI 等云端模型 | > 离线模型缺失时服务照常启动(自动降级),仅「识别 / 票据上传 / 证件建档 / 语音」相关功能提示模型未就绪;`GET /api/ocr/status`、`/api/voice/status` 可查看就绪状态。 --- ## 🔐 安全边界 BOKI 的原则是**先把边界画清楚,再把承诺写明白**。下表是当前代码的真实状态——做到的写做到,没做的明确标出来。 **已经做到** | 层面 | 实现 | |:--|:--| | 部署边界 | 单机 / 内网自部署,前后端同源单端口;无云端依赖、无第三方 SDK 回传、代码中不含埋点与遥测 | | 口令存储 | `bcrypt` 加盐散列,不保存明文(`backend/src/common/utils/crypto.util.ts`);JWT 短期令牌由本机签发 | | 授权体系 | RBAC:权限点覆盖菜单级 + 操作级,前端指令(`v-permission`)+ 后端守卫双重校验 | | 多公司隔离 | 所有业务表带 `company_id`,仓储层强制追加过滤;令牌内 `companyId` 由服务端签名保证不可伪造 | | 操作审计 | 登录、增删改、审核等动作本地留存操作日志,可查询、可清理 | | 数据可迁移 | 全部数据即一个 `financial.db`,支持一键备份 / 下载 / 恢复,可离线搬到另一台机器 | | 传输加固 | 单端口同源即可用;对公网暴露时建议前置 Nginx + TLS(部署侧配置,仓库不含证书) | **还没做到(如实标注,不写话术)** | 缺口 | 现状 | |:--|:--| | 数据库加密 | `financial.db` 当前是**明文文件**——拿到文件即可用任意 SQLite 工具直读 | | 密钥 / 主密码登录 | 尚无「免用户名口令、单 Key 解锁」与零知识(Zero-Knowledge)主密码体系 | | 敏感字段加密 | 金额、往来单位等字段未做列级加密 | | MFA 二次验证 | 当前仅单因子口令 | | 备份加密 | 备份出的 `.db` 文件本身未加密,需自行放到加密盘 / 加密压缩包 | > 本项目**不会**宣称「银行级 AES-256 零知识加密」——**没做到的就不写进文档**。数据库加密与密钥登录已列入下方「路线图 · 安全与加密」,计划以**插件**形式交付:装与不装由你决定,不装就保持现在的零配置体验。 --- ## ✨ 核心特性 | | 特性 | 说明 | |:--|:--|:--| | 📒 | **复式记账强校验** | 每张凭证至少 2 条分录,借方合计 = 贷方合计,前后端双重校验,不平衡无法保存;明细科目限制、辅助核算必填 | | 🧩 | **插件化架构** | 后端业务模块 29 → 8,前端页面 45 → 18;14 个官方插件覆盖档案/资金/薪酬/票据/报表/AI/语音/IAM/多公司,系统内一键安装、停用、卸载 | | 🔒 | **离线私有化** | 数据 / 语音 / 大模型三层全离线:SQLite 单文件 + 本地 OCR(PP-OCRv4)+ 本地流式语音识别(sherpa-onnx)+ 可选本地大模型(Ollama / llama.cpp / vLLM),内网/断网环境完整可用,财务数据不出机器 | | 🔐 | **安全边界透明** | 认证、授权、多公司隔离、审计做到什么、还缺什么(数据库加密 / 密钥登录 / MFA),README 逐项标注,不写「银行级加密」话术 | | 🏢 | **多公司隔离** | 所有业务表带 `company_id`,仓储层自动追加过滤;令牌内 `companyId` 由服务端签名保证不可伪造 | | 🧾 | **票据智能记账** | 上传电子发票 PDF / 扫描件,自动解析类型、金额、税额、购销方;sha256 去重、归类规则、待确认工作台,确认后自动生成凭证 | | 🤖 | **AI 会计员** | AI 插件内置 Ollama / llama.cpp / vLLM 本地大模型预设(OpenAI 兼容、无需 API Key),也可切换云端模型;语音插件本地流式 ASR,自然语言即问即答 | | 💻 | **一键安装包** | Electron 桌面壳 + NestJS sidecar,产出单个 `BOKI-Setup.exe`;未装 Node、未装数据库、不能联网的 Windows 机器装完即用,同机即局域网服务器 | | 📊 | **报表与导出** | 资产负债表 / 利润表 / 科目余额表 / 试算平衡表 / 票据台账 / 月度报表包,支持导出 Excel | --- ## 🚀 快速开始 ### 方式一:免环境安装包(推荐,内部办公场景) 产出一个 `BOKI-Setup-1.0.0.exe`,在**未装 Node、未装数据库、不能联网**的 Windows 机器上装完即用;那台机器同时充当局域网服务器,同事用浏览器访问即可。 ```bash cd desktop npm run pack # 产物:desktop/release/BOKI-Setup-1.0.0.exe ``` 架构:Electron 壳负责窗口与托盘,后端以 `node.exe` 子进程方式拉起(sidecar),后端同时托管前端静态文件,**前后端同源、单端口 9300**,不需要 Nginx、不需要处理跨域。数据落在 `C:\ProgramData\BOKI\`(安装目录对普通用户只读,SQLite 必须写可写目录)。 ### 方式二:源码运行(开发 / 自备服务器) 需要两个终端。 **终端 1 — 后端(端口 3000)** ```bash cd backend npm install copy .env.example .env # Windows;macOS/Linux 用 cp npm run start:dev ``` 首次启动会自动创建 `backend/data/financial.db`,并写入种子数据:1 家默认记账公司、80+ 条权限、4 个角色、75 个中文会计科目、4 个默认用户。 离线模型首次使用前需下载(OCR 约 25MB、流式语音识别约 160MB,均放 `backend/models/`): ```bash npm run models:fetch # 下载 OCR 模型到 models/ocr/ npm run models:fetch-asr # 下载流式 ASR 模型到 models/asr/ ``` > 模型缺失时服务仍可正常启动(自动降级),仅「识别 / 票据上传 / 证件建档 / 语音」相关功能会提示模型未就绪;`GET /api/ocr/status`、`/api/voice/status` 可查看就绪状态。AI 大模型同样可选完全本地部署(Ollama 等),无需下载到本仓库。 **终端 2 — 前端(端口 5173)** ```bash cd frontend npm install npm run dev ``` 访问 ,Vite 已把 `/api` 代理到后端,无需处理跨域。 ### 默认账号 | 角色 | 账号 | 密码 | 说明 | |:--|:--|:--|:--| | 超级管理员 | `admin` | `123456` | 全部权限 | | 会计 | `accountant` | `123456` | 凭证、账簿、报表、基础资料 | | 出纳 | `cashier` | `123456` | 现金银行、往来核销、其他收支 | | 查看员 | `viewer` | `123456` | 只读账簿与报表 | > 首次登录后请尽快在「系统管理 → 个人中心」修改密码。 --- ## 📥 下载 不想自己编译?已构建好的 Windows 安装包发布在仓库 Releases: | 平台 | 安装包 | 下载 | |:--|:--|:--| | Windows x64 | `BOKI-Setup-<版本>.exe` | [GitHub Releases (latest)](https://github.com/edrin09/boki/releases/latest) · [Gitee 发行版](https://gitee.com/edrin/boki/releases) | - 安装包为离线一体式(自带 Node 运行时,无需联网、无需预装环境),装完即用。 - 由 **西安市未央区鹏云智码软件开发部(个体工商户)** 签名发布。 - 若浏览器提示 SmartScreen 拦截:属未广布代码签名证书的常态,点击「仍要运行」即可;证书下载量累积到一定阈值后告警会自动消除。 > 自行编译见上方「方式一:免环境安装包」。 --- ## 🧩 插件仓库(在线获取更新) BOKI 的「插件仓库」是一套**版本化、支持在线获取更新**的官方插件分发体系。每个插件都带 `version`,应用内「插件市场」会自动比对「已装版本」与「目录版本」,**有更新时直接显示「更新」按钮**——更新比对逻辑已由内核内置,拉取最新插件仓库即可生效。 **14 个官方插件**(Apache-2.0,可免费或收费分发): | 插件 | 能力 | |:--|:--| | `banks` | 资金账户(库存现金 / 银行存款) | | `departments` | 部门档案 | | `projects` | 项目档案与辅助核算 | | `cash-bank` | 收款 / 付款 / 转账,自动生成凭证 | | `ar-ap` | 应收 / 应付余额查询与往来核销 | | `income-expense` | 其他收入 / 其他支出单据 | | `hr` | 员工档案、报销单、借款单、工资表 | | `receipts` | 票据智能记账(上传 / 解析 / 去重 / 归类 / 待确认工作台) | | `ocr` | 离线 OCR 引擎(PP-OCRv4)与票据解析器 | | `report-pack` | 资产负债表、利润表、票据台账、现金流量、费用分析、一键月结、经营看板 | | `ai` | AI 模型配置(本地 / 云端) | | `voice` | 语音助手(自然语言记账查询) | | `iam` | 用户 / 角色 / 权限管理面 | | `multi-company` | 记账公司管理与成员授权 | **在应用内操作**(系统管理 → 插件): - 插件市场:浏览官方插件目录,一键**安装**(自动补全硬依赖) - 已安装:启用 / 停用 / 卸载;版本比对后显示**「更新」**按钮 - 安装或更新后需**重启后端**生效(页面会给出提示) - 零插件状态下内核仍可完成「登录 → 建账套 → 记账」完整闭环 **接入在线插件仓库** 插件目录来源由环境变量 `BOKI_MARKETPLACE_DIR` 指定(默认随安装包内置)。把它指向一份**与官方插件仓库保持同步**的目录,即可让「插件市场」展示最新目录、并对已装插件提示更新: ```bash # 指向同步后的官方插件仓库副本 export BOKI_MARKETPLACE_DIR=/path/to/boki-marketplace # 重启后端 → 插件市场刷新目录 → 有更新的插件出现「更新」按钮 ``` > 桌面安装包(`BOKI-Setup-<版本>.exe`,见 [📥 下载](#-下载))已内置官方插件仓库,开箱即用;升级插件时拉取最新插件仓库并点击「更新」即可,无需重装整个应用。 --- ## 📦 功能清单 | 模块 | 功能 | |:--|:--| | 记账公司 | 多公司建账、公司成员授权、顶部一键切换、各公司数据完全隔离 | | 系统管理 | 用户管理、角色管理、权限管理(RBAC)、操作日志、数据备份/恢复、个人中心、插件管理 | | 基础资料 | 会计科目(多级树 + 辅助核算)、往来单位、资金账户、部门、项目、公司信息 | | 期初设置 | 按年度 + 科目 + 辅助核算录入期初余额,一键试算平衡 | | 凭证管理 | 复式记账凭证录入(借贷强校验)、草稿/审核/反审核/作废、凭证号按月连续 | | 现金银行 | 收款 / 付款 / 转账 / 费用报销 / 其他收入,自动生成记账凭证 | | 应收应付 | 应收 / 应付余额查询(按往来单位)、往来核销与撤销(支持部分核销) | | 其他收支 | 其他收入 / 其他支出单据,自动生成记账凭证 | | 账簿查询 | 总账、明细账(按辅助核算分组)、科目余额表、试算平衡表 | | 财务报表 | 资产负债表、利润表(本期 + 本年累计)、票据台账、现金流量简表、费用结构分析、一键月结、经营看板,支持导出 Excel / 月度报表包 | | 薪酬报销 | 员工管理、报销单、工资表(Excel/CSV 导入、图片表格 OCR、工资单草稿) | | 票据智能记账 | 票据上传与解析(PDF 文本层/扫描件 OCR)、发票去重、归类规则、待确认工作台、确认后自动生成凭证 | | 档案一键录入 | 上传营业执照/身份证离线 OCR,批量填充往来单位与员工表单 | | 离线 OCR | PP-OCRv4(det/cls/rec)本地推理,断网可用,`/ocr/status` 探活 | | 数据维护 | SQLite 备份、下载、恢复;操作日志清理 | ### 核心会计规则 | 规则 | 实现说明 | |:--|:--| | 公司隔离 | 所有业务表带 `company_id`;仓储层自动追加过滤条件,令牌内 `companyId` 由服务端签名保证不可伪造 | | 复式记账 | 每张凭证至少 2 条有效分录,`借方合计 = 贷方合计`,**前后端双重校验**,不平衡无法保存 | | 同一行借贷互斥 | 单条分录不能同时有借方和贷方金额 | | 明细科目限制 | 只能记在「明细科目」上,父级科目与非启用科目会被拒绝 | | 辅助核算必填 | 科目声明了往来单位/部门/项目时,分录必须指定对应对象 | | 审核控制 | 草稿 → 已审核 → 已作废;**已审核凭证禁止修改与删除**,需先反审核 | | 单据联动 | 现金银行/往来核销/其他收支单据删除时,同步删除其生成的凭证 | | 金额精度 | 全链路 `decimal(18,2)`,内部以「分」做整数运算,避免浮点误差 | | 报表平衡 | 资产负债表差额 = 未结转的损益净额(系统不含期末结转功能) | --- ## 🧪 测试 自研端到端验证脚本(250+ 项断言),全部通过: ```bash cd backend npm run test:smoke # 认证 / 凭证 / 账簿 / RBAC(需全新数据库) npm run test:smoke2 # 期初 / 报表 / 资金往来 / 系统(需全新数据库) npm run test:smoke3 # 员工 / 报销 / 工资表 / 红冲(需全新数据库) npm run test:companies # 多公司隔离:切换 / 隔离 / 越权 / 授权 npm run test:plugins # 插件生命周期 109 项断言:安装 / 停用 / 卸载 / 依赖保护 npm run test:ocr # 离线 OCR 识别(需模型已下载) npm run test:parsers # 票据解析(PDF 文本层 / OCR 双路径) npm run test:receipts # 票据上传 / 去重 / 字段抽取 npm run test:extract # 证件一键录入端到端 npm run test:reports # 报表接口(台账 / 现金流 / 费用分析 / 月结 / 看板) ``` > `smoke / smoke2 / smoke3` 依赖凭证号从 0001 起算,必须各自在全新数据库上执行(之间跑 `npm run db:reset -- --yes` 并重启后端)。 --- ## 🛠 技术栈 | 层 | 技术 | |:--|:--| | 前端 | Vue 3.5 + TypeScript + Vite 6 + Element Plus 2.9 + Pinia 2 + Vue Router 4 + Axios + xlsx + dayjs | | 后端 | NestJS 11 + TypeScript + TypeORM 0.3 + better-sqlite3 + JWT + Passport + class-validator | | 数据库 | SQLite(better-sqlite3 驱动,开启 WAL) | | 离线识别 | onnxruntime-node + PP-OCRv4(det/cls/rec)、pdfjs-dist(PDF 文本层)、sharp / @napi-rs/canvas(图像处理) | | 桌面壳 | Electron + electron-builder(NSIS 安装包) | | 插件系统 | manifest 驱动的运行时(后端动态 AppModule + 前端路由/菜单/插槽),`.finplugin` 分发格式 | | 测试 | 自研端到端验证脚本(冒烟 + OCR + 解析 + 上传 + 建档 + 报表 + 多公司隔离 + 插件生命周期) | --- ## 📁 目录结构 ```text boki/ ├── backend/ # NestJS API(内核:记账引擎 + 插件运行时 + 插件市场) │ ├── data/ # SQLite 数据库(运行时自动生成,不入版本库) │ ├── models/ocr/ # 离线 OCR 模型(npm run models:fetch 获取) │ ├── scripts/reset-db.ts # 数据库重置脚本 │ ├── test/ # 端到端验证脚本(10 个) │ └── src/ │ ├── common/ # 装饰器、守卫、拦截器、过滤器、工具 │ │ └── company/ # 多公司:请求上下文、隔离仓储、作用域拦截器 │ ├── config/ # 数据库与 JWT 配置 │ ├── db/ # 种子数据 │ ├── entities/ # TypeORM 实体 │ ├── modules/ # 内核业务模块(auth/setup/plugins/...) │ └── plugins/ # 后端插件运行时(manifest 校验 / loader / 动态 AppModule) ├── frontend/ # Vue 3 前端 │ └── src/ │ ├── api/ # Axios 封装与接口定义 │ ├── components/ # 布局与通用组件 │ ├── composables/ # 分页列表等组合逻辑 │ ├── directives/ # v-permission / v-role │ ├── plugins/ # 前端插件运行时(路由 / 菜单 / 插槽 / 静态资产注入) │ ├── router/ # 路由与菜单 │ ├── stores/ # Pinia │ ├── styles/ │ ├── utils/ # 金额/日期格式化、Excel 导出 │ └── views/ # 内核页面 └── README.md ``` --- ## 🗺 路线图 本版本定位「小微企业日常记账」,已知边界与下一步: - 期末结账与损益自动结转(当前报表差额 = 未结转损益,属预期行为) - 完整准则版现金流量表(已提供经营/投资/筹资三分法简表) - 固定资产折旧、工资核算个税/社保精算 - 单据多级审批流 - 插件 SDK 独立发布(`@boki/plugin-sdk`)与社区插件模板 - 官网与文档中英双语 建议的迭代顺序:期末结转损益 → 完整现金流量表 → 固定资产 → 审批流 → 插件 SDK 开放。 ### 安全与加密(阶段计划) | 阶段 | 内容 | 落点 | |:--|:--|:--| | P1 | **备份加密**:导出备份时用口令派生密钥(scrypt / Argon2)加密,恢复时校验口令 | 内核 · 备份模块 | | P2 | **数据库加密**:换用带 SQLCipher 的 SQLite 驱动,首次启动生成主密钥并写盘校验,库文件拷走也无法直读 | 内核 · 数据库配置层 + 迁移脚本 | | P3 | **密钥登录插件**:安装后登录页切换为「主密钥 / 恢复码」模式,口令登录保留为兜底;主密码只用于本地解锁,不上传、不可找回 | 插件 `vault` | > 顺序是刻意这样排的:**先让「文件落到别人手里」变得无害(P1/P2),再改登录方式(P3)**。反过来做没有意义——登录方式再强,一个明文 `.db` 被拷走就全泄露了。 --- ## 💼 商业支持与企业级服务 开源版已提供完整的基础能力与清晰的安全边界。若你是企业用户,或需要更高保障: | | 服务 | 内容 | |:--|:--|:--| | 🏢 | **企业私有化部署** | 在内网 / 专属服务器搭建完全隔离的实例,含部署方案、冷备策略与安全基线检查 | | 🔑 | **高级权限管控与审计** | 细颗粒度角色权限、完整操作审计追踪、MFA 与登录设备管控 | | 🤝 | **商业授权许可** | 允许把本系统集成进闭源商业产品,**豁免 AGPL-3.0 的传染性**(copyleft) | | 🛠 | **专属技术支持** | SLA 保障的响应时效、版本升级协助、数据迁移与性能调优 | 📩 **获取企业版报价或定制方案**:y_p09@163.com(企业采购通常需要可开票主体,请说明规模、部署环境与合规要求) --- ## ❤️ 赞助 BOKI 靠社区支持持续维护。赞助不影响技术决策、不换取代码投票权。 - [爱发电](https://afdian.com/a/edrin) / 微信 / 支付宝(国内个人小额捐赠,**国内优先**) - 企业赞助(青铜及以上):**签服务协议 + 对公转账 + 可开发票**,见 [SPONSORS.md](.github/SPONSORS.md) - GitHub Sponsors / Open Collective(国际通道,地区受限,暂缓开通) > 档位与权益、开票说明、企业赞助流程见 [SPONSORS.md](.github/SPONSORS.md),官网赞助页见 (GitHub Pages)。企业赞助(青铜及以上)可签服务协议 + 对公转账 + 开发票,欢迎邮件 [y_p09@163.com](mailto:y_p09@163.com) 联系。 > > 赞助者将获得新版企业级功能的抢先体验权与专属支持通道;赞助不改变开源协议,也不影响技术决策。 --- ## 💬 社区 - GitHub Issues / Discussions:问题、建议、投票 - 码云镜像:国内快速克隆(GitHub 访问慢时可用) - 贡献方式:欢迎通过 Issue 提交建议;写插件是成本最低的贡献(开发指南见开发者文档) --- ## 📇 开发与联系 BOKI 由**西安市未央区鹏云智码软件开发部(个体工商户)**开发与维护: | 渠道 | | |:--|:--| | 电子邮箱 | y_p09@163.com | | 联系电话 | 15389232340 | | 微信号 | PengYunZhiMa | | 官网 | https://edrin09.github.io/boki/ | | 源码 | https://github.com/edrin09/boki | > 以上信息与桌面安装包、软件「关于」对话框、官网「联系我们」同源,统一维护在仓库根目录 `.env`(`PUBLISHER_NAME` / `CONTACT_EMAIL` / `CONTACT_PHONE` / `CONTACT_WECHAT` / `OFFICIAL_SITE`)。 --- ## 📄 License - **内核**(`backend/` `frontend/` `desktop/`):[AGPL-3.0](./LICENSE) —— 防止云厂商白嫖,财务数据场景强 copyleft - **官方插件**(插件仓库,Apache-2.0)—— 促生态,社区可自由复用 - 社区插件可自选许可(MIT / Apache 等),但调用内核 API 需遵守内核许可 **AGPL-3.0 意味着**:你可以自由使用、修改、分发本软件;但如果你把它改成网络服务提供给他人使用,或以衍生作品形式分发,**必须同样开源**。 **闭源商用**:如需把本系统集成进闭源产品且不公开源码,请购买[商业授权](#-商业支持与企业级服务)。 品牌资产(logo / 商标)不随开源代码分发,由本地 `brand/` 目录管理,**不属于**开源许可范围。 ---

BOKI — 你的数据,永远只属于你。