惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
WordPress大学
WordPress大学
小众软件
小众软件
The Register - Security
The Register - Security
量子位
博客园_首页
T
The Blog of Author Tim Ferriss
T
Threat Research - Cisco Blogs
G
Google Developers Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
N
News and Events Feed by Topic
S
Security Affairs
O
OpenAI News
Google DeepMind News
Google DeepMind News
Webroot Blog
Webroot Blog
The Cloudflare Blog
雷峰网
雷峰网
酷 壳 – CoolShell
酷 壳 – CoolShell
IT之家
IT之家
Recent Commits to openclaw:main
Recent Commits to openclaw:main
V2EX - 技术
V2EX - 技术
S
Secure Thoughts
D
Docker
Cloudbric
Cloudbric
Vercel News
Vercel News
MongoDB | Blog
MongoDB | Blog
T
Troy Hunt's Blog
Blog — PlanetScale
Blog — PlanetScale
H
Hackread – Cybersecurity News, Data Breaches, AI and More
N
News and Events Feed by Topic
罗磊的独立博客
大猫的无限游戏
大猫的无限游戏
Schneier on Security
Schneier on Security
Jina AI
Jina AI
Stack Overflow Blog
Stack Overflow Blog
T
Threatpost
D
DataBreaches.Net
Spread Privacy
Spread Privacy
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Security Archives - TechRepublic
Security Archives - TechRepublic
T
Tor Project blog
P
Privacy & Cybersecurity Law Blog
T
Tenable Blog
V
Vulnerabilities – Threatpost
B
Blog RSS Feed
C
Cisco Blogs
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
F
Fortinet All Blogs
The Hacker News
The Hacker News
Know Your Adversary
Know Your Adversary

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派 万字剖析:千问App深度体验报告(2026) - 少数派 在2026年,如何真正防止别人抄袭你的作品 - 少数派 怎么用 50 块搭个 AI 语音助手?我踩了 3 天坑 - 少数派 YeeroAI:让 AI 对话真正成为知识管理的一部分 - 少数派 爬泰山 - 少数派 「旅图显影」 App 更新:这次,我们补上了一点「手感」 - 少数派 假期出门太折磨?我的 23 条经验帮你规划惬意旅行 - 少数派 工作流会变吗 - 少数派 Claude Opus 4.6 怎么用最省钱?我测了 5 种方案 - 少数派 GPT Image 2 让图文并茂不再稀罕 - 少数派 用户侧出发——什么是AI,我要不要学习? - 少数派 找片、转存、整理、播放一条龙!让你的付费网盘值回票价 - 少数派 欢迎试用!日课一问2.0插件 - 少数派 自己做的MDeditor,原本想购买 Typora 试了两次支付不成功,干脆自己做一个 - 少数派 vibe coding了一个 3MB 的小工具,让 ~/Downloads 彻底告别混乱 - 少数派 因为受不了 Mac 的风扇策略,我做了一个风扇控制工具 - 少数派 别只怪模型 - 少数派 Warp 终端的 AI 功能怎么用?我测了一周的体验 - 少数派 AI 写代码老是出 bug?这 5 个配置我后悔没早知道 - 少数派 「新玩意」苹果出相机可能就这样:Sigma BF + 45mm F2.8 DG Contemporary - 少数派 一个面向2030年的AI操作系统是什么样子的:浅谈cola这款有灵魂的Agent - 少数派 别只看写代码 - 少数派 每天解决10个问题,还是一口气攻坚解决400个? - 少数派 AI 交易机器人怎么搭?我用 Claude 跑了一周实盘 - 少数派 Maptoposter Online:把你爱的城市画成艺术海报 - 少数派 Function Calling 怎么用?我测了 3 个模型发现差距真大 - 少数派 Legend Talk:我做了个 AI 圆桌,让 160 位思想家围着你的问题转 - 少数派 如何找到自己的蓝方?在小县城寻找压力测试 - 少数派 语音输入与软件接口|2026年聊AI时,我们都聊些什么(上) - 少数派 混动已经卖爆,纯电又来补刀——钛7闪充版简直“不讲武德” - 少数派 本月玩什么|朋友收藏、识质存在、沙罗周期 - 少数派 为什么要每天坚持输出? - 少数派 Claude API 挂了好几个小时,你的项目有备用方案吗? - 少数派 Function Calling 没你想的复杂——我用它做了个有点用的工具 - 少数派 登录系统立即播放视频或者图片音乐的软件 - 少数派 我为什么创建 FlipHTML5 下载工具 - 少数派 残局没电?多品牌外设电量统一管理软件EasyBluetooth已支持RTSS游戏内显示以及AIDA64 - 少数派 前往通义路的路 - 少数派 太好看了,媲美Sun的个人导航页,NAS部署星云门户 - 少数派 乌黑嘴唇“一键检测”上线了 - 少数派 派早报:Claude AI 接入多个创意软件生态、FILCO 生产方接手品牌等 - 少数派 【更新】BearCLI、Claude 连接器与 MCP 服务器 - 少数派 记了上千条流水,还是看不懂财务?我做了一个让 AI 读懂账本的工作台 - 少数派 MINI R56 升级原厂 Sport 模式 - 少数派 新玩意 | 一棵柠檬树(仿真版) - 少数派 Momenta的“物理AI”野望,需迈过“含摩量”这道关 - 少数派 网页直接投屏控制手机!NAS一键部署PandaScrcpy,流畅丝滑可远程。 - 少数派 众测|邀你一同探索随身 AI 硬件入口 YoooClaw C·ONE - 少数派 2050大会:分享时间是真诚 参会记 - 少数派 iPad 赋能电影创作:国内首部宣纸手绘长片《燃比娃》的幕后故事 - 少数派 AI的审美:我用 8 个大模型给 100 张旅行照片打分 - 少数派 普通人如何破圈?去参加一个本地协会 - 少数派 把极空间的图标全换了,主题DIY全攻略打造你的专属NAS桌面 - 少数派 电子便签墙,帮你实现便签自由 - 少数派 我如何用三个 CLI 工具取代文档创建需求 - 少数派 原来真的有人可以玩一辈子 - 少数派 社区速递 139 | 派友热议三月买了啥、复古单反尼康 Df 体验 - 少数派 06 作品的赏析与评价 - 少数派 TDS REVIEW|索尼 WF-1000XM6 降噪真无线耳机体验 - 少数派 35.98万起售的第二代腾势D9,我看重的不是堆料,而是不凑合 - 少数派 鼠须管 Squirrel 皮肤配置指北 - 少数派 从watch ultra2换到redmi watch6 - 少数派 派早报:阿里巴巴发布视频生成模型 HappyHorse 1.0 等 - 少数派 别迷信1M - 少数派 家人们天塌了!网盘“大封杀”,多个渠道多条路,NAS部署PanHub - 少数派 AI与人勾心斗角!NAS一键部署AI狼人杀,假日休闲必备。 - 少数派 电商必备!Comfyui工作流批量生图插件,一次生成12张!支持Nano banana pro模型 - 少数派 Comfyui工作流配置Gpt-image-2模型教程,0.03/张 - 少数派 OpenClaw第三方APi怎么配置?可使用Gpt-image-2模型 - 少数派 会员社区话题精选 Ep. 103 - 少数派
给自己写一个案件项目管理工具 - 少数派
2023-03-17 · via 少数派

Matrix 首页推荐 

Matrix 是少数派的写作社区,我们主张分享真实的产品体验,有实用价值的经验与思考。我们会不定期挑选 Matrix 最优质的文章,展示来自用户的最真实的体验和观点。 
文章代表作者个人观点,少数派仅对标题和排版略作修改。


我是一个从事争议解决业务的律师,随着工作时间的增长,我接触到的案件项目数量越来越多。诉讼、仲裁案件通常时间跨度很大,我的记忆力又差,因此需要有一个方案来管理这些项目,让我能够回顾案件基本信息、确认日程安排和找到相关人士的联系方法。当然,有许多现成的软件可以实现这个目标。

可惜的是,尽管律所有线上系统,市面上也有各种优秀的笔记、代办事项和数据库应用,我始终没有找到符合要求的工具。它们或者功能不足,或者过于庞杂,又或者不能离线使用。更多时候,我还在用 Excel / Numbers 表格存放案件条目,用 Word / Pages 文档记载每个案件的详情,再结合记事本或者日历工具提醒日程。但这种方案下信息存放得过于分散,案件条目和详情的修改也无法相互反映。

为了减少在工作中的烦躁情绪,我决定自己写一个工具来实现目标。作为法学生,我的计算机知识只来源于中学的竞赛,时隔多年,连基本的 if 语句怎么写都需要现查。好在虽有挑战,我还是在三、四个周末加上工作变动间隙的几天时间里,完成了最初的版本,并在实际使用大半年后做了一点改进,目前已基本能够满足我日常的工作需求。于是,我打算同大家分享这个小工具。

写这篇文章,一来是聊聊小工具的设计思路和使用方法,包括法律工作者在内有项目管理需求的打工人,可以直接下载使用这个工具(链接位于文末),也可以参照这一思路在任意带有数据库的软件中实现。二来也想鼓舞那些日常工作中不得不去适应难用的办公软件、完成枯燥重复的任务,却没有代码写作基础的朋友们,或许花上一些时间和精力,就能够为自己定制一个小工具来解决问题,这也会是颇有成就感的事情。

整体思路

在开始前,我得确定自己想要什么。

如前所述,我需要一个离线的项目管理工具。这个工具最基础的功能,应当是能够记录和显示每个案件的信息,这包括案件名称、案号、法院、当事人等。当然,对于每个案件项目,我还需要能够记录和显示日程。

接下来,我希望这个工具在记录的案件类型、记录的条目上是易于扩展的。目前我接触最多的是民商事诉讼和仲裁案件,但不排除将来需要记录民事执行案件,行政、刑事案件,以及非诉的其他项目。我希望这个工具能够用于记录各种类型的项目。

更进一步,既然这个工具已经能够记录每个案件的信息,那么我希望它不仅能够按条目显示信息,还能够按照套路快速生成一些常用的固定信息,比如告诉我未来15天里有哪些未完成的工作,或者对案件快速生成「甲与乙之间的某纠纷一审案件[案号:xxx]」等内容。

此外,作为 mac 用户,我希望它在大部分时候安静地躺在上方状态栏,并能够响应一些基本操作,如打开项目文件夹。而在输入和查看信息时,它又能出现在 dock 栏中,避免我丢失窗口,需要反复唤醒工具。

实现这些功能,我需要有一个数据库,以及一个图形界面。图形界面让我能够写入和读取数据库信息。经过检索和对比,我选择 Python 作为编程语言,理由是易读易写,让我在以后能够容易地通过阅读代码回忆自己干了什么。数据库我选择 Python 自带的 SQLite,轻巧简便;图形界面使用 PyQt;mac 的状态栏部分则用的是一个名为 Rumps 的库。除状态栏部分外,几乎不用改动代码,我就可以在 windows 平台上打包一个同样能跑的应用程序。

尽管我以为自己做了充分的准备,但上述决策恐怕还是缺乏经验的。在后来,我发现遇到的起码一半困难,来自 Python 的版本,Qt 的版本,打包工具(py2app 和 pyinstaller)的版本,它们之间的相互兼容问题,以及它们在 m1 mac 下的运行问题。后来,我也逐渐发现了多数问题的解决方法,那就是更新版本,更新解决不了问题,就把版本降低,堪比重启试试。

数据库部分

开始时,我感到无从入手。思考过后,我意识到,必须先把数据库搭建好,才能妥善安排图形界面上的对应功能。在写图形界面时,再根据需求不时地返回修改数据库部分,使二者适配,就像法律人说的——研习案例时,眼光在事实与规范之间往返流转。

按照我的理解,数据库就是一张张表格,每一列是一个字段,如「姓名」「年龄」「性别」,而一行数据对应储存「张三」「20岁」「男」这样的信息。数据库的一个好处在于方便地筛选和检索数据,比方说,可以通过一个语句很轻易地通过「张三」定位到这一行数据,然后修改其中的年龄为「21岁」。

可能是受限于使用 Excel 表格的思维,最初我在表的张数上十分吝啬,并出于实现扩展功能的目的,允许用户随意增减字段(列)。后来,我放开了表的数量,字段的增减也被设计为了行的增减,这让整个数据库灵活许多。下面,我具体介绍案件项目数据库的设计思路。

首先,是项目和案件。

通常而言,项目对应一个当事人或事项,而案件则指向有独立案号的具体司法程序。一个项目可以有一个或多个案件。

在项目列表里,需要记录的字段包括项目号、项目文件地址以及标签,标签用于区分项目是正在进行,还是处于搁置、完结状态。案件列表则记录案件名以及案件属于哪个项目。

每个案件的具体信息,存在一个新的案件信息表中。除案件名外,一个字段用于记录信息的类别,一个则记载信息内容,比如分别为「案号」和「xxxx号」,「审级」和「一审」等。关于一个案件应该存储哪些类型的案件信息,则通过其他表格处理,下文提及模板时将统一介绍。

项目列表-案件列表-案件信息

其次,是当事人和联系人。

区别于纯文本内容,当事人和联系人在我的工具中被当作一种特殊的数据类型。这是因为,当一个案件信息是当事人和联系人时,我不光想要知道一个案件的原告是谁,我还想要获得原告的其他信息,包括法定代表人、住址、联系方式等。

与案件列表-案件信息结构类似,我分别用当事人列表-当事人信息,和联系人列表-联系人信息存储信息。并且,在一个当事人或联系人需要存储哪些信息的问题上,同样通过下文介绍的模板灵活处理。

回到案件信息表,自然而然地,我需要再增加一个字段用于判别一个案件信息是纯文本数据,还是当事人这样的特殊数据。同时,对于当事人和联系人,案件信息部分存储的只能是当事人和联系人列表对应的行号(id),这是因为,自然人的姓名是可以、也很容易重复的,我不能够通过姓名来唯一确定其身份。

然后,是模板。

在使用 Excel 记录案件时,我经常为了各案表头设计不统一而烦恼。记录民事诉讼案件,我需要法院、审级,而如果是仲裁案件,就变成了仲裁委、仲裁条款。当事人信息中,有限责任公司、合伙企业和自然人所记载的信息也显然不同。模板的作用,就是为了区别每种类别所需要记载的信息类型。同时,比起在设计数据库时就定义所有案件类型和当事人主体类型,我认为允许用户视情况增删是更便利的做法。

在这个工具中,有案件类型(民事诉讼、仲裁等),当事人(有限责任公司、自然人),联系人(法官、仲裁秘书)三类模板允许用户自由编辑。模板与其他表格关系密切,增减模板中的内容,往往牵一发而动全身,在最初写代码时,很容易遗漏其中的一两项。

下图总结了模板与其他表之间的关系。到了这一步,我就可以按需选择每个案件的类型,并填入这个类型预设模板下所需要记载的信息。

几张表之间的关系,以及信息的提取

最后,补充其他需要的部分。

其一,是增加待办事项和事件记录两张表,这是最容易的部分,涉及的字段有案件、日期、事项。我还给每个案件额外增加了一个记事本字段,用于临时记录文字。

其二,是写对数据库内容进行操作的部分,包括添加、删除和修改信息。其中比较复杂的是删除信息,因为删除时需要删除与之相关的所有信息。此外,是根据图形界面的需要,检索和提取相关数据。

图形界面部分

图形界面部分,我是利用 qt designer 和 pyqt 共同完成的。总体而言,图形界面只要做两件事,一是提取数据库信息,并按需求展示出来;二是允许用户通过图形界面增加、删除和修改数据。

其中,增加、删除和修改数据有两种方法:其一,弹出对话框,输入新的内容,覆盖旧的数据;其二,直接修改图形界面上的内容,触发事件,修改数据库,然后刷新图形界面显示出新的数据,这一操作看起来更加无缝,仿佛直接在修改数据库。

在写图形界面的过程中,我遇到了更多困难。比起数据库部分只要学习 sql 语句,图形界面涉及各种不同的窗口、信号、控件,学习起来更为困难。而网上资料里,大半使用的是 C++ 语言的 qt,这更降低了我的阅读和转(抄)化(写)速度。许多教程只介绍核心的一两个函数和方法,并不会耐心解释示例中每一行代码的功能,我也只能囫囵吞枣,先拿来试试。但好消息是,尽管一知半解,但程序能跑。另一个好消息是,哪怕当时学会了,现在我肯定也忘光了。

此外,由于缺乏设计天赋,我的图形界面并不十分美观,并有一个明显的缺陷:太多功能被放在了右键菜单里,这对于作者以外用户而言实在不够友好。但这么做是有原因的,一方面,太多的按钮会让界面更丑;另一方面,我是 mac 用户,对于一个不用全屏显示的小工具而言,操作界面和菜单栏相距十万八千里,因此我从最初就忽略了菜单栏。当然,后来我亡羊补牢,也将一些功能也放到了菜单栏上,只是还不够全面。

下面,我简单介绍这个工具有哪些功能。

主界面的左侧,是项目和案件列表,右侧则是数据库信息,包括排版后不可编辑的数据库信息,可以直接编辑的待办、记录和记事本。

在待办和记录表格中,由于设置了日期控件,复制内容时需要选中并右键复制,并支持将结果直接复制到表格中,只是无法使用快捷键(为此增加一个触发也是可以的,但可能需要额外的键盘读取权限)。

通过标签,可以在案件信息和其他类型的信息中切换

在右侧信息部分单机右键,则可以快捷地复制或查看、编辑信息。复制案件信息时,得到的是形如「原告xxx(以下简称「xx」)与被告xxx(以下简称「xx」)之间的xx纠纷案件[案号:xxxx]」的内容,复制的当事人类似起诉状抬头,邮寄地址则按「地址 收件人(收) 电话」排布。查看窗口既可以查看详细信息,也可以直接在此修改内容。

右图为查看和编辑界面

在左侧,于空白处、项目、案件三个位置右键,可以按需管理项目。而双击项目或案件时,可以直接打开设置好的项目文件夹。

在上一个版本中,我将左上角的选择框和文字框均用于搜索,即搜索展示在特定位置包含输入文字的案件和项目。后来我意识到,在案件和项目数量不多的情况下,没有必要为搜索功能分配如此多的资源。于是我将选择框用于显示的项目类型,区分在办案件(包括置顶、在办两个标签)和其他案件(包括搁置、已结、其他三个标签),另外单独设置案例库(检索报告标签),用于知识管理。

此外,以防万一,在搜索框中输入「execute_ 」将弹出窗口,允许用户直接使用 SQLite 语句操作数据库。

最后,是在上方和右键菜单栏中的其他功能,包括编辑当事人和联系人数据库,修改模板,以及显示基于待办事项生成的简报。另外,备份还原,修改配色方案等额外配置选项也暂放在菜单栏中。

在 macOS 系统,也可以在状态栏中打开这个简报

后记

上面的程序能够在我的电脑上跑起来以后,我把它打包成了无需额外依赖就可以使用的应用程序,并分为 macOS 与 Windows 版本,只是没想到这个过程也挺费时,因为期间产生了形形色色的报错。

我将它发布在了 github 上,如果有人想要使用,可以在这个链接中下载对应版本,dmg 文件为 macOS 版本,zip 文件为 Windows 版本。

如果在使用的过程中有任何修改想法或建议,可以根据自己的需要随意修改代码使用,也可以与我联系,尽管我不一定有能力和精力去实现。

对于 Windows 版本需要额外说明的是,数据的存储位置暂时位于软件所在文件夹内,覆盖文件夹时可能导致数据丢失,为了避免这样的问题,覆盖前需要用工具自带的备份功能将数据保存在其他位置,覆盖后再还原。同时,Windows 的工具不包含状态栏部分,所以打开后总是会显示在下方任务栏中,存在感可能过于强烈。

就像在开头说的,除了工具本身,我也想要分享这样一件解决工作中不便利的事例,鼓舞每个打工人去尝试改善自己的工作环境。大公司的软件固然更加完善,功能丰富,但毕竟针对的不是某个特定职业的需求。而真正清楚自己需求的打工人们,或许有不少人也和我一样,还受限于各方面条件,不得不低效地工作,并对各种难用的软件逆来顺受,这无疑进一步增加工作的苦闷程度。

在写这篇文章时,有关 AI 的重磅消息一个接一个,法律界也热衷于忧虑自己的工作何时会被取代。在我看来,AI 替代律师和法官的工作尚需时日,但它一定首先能够从各种方面提高我们的工作效率,就像从笔记本到笔记本电脑一样。类似本文介绍的简单工具,在 AI 的协助下应该十分容易完成。我想,比起担忧失业,思考如何享受技术带来的便利,或许才是更有意义的事情吧。

> 下载 少数派 2.0 客户端、关注 少数派公众号,解锁全新阅读体验 📰

> 实用、好用的 正版软件,少数派为你呈现 🚀