项目定位:本地优先、零依赖的中国律师计时 / 计费 CLI——把「律师真实工作流痛点(漏记、不可审计、税票割裂)」做成合规化产品设计的成品。 性质:由一份「项目构思草稿」落实而来的可运行工具——不是虚构示意,是能
python3 timesheet.py跑起来的真东西。 免责:本仓库所有内容不构成法律意见;计时 / 计费 / 税务逻辑均为示意,具体事项请咨询具备相应资质的执业律师。
| 维度 | 说明 |
|---|---|
| 本地优先 / 隐私 | 数据存本地 SQLite(《律师法》第 38 条保密),数据不出本机 |
| 零依赖 | 仅 Python 标准库 + sqlite3,无需 pip install |
| 审计轨迹 | 每条记录不可变 + 内容哈希;audit 表哈希链可回放,证明「这段时间在干 X」 |
| 中国税法原生 | 价税分离、免税标记(如法律援助)、跨境预提所得税提示 |
| 委托合同感知 | 费率上限 / 预算阈值超阈预警;风险代理禁区软提示(现行依据:2021《进一步规范律师服务收费的意见》意见(四)) |
| 省 / 地市收费指引感知(V2.1) | case --jurisdiction 省/市 触发地域收费规定提示(2006 第 6 条 + 2021 意见(二)),不内嵌具体费率数字 |
| 事项智能归类(V2) | 关键词规则表自动打业务类别(文书起草/客户沟通/庭审出庭/法律检索/内部管理),报告按类小计 |
| 移动端 / 快速捕获(V2) | log 补录已完成时段、quick 单行起停;语音以手机听写转录文本入 note 接入 |
| 可辩护账单 | 开始 / 结束 / 时长 / 事项 / 关联案件 / 客户确认哈希 |
# 零安装直接跑(需 Python 3.8+)
python3 timesheet.py --help
# 配置默认费率(元/小时)与增值税率(示意,默认 6%)
python3 timesheet.py config --key default_rate --value 800
# 计时
python3 timesheet.py start --case 案件001 --client 客户甲 --task 起草 --note "起诉状初稿"
python3 timesheet.py stop --note "完成"
# 查看 / 导出 / 审计
python3 timesheet.py report --month 2026-08
python3 timesheet.py export --format md --month 2026-08 --out 2026-08账单.md
python3 timesheet.py audit
下面是一段真实终端会话(零安装、纯标准库直接跑),展示「配置 → 设案件(含地域)→ 补录计时 → 报告(智能归类 + 合规软提示)→ 审计 → 客户确认」闭环:
$ python3 timesheet.py config --key default_rate --value 800
[config] default_rate = 800
$ python3 timesheet.py case --case 案件001 --rate-ceiling 1000 --budget 50000 --type 刑事 --cross --jurisdiction 广东省
[case] 案件001 配置已保存:费率上限=1000.0 预算=50000.0 类型=刑事 跨境=True 地域=广东省
$ python3 timesheet.py log --case 案件001 --client 客户甲 --task 起草合同 --start "2026-08-30 09:00" --end "2026-08-30 11:30" --note "股权转让协议初稿"
[log] id=1 case=案件001 client=客户甲 task=起草合同 2h30m (2.50h) 价税合计 ¥2,000.00 (不含税 ¥1,886.79 + 税 ¥113.21)
⚠ 风险代理禁区提示:案件类型「刑事」依 2021《关于进一步规范律师服务收费的意见》(司发通〔2021〕87号)(四) 禁止实行或变相实行风险代理
(2006《律师服务收费管理办法》仍具框架效力,二者抵触以 2021 意见为准;风险代理收费金额另受 2021 意见(六) 分档上限约束,详见 docs/COMPLIANCE.md。本工具不判断费率合法性,请以最新规定及执业律师意见为准。)
ℹ 跨境提示:向境外客户提供跨境应税服务,可能涉及企业所得税源泉扣缴(预提所得税);以最新税务规定为准。
ℹ 地域收费规定提示:办案地【广东省】的政府指导价基准与浮动幅度由该省级价格主管部门会同司法行政部门制定(2006办法第6条);收费标准须向该市/区县律师协会备案并公示(2021意见(二))。广东省可能另有本地实施办法与备案标准,请以当地最新规定及执业律师意见为准。
$ python3 timesheet.py report --month 2026-08
# 计时报告 (2026-08)
## 案件001 / 客户甲
id 日期 事项 时长 费率 价税合计 确认 分类
1 2026-08-30 起草合同 2.50h ¥800 ¥2,000.00 — 文书起草
2 2026-08-30 会见沟通 1.33h ¥800 ¥1,066.67 — 客户沟通
分类小计:客户沟通 ¥1,066.67 · 文书起草 ¥2,000.00
小计:不含税 ¥2,893.08 + 税额 ¥173.59 = 价税合计 ¥3,066.67
⚠ 风险代理禁区提示:…(同上)
ℹ 跨境提示:…(同上)
ℹ 地域收费规定提示:…(同上)
=== 合计:不含税 ¥2,893.08 + 税额 ¥173.59 = 价税合计 ¥3,066.67 ===
$ python3 timesheet.py audit
[audit] OK — 2 条记录内容不可变,审计链完整(2 个操作记录)。
$ python3 timesheet.py confirm --id 1
[confirm] id=1 确认哈希=82bc8f1ac49b1e38…(客户认可该时段计费的凭证)
完整可运行效果见 README.md(中文)。
文档站开启与结构见 站点说明(SITE_GUIDE)。
python3 tests/test_timesheet.py,纯标准库、无需 pytest)本页为 GitHub Pages 文档站首页,由 main 分支 docs/ 目录构建。