TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
广东卓建律师事务所盈家律师团队专职律师,专注婚姻家事领域,处理离婚、抚养、财产分割、探望权等法律纠纷。
Translation pending
ProductivityJavaScript · CSSGitHub @zj-ai-labOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
案齐 ANQI:为独立执业律师设计的自托管案件管理系统——确定性期限引擎、待办日志、律师费台账、案件夹与人工确认式 LLM 辅助。开源(AGPL-3.0-only),单一维护者,不接收外部 PR。
Translation pending
Taken from the repository README
Loading the full README. The saved excerpt is shown below.
为独立执业律师设计的自托管案件工作台 · 内置案件 AI 助理(beta) 案齐是案件管理工具,不是法律意见、法律检索服务或执业替代品。内置期限规则不保证完整、持续有效或适用于具体案件;启用规则前,必须由具备相应资格的人结合现行法、司法解释、法院通知和个案情况独立核验。任何期限、程序和金额都应由使用者最终确认。详见 LEGAL-NOTICE.md。 • 30 秒理解案齐 • 内置 AI 助理(beta) — 它能做什么 · 怎么开启 · 边界与审批 • 下载安装 — macOS 桌面版 · Android 手机版 · 服务器版 • 功能详解 • 界面:一个骨架,三种材质 • 设计原则:为什么这么做 • 数据、隐私与备份 • 常见问题 案齐把一个律师手上所有案件的台账、法定期限、程序阶段、待办、工作日志、日历、联系人、案件文件和律师费放进一个属于你自己的工作台。数据在你自己的电脑(或你自己的服务器)上,不在任何第三方的云端;不依赖 Notion、飞书或任何协作套件。 它不是律所 ERP、多人权限平台、客户门户、云服务或法律意见生成器。它是一个律师给自己写的工具,然后公开出来。Read the full README ↗
[!WARNING] 案齐是案件管理工具,不是法律意见、法律检索服务或执业替代品。内置期限规则不保证完整、持续有效或适用于具体案件;启用规则前,必须由具备相应资格的人结合现行法、司法解释、法院通知和个案情况独立核验。任何期限、程序和金额都应由使用者最终确认。详见 LEGAL-NOTICE.md。
给使用者
给技术人员
关于项目
案齐把一个律师手上所有案件的台账、法定期限、程序阶段、待办、工作日志、日历、联系人、案件文件和律师费放进一个属于你自己的工作台。数据在你自己的电脑(或你自己的服务器)上,不在任何第三方的云端;不依赖 Notion、飞书或任何协作套件。
它不是律所 ERP、多人权限平台、客户门户、云服务或法律意见生成器。它是一个律师给自己写的工具,然后公开出来。
它管的是这几件事(AI 助理详见下一节):
2.7.0 起(当前为 beta 预发行),每个案件内置一个对话式 AI 助理。默认关闭、完全可选——不开启时它只是安装目录里的一堆文件:不加载、不占内存、不发起任何网络请求,其余功能与 2.6.0 完全一致。
它是什么: 打开某个案件,页面上的「AI 助理」抽屉就是一个绑定本案的 agent 会话——这个案件的案件夹就是它的工作区,它只看得到、动得了这一个案件;无论对话里怎么说,都切换不到别的案件。引擎是内置的 DSH(DeepSeek Harness)——DeepSeek 开源的 agent 运行时(BSD-3-Clause),案齐把它作为进程外 sidecar 随包分发、统一钉版本,并在其上加装案件工具、案件夹边界与审批回路;供应商不写死,DeepSeek 官方或任何 OpenAI 兼容端点都可以。
2.11.0 起全站只有一个 AI 抽屉,标题栏有「项目」选择器:「总入口」不绑定案件(只有案齐领域工具与本地认案,会把一句话拆成多条后分别记录),或选某个在办案件(案件夹即项目)。案件页默认本案,其它页默认总入口;切换项目不会停止任何助理。快录条也可切换为「交给 AI」,把当前这句话送给选中的项目;每条写入仍带 AI 标记,可在本轮面板撤销。
它能做什么:
怎么开启(约两分钟):
deepseek-official 或自定义 OpenAI 兼容端点),在界面里填 API key——key 落库前经 AES-256-GCM 静态加密,不需要碰环境变量;deepseek-v4-flash);前提是案件绑定了真实案件夹(建案时选择或创建,桌面版默认就绪)。服务器版另需配置 ANJIAN_INTERNAL_KEY(部署示例里本来就有),详见 SELF-HOSTING.md 的「AI 助理(可选)」。
beta 阶段说明: 助理功能目前处于 2.7.0-beta.x 预发行序列——功能已完整、每项能力都有对应的自动化门禁测试,但仍在按真实使用打磨,界面与细节可能变化:
按上手门槛从低到高排。只想在自己电脑上用,选第一个就够了。
一个 .dmg,拖进「应用程序」就能用。数据全在你自己的电脑里,不需要服务器、不需要 Docker、不需要任何配置。
| 你的 Mac | 下载 |
|---|---|
| Apple 芯片(M1 / M2 / M3 / M4) | anqi-2.12.4-arm64.dmg |
| Intel 芯片 | anqi-2.12.4-x64.dmg |
不确定是哪种芯片:点左上角 → 「关于本机」,「芯片」一栏写 Apple M 开头的选 arm64,写 Intel 的选 x64。历史版本与校验文件在 Releases 页面。
安装与首次启动:
.dmg,把「案齐」拖进「应用程序」。升级: 应用启动时会检查有没有新版本,有的话弹窗提示并跳到下载页;下载新 .dmg 覆盖安装即可,你的数据目录不动。安装前可核对 Release 页面附带的 .sha256 校验值。
Windows 用户:目前没有 Windows 桌面包。可以在一台 Linux 主机或 NAS 上部署服务器版,然后用浏览器访问。
先说清楚一件事:手机版只是一个入口,它自己不存数据,要连到一台跑着案齐服务器版的机器上用。 如果你只用 macOS 桌面版、没有部署服务器版,手机版暂时没有可以连的对象。
安装与首次启动:
.apk,安装时系统会提示「允许安装未知来源应用」,允许即可。https://;http://192.168.x.x:3000、http://xxx.local:3000 这类)允许 http://,界面会明示「明文传输,仅限可信局域网」;部署一次,浏览器、手机版、任何设备都能访问;跑在一台 Linux 主机、家里的 NAS 或低功耗小主机上都可以(支持 amd64 与 arm64)。这需要一点服务器基础,完整步骤放在后面的技术部分:服务器 / Docker 部署。
| 模块 | 它做什么 |
|---|---|
| 案件台账与程序阶段 | 记录案号、当事人、法院、程序类型;九个程序阶段一键推进(立案准备 → 已立案 → 送达答辩 → 举证 → 开庭 → 待裁判 → 上诉期 → 已生效 → 归档),进入某阶段自动按模板铺设该阶段该做的任务;阶段变化、任务完成、工作日志统一进入案件时间线,回头能看清一件案子怎么走过来的。 |
| 期限引擎 | 录入触发事件(如「邮寄送达判决」)→ 引擎按规则表推算死线(答辩期、管辖异议期、上诉期、再审期、申请执行时效……)→ 法定节假日和调休按国务院表顺延,也支持按工作日计算。民事、刑事、行政诉讼与行政复议各有独立规则表,按案件程序隔离,不会串用。规则是一张可编辑的表,不是写死的代码,可以自己改、自己加。法官另行指定的日期可以标成「人工指定」,之后不管怎么重算都不会动它。每条死线在案件页和日历上按剩余天数分级提示,最近的一条永远在案件页最显眼的位置。 |
| 待办、工作日志与日历 | 待办区分计划日(哪天做)和截止日(哪天到期),可精确到分钟;月历上同时看到期限、开庭、待办,还没排期的待办放在托盘里,拖到日期格就排上了;跨天任务可以拖动首尾调整;每个案件有自己的颜色。页面底部常驻一条「一句话快录」,先记下再整理。 |
| 律师费与合作分成 | 每笔律师费挂在程序节点上(签约、立案、一审开庭……),已收 / 待收 / 逾期 / 金额待定分开看;费用总览按案件堆叠,逾期的案子自动展开成红色提示。合作分成回答五个问题:谁给谁、律师费多少、先扣什么、比例多少、何时结算——应收应付都可以先记暂定比例,明确后再完善;结算一旦确认就定格,之后要改只能追加一条更正记录,不会出现「改了一个数、历史对不上」。历史遗留的孤儿台账有专门的修复工作台,逐条人工认领。 |
| 联系人 | 当事人、对方当事人、承办法官、法官助理、书记员、对方律师、合作律师,挂在案件下;电话点一下就拨。默认不出任何模型接口;启用 AI 助理后,仅绑定本案的助理会话可以读写本案联系人(写入带「AI 加的」标记,可改可撤),快录 / 收件箱等其他自动化面仍然接触不到。 |
| 案件文件 | 你电脑(或同步盘)里的案件夹是唯一原件。网页里可以按案件浏览子目录(法院文书 / 立案材料 / 证据整理 / 客户沟通 / 办案过程 / 人工终稿 / 财务凭证)、上传文件、预览 PDF 和图片;夹里被别的工具改了,页面实时刷新。收费凭证可以直接挂在对应款项上。 |
| 案件 AI 助理(beta,可选) | 每案一个绑定本案案件夹的对话助理:读案卷答问题、直写联系人 / 事实 / 事件 / 待办(全部带 AI 标记、可改可撤)、期限只能填「待核」草稿、该你做的事提建议进收件箱。默认「案件项目」档只开放受目录边界保护的文件与案齐工具;显式「完整 DSH」档再开放命令、后台任务、子 Agent、工作流与联网搜索,配逐动作三档审批。详见内置 AI 助理(beta)。 |
| 一句话快录与收件箱(可选 AI) | 填了 DeepSeek key 之后:「一句话快录」可以让模型把「周五前给张三准备答辩状」整理成类型 / 案件 / 日期都填好的表单——只填表不写库,你点「记」才入表;后台异步提取出来的建议先进收件箱排队,你裁决后才成为正式记录。模型出问题时这些入口自动消失,其余功能不受影响。 |
| 每日摘要 | 每天定时把今天 / 近期的期限、待办、逾期款汇总成一条消息发到你自己的 Discord。这条链路是固定代码直接发送,不经过任何模型——它是错过期限的最后一道保险,所以不能依赖会出错的东西。 |
| 企业微信智能机器人(可选) | API/WebSocket 长连接把提醒发到本人单聊,也把本人文字/语音接入 AI 总入口;默认关闭且提醒为模拟,绑定后才处理本人单聊。开启后相关内容会经企业微信服务器传输。 |
| 可选文书提取(LegalRAG) | 对你明确选定的案件文件做检索增强与候选提取(比如从一份合同扫描件里提出收费节点、程序事件的候选),候选带页码和原文引用,你接受才写正式表。不开启时核心功能完全不受影响。 |
| 数据统计 | 期限履约率、案件分布、收结案趋势、应收账龄,实时计算。 |
| 多端与三种皮肤 |
三种皮肤只改变材质、颜色和质感,不改变信息结构与布局尺寸。九张当前界面截图(案件、日历、费用 × 三种皮肤)均位于 docs/images/。截图中的案件、当事人、金额均为演示数据。
这些不是「建议」,是写死在架构里的规则,改代码也绕不过去:
这些规则不是凭空定的。期限那一层照搬的是美国 docketing(诉讼日程管理)软件通用的数据模型:录一个触发事件批量派生一串日期、送达方式是计算参数、每条规则自带节假日顺延方向、人工改过的日期默认不参与重算。AI 那一层照搬的是国外同类产品普遍采用的做法:模型提取 → 对照原文人工确认 → 确定性引擎计算,没有一家让模型直接算日期或跳过确认。更完整的设计说明见 docs/DESIGN.md。
anjian.db 和「案件夹」;服务器版在你挂载的两个目录。没有任何数据会传到项目作者或第三方。期限规则准吗?能直接依赖吗?
规则表按「错一天就是执业事故」的标准维护。民事诉讼规则作者已逐条核过;刑事规则来自贡献者整理;行政诉讼 / 行政复议规则每条附法条原文与官方来源,但仍是草稿(review: draft),尚未逐条核准。规则只覆盖常见程序、单一辖区,而且法律会变。把它当成一个可靠的提醒;正式依赖之前,对照现行法条和法院通知再核一次。发现有误请用「期限规则勘误」Issue 模板提出来——这类反馈对项目最有价值。
AI 助理会不会乱改我的案子? 它改不了要害:期限的正式计算只有规则引擎能做,AI 填的期限强制「待核」、你确认前不进提醒;财务和正式期限表它没有写入口。它能直接写的(联系人、事实、事件、待办)每一笔都带「AI 加的」标记且归属戳由服务端写死,你在界面上随手能改能删。会话绑定单一案件,对话内容影响不了绑定关系;命令与联网只在你显式切到「完整 DSH」档后才存在,且每个敏感动作过审批。它现在是 beta——用的时候保持平常给助理核稿的那种警觉就好。
忘记密码怎么办?
桌面版:删掉 ~/Library/Application Support/anjian/config.json,重新打开应用会回到引导页;重新选择原来的数据目录、设一个新密码即可,数据不受影响。服务器版:重新生成密码 hash 替换配置后重启,见 SELF-HOSTING.md。
能几个律师一起用吗? 不能。案齐是单账号设计,这是有意为之——它是律师自己的工作台,不是律所系统。同一个服务器版可以在多台设备上登录使用(电脑、手机、平板)。
手机上怎么用? 两条路:① 部署服务器版,装 Android 手机版连上去;② 不部署服务器,只在电脑上用桌面版。桌面版的数据不会自动同步到手机——它就在你的电脑里。
和用 Notion / 飞书多维表格自己搭一个有什么区别? 表格工具做不出「送达方式是计算参数、节假日按方向顺延、人工覆盖不被重算冲掉」的期限引擎,也做不出「模型只能提建议、人确认才入库」的硬边界。如果你只需要一张案件清单,表格工具够用;如果你需要的是不会算错的期限和不会被自动化搞乱的台账,那就是案齐要解决的问题。
为什么代码里到处是 anjian,而不是 anqi?
见后面「名称与兼容性」——那是历史内部标识,永久保留,不是漏改。
我想改点东西 / 加个功能,怎么办? Fork 一份按 AGPL 自己改,是最直接的路;觉得对大家都有用,开个 Issue 说说你遇到的问题和期望的结果。主仓不接收外部 Pull Request,原因见 CONTRIBUTING.md。
flowchart LR
subgraph Clients[客户端]
Web[浏览器]
Mac[macOS 桌面壳]
Android[Android WebView]
end
Proxy[HTTPS 反向代理]
App[Node.js + Express]
DB[(SQLite)]
Files[(部署者的案件夹)]
Engine[确定性期限引擎]
Rules[(规则与节假日数据)]
Digest[每日摘要<br/>固定代码]
Webhook[Discord Webhook]
Web --> Proxy
Android --> Proxy
Proxy --> App
Mac --> App
App --> DB
App --> Files
App --> Engine
Engine --> Rules
Engine --> App
Digest --> DB
Digest --> Webhook
Model[可选 LLM / LegalRAG]
Candidate[表单建议 / 收件箱候选]
Human{人工确认}
Model --> Candidate --> Human
Human -->|接受或手动保存| App
Human -->|拒绝| Stop[不写入正式记录]
Agent[案件 AI 助理 sidecar<br/>可选 · beta]
Agent -->|读本案投影 / 案件夹| App
Agent -->|直写带 AI 标记<br/>期限强制待核| App
Agent -->|工作建议| Candidate
核心是单进程、单数据库的自托管应用。浏览器和 Android 通过 HTTPS 反向代理访问;macOS 桌面版把同一个服务打包进 Electron 壳,在本机随机回环端口运行,用户无感。快录与收件箱路径上的模型只能抵达表单建议或候选,人工确认是进入正式记录的门;案件 AI 助理是进程外 DSH sidecar,会话由服务端绑定单一案件,直写走服务端强制的归属戳(AI 标记、期限待核),期限计算与财务表对它关闭。
技术栈: Node.js ESM + Express、SQLite + better-sqlite3、原生 JavaScript / HTML / CSS(无前端框架、无构建步骤)、Electron macOS 壳、Kotlin 单 Activity Android WebView 壳、Docker 单容器、编号 SQL migration、JSON 期限规则。项目默认不引入新的运行时依赖,并以低功耗设备可运行、备份可理解、故障可恢复作为约束。
接口: REST /api;内部自动化接口 /internal(独立密钥 X-Anjian-Key,建议只在受控网络暴露);case 命令行工具。你自己的脚本或 Agent 可以往里记待办、读期限,但走的是同一套人工确认门。
推荐固定版本镜像 ghcr.io/zj-ai-lab/anqi:2.12.2(当前最新,内置 AI 助理),支持 amd64 与 arm64。2.12.2 修复桌面日历鼠标单击打不开待办弹层、手机快录条按钮偏矮的问题,并统一弹层的键盘操作与控件高度,纯前端,无 migration、无新环境变量。2.12.1 修复 AI 助理记程序事件时看不到合法事件类型、只能改记待办的问题,无 migration、无新环境变量。2.12.0 新增企业微信智能机器人(可选,默认关闭:长连接由案齐主动外连,无需公网回调地址;提醒可推到绑定本人的企业微信单聊,默认只模拟记录;本人单聊发文字或语音即交给 AI 总入口),含 migration 032,新增可选环境变量 ANJIAN_WECOM_BOT_ID / ANJIAN_WECOM_BOT_SECRET / ANJIAN_WECOM_WS_URL,见 SELF-HOSTING.md。2.11.0 新增 AI 总入口(一个 AI 抽屉加项目选择器:总入口在服务端本地认案、一句话拆多条记录;选中案件即在案件夹项目里对话),含 migration 031,无新环境变量。2.10.0 新增确定性提醒中枢与应用内通知(开庭 / 已确认期限 / 带时刻待办按档位自动提醒,人工单条提醒,反向代理需放行 /api/notifications/stream 的 SSE,见 SELF-HOSTING.md)。2.9.0 新增开庭时刻与地点、快录直接记开庭、传票上传识别(PDF 文字层 / 系统 OCR / 视觉模型,识别结果只回填表单)、手机日历优化与节前顺延提示,含 migration 029;2.9.1 为依赖安全补丁,无 migration;2.9.2 升级 AI 助理运行时(DSH 0.1.5-rc.3),无 migration;2.9.3 修复 AI 助理沙箱放宽请求可被自动放行的问题,无 migration;2.9.4 修复启用 Landlock 的 Linux 服务器无法开启完整档的问题,无 migration。升级前备份,回退到旧版本时须同时恢复备份。下面的完整示例只把服务暴露到宿主机回环地址,并持久化数据库和案件夹;配置 HTTPS 入口前,不要把 3000 端口绑定到公网地址。
IMAGE=ghcr.io/zj-ai-lab/anqi:2.12.2
mkdir -p anqi/data anqi/case-files
cd anqi
docker pull "$IMAGE"
# 生成管理员密码 hash(明文只从临时环境变量读,不落文件)
read -s -p "管理员密码: " P
printf '\n'
PASS_HASH=$(docker run --rm \
-e ANJIAN_PASSWORD="$P" \
--entrypoint node "$IMAGE" /app/tools/hash-password.js)
unset P
INTERNAL_KEY=$(openssl rand -hex 32)
umask 077
cat > .env <<EOF
NODE_ENV=production
HOST=0.0.0.0
PORT=3000
DB_PATH=/app/data/anjian.db
ANJIAN_USER=admin
ANJIAN_PASS_HASH=$PASS_HASH
ANJIAN_INTERNAL_KEY=$INTERNAL_KEY
# 容器里看到的反向代理来源是 Docker 网桥地址而不是回环,所以不要写 loopback
ANJIAN_TRUST_PROXY=uniquelocal
ANJIAN_FILES_ROOT=/app/files
EOF
unset PASS_HASH INTERNAL_KEY
docker run -d \
--name anqi \
--restart unless-stopped \
--env-file "$PWD/.env" \
-p 127.0.0.1:3000:3000 \
-v "$PWD/data:/app/data" \
-v "$PWD/case-files:/app/files" \
"$IMAGE"
curl -fsS http://127.0.0.1:3000/healthz
此时可以在本机浏览器打开 http://127.0.0.1:3000 登录验证。要让手机和其他设备访问,接下来按 SELF-HOSTING.md 配置 HTTPS 反向代理(Caddy / Nginx 示例都有)、可信代理范围、备份与恢复演练。反向代理必须阻止公网访问 /internal/*。
[!IMPORTANT] 每次升级前先备份 SQLite、案件夹和
.env。固定镜像标签优先于latest;数据库 migration 通常只向前,回退旧镜像时应同时恢复升级前的备份。
要求 Node.js 22 或更新(better-sqlite3 v13 自带各平台预编译产物;按下面用 npm ci 装依赖不会触发本机编译。Node 22 自带的 npm 10 若改用 npm install,会尝试用 node-gyp 编译——要么装好 python3 / make / g++,要么加 --ignore-scripts)。先装依赖、生成凭据、写好 .env,通过自检后再启动:
git clone https://github.com/zj-ai-lab/anqi.git
cd anqi
npm ci
read -s -p "管理员密码: " P
printf '\n'
PASS_HASH=$(ANJIAN_PASSWORD="$P" node tools/hash-password.js)
unset P
INTERNAL_KEY=$(openssl rand -hex 32)
mkdir -p data/files
umask 077
cat > .env <<EOF
NODE_ENV=development
HOST=127.0.0.1
PORT=3000
ANJIAN_USER=admin
ANJIAN_PASS_HASH=$PASS_HASH
ANJIAN_INTERNAL_KEY=$INTERNAL_KEY
ANJIAN_TRUST_PROXY=false
ANJIAN_FILES_ROOT=$PWD/data/files
EOF
unset PASS_HASH INTERNAL_KEY
npm run check
npm run dev
服务默认 fail-closed:没配管理员账号就不会启动。仅供空测试库使用的 ANJIAN_UNSAFE_NO_AUTH=1 受非 production、必须绑回环地址等硬限制,不能用于日常部署。不要把 .env、数据库、案件文件、日志或真实当事人信息提交到 Git。
产品名是案齐 / ANQI。历史内部标识 anjian 会永久保留,包括:
anjian;asia.fdonglawyer.anjian;namespace 与 applicationId com.fdong.anjian;ANJIAN_* 环境变量和 X-Anjian-Key;这些标识关系到已有安装和持久化数据,看到 anjian 并不表示遗漏改名。第三方集成不应擅自改写它们。
| 文档 | 内容 |
|---|---|
| SELF-HOSTING.md | Docker 与裸 Node 部署、反向代理、可信代理范围、环境变量逐项说明、备份恢复、升级、Android 连接规则、故障排查 |
| docs/DESIGN.md | 数据模型、期限引擎、阶段引擎、文件桥、分成结算、LLM 边界等设计约束 |
| docs/DESIGN-TOKENS.md | 三皮肤设计令牌与 UI 骨架不变量 |
| docs/UI-COMPONENTS.md | UI 组件目录、组件契约、问题记录模板与验收标准 |
| docs/UI-AGENT-WORKFLOW.md | 多 agent 协作的 UI 盘点、实现、迁移与视觉验收流程 |
| docs/UI-ROADMAP.md | UI 一致性阶段路线、优先级与全站验收门槛 |
| docs/CHANGES.md | 完整版本史(含开源前的历史版本) |
| docs/RELEASING.md | 三条发行线(macOS / Docker / Android)的发版手册 |
| CONTRIBUTING.md | 参与方式与「不收 PR」的说明 |
| SECURITY.md | 安全漏洞私密报告渠道 |
| LEGAL-NOTICE.md | 法律说明与免责 |
| ACKNOWLEDGEMENTS.md |
欢迎:
本项目目前由单一维护者保持架构一致性,不接收外部 Pull Request。请不要在 Issue 或 Discussion 中粘贴大段实现代码、完整补丁、真实案件材料、当事人信息、访问地址、日志或凭据。完整规则见 CONTRIBUTING.md。被采纳的建议会记在 ACKNOWLEDGEMENTS.md。
安全问题请勿公开提交,按 SECURITY.md 使用 GitHub 私密漏洞报告。
仓库附带 .githooks/ 与 tools/git-private-data-guard.py,用于在 commit/push 前拦截疑似私人案件数据。本仓库不会自动设置 core.hooksPath;若需要启用,在本机仓库内自行:
git config core.hooksPath .githooks
案齐源代码以 GNU Affero General Public License v3.0 only(AGPL-3.0-only)授权。该许可证允许商业使用、修改和再分发,同时要求满足其源码提供及网络交互相关义务。
第三方软件、字体和素材仍按各自许可证授权,详见 ACKNOWLEDGEMENTS.md。项目名称、图标及其他可能构成商标或品牌标识的素材不因 AGPL 自动授予商标权;详见 LEGAL-NOTICE.md。
由 方律师 发起和维护。写给自己用,也欢迎你用。
同一套数据:浏览器、macOS 桌面版、Android 手机版。pro(专业·亮)/ paper(纸感·亮)/ jade(翡翠·暗)三种皮肤共用同一套布局骨架,切换时布局零位移。 |
| 第三方组件、字体与素材来源 |