agent-email
Agent 专用邮箱统一管理:让 Claude Code、Codex 等平台的 Agent 用一套命令收发邮件、整理收件箱、分发任务。支持网易 ClawEmail(claw.163.com)和腾讯 Agent Mail(QQ…
快递邮寄跟踪与证据留痕。当用户说"查快递""查物流""EMS 到哪了""顺丰单号""邮寄凭证" "把运单截图录进去""批量刷新在途快递"时使用。登记寄件(add-mailing)、浏览器自动化 查 EMS/顺丰官网轨迹、生成带时间戳+URL 水印的 PDF 凭证归档 08 目录、回写签收状态。 不走第三方聚合 API(证据效力与费用考虑),不自动扫码登录(风控风险,弹码人工扫)。
$ npx -y skills add cat-xierluo/legal-skills --skill express-tracking --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/express-trackingContext preview
The summary Claude sees to decide when to auto-load this skill.
快递邮寄跟踪与证据留痕。当用户说"查快递""查物流""EMS 到哪了""顺丰单号""邮寄凭证" "把运单截图录进去""批量刷新在途快递"时使用。登记寄件(add-mailing)、浏览器自动化 查 EMS/顺丰官网轨迹、生成带时间戳+URL 水印的 PDF 凭证归档 08 目录、回写签收状态。 不走第三方聚合 API(证据效力与费用考虑),不自动扫码登录(风控风险,弹码人工扫)。
name: express-tracking homepage: https://github.com/cat-xierluo/legal-skills author: 杨卫薪律师(微信ywxlaw) version: "0.2.1" license: CC-BY-NC description: | 快递邮寄跟踪与证据留痕。当用户说"查快递""查物流""EMS 到哪了""顺丰单号""邮寄凭证" "把运单截图录进去""批量刷新在途快递"时使用。登记寄件(add-mailing)、浏览器自动化 查 EMS/顺丰官网轨迹、生成带时间戳+URL 水印的 PDF 凭证归档 08 目录、回写签收状态。 不走第三方聚合 API(证据效力与费用考虑),不自动扫码登录(风控风险,弹码人工扫)。
寄件交割的证据链工具:**登记 → 查询 → 留痕 → 回写**。数据真值在 case.yaml `邮寄跟踪` 节 (case-progress skill 的 add-mailing / set-mailing 维护,schema 见其 references/schema.md §2.17), 轨迹 PDF 凭证落案件 `08 - 🏛️ 法院送达/` 目录。
设计参考 既有内部浏览器自动化参考实现的 express 查询模块(浏览器自动化官网查询 + 水印 PDF),本 skill 是其在 ZCode + ego-browser 环境的轻量复刻。
**目标:扫码登录一次管一年、过验证一次管七天,Chrome 关掉重启都不丢。**
| 机制 | 说明 | | --- | --- | | 持久 profile | `~/.cache/express-tracking/chrome-profile`(`launch_persistent_context(user_data_dir)` 持久化模式同构)——cookies/localStorage/sessionStorage 全落盘,**tab 不需常开** | | 登录 cookie | `gehCYwtM3CvqO`(httpOnly)实测有效期**一年**;风控验证标记 `gehCYwtM3CvqP` 有效期**七天** | | 登录态判定 | **以 cookie 为准**(`Network.getCookies` 有无 `gehCYwtM3CvqO`),页面右上角显示"登录/注册"可能只是旧 DOM 未刷新——reload 即恢复 | | 幂等启动 | 一律先跑 `scripts/ensure_chrome.sh`:CDP 9222 活着就复用(**绝不重启已跑实例**,登录态在内存+磁盘),没跑才启动 | | trusted 输入 | 填单/点击必须走 `Input.insertText`/`Input.dispatchMouseEvent`(isTrusted=true);合成事件会被风控识别 → 弹验证+重置登录 UI(见 references §0.5) |
会话过期特征:查询页弹出扫码登录窗(而非安全验证)→ 让用户在**查询页 tab** 原地扫码(持久 profile 实践做法),约一年一次。
单号来源(按优先级):截图/短信里的单号(模型直接看图提取)> 用户口述 > 运单条码照片 (iPhone 拍照经 iCloud 进照片库,Vision 可识别 Code128 条码)。
/usr/bin/python3 .claude/skills/case-progress/scripts/case_store.py add-mailing <短码> <单号> \ --carrier ems|sf|other --content "内装材料" --sent YYYY-MM-DD \ --sender 寄件人 --to 收件方 --file "08 - 🏛️ 法院送达/YYMMDD 邮寄凭证 <单号>.jpg"
注意:`/usr/bin/python3`(默认 brew python3 + 旧 pyyaml 必崩,见环境备注)。凭证图片先复制入 08 目录再登记相对路径。
**不要用 ego-lite 内嵌浏览器**:其窗口 handOff 后会隐藏、不可见不可控(2026-10-09 实测踩坑)。主路线与既有实践同构:CDP 直连真实 Chrome 窗口(9222 + 持久 profile),窗口永远可见,登录/验证态可累积。
# 0. 幂等确保工位(已跑则复用会话,不重启) scripts/ensure_chrome.sh # 1. 脚本化操作(scripts/cdp_ems.js,node≥22 免依赖,内置 trusted 输入) node scripts/cdp_ems.js status # 探测页面状态(验证码/登录/输入框) node scripts/cdp_ems.js query 1234567890123 # 填单查询(自动消登录弹窗、trusted 输入;示例单号,虚构) node scripts/cdp_ems.js text # dump 页面文本(轨迹解析) node scripts/cdp_ems.js pdf 1234567890123 <路径.pdf> # 水印注入 + printToPDF
要点:
要点:
轨迹页完全加载后,`page.evaluate` 注入页眉水印(fixed 顶栏): 左=当前时间 `YYYY-MM-DD HH:MM:SS`,右=页面 URL;再经 `page.cdp("Page.printToPDF", …)` 导出 A4 PDF(关键参数见 references/query-flows.md §3)。
命名:`YYMMDD <承运商>轨迹 <单号>.pdf`,落 08 目录。
/usr/bin/python3 .claude/skills/case-progress/scripts/case_store.py set-mailing <短码> <单号> \ --status in_transit|signed|abnormal --latest "最近一条轨迹摘要" \ [--signed YYYY-MM-DD] --file "08 - 🏛️ 法院送达/YYMMDD EMS轨迹 <单号>.pdf"
签收时同时补一条时间线事件(事件类型=举证,状态 done)。收尾 `log-work auto --type 整理`。
1. `list` 遍历案件 → 各 `show` 取 `邮寄跟踪` 中 `状态 ∈ {pending, in_transit}` 的单号 2. 按承运商分组;EMS 每批 ≤20 单粘入查询框,顺丰逐单(官网单号查询) 3. 逐单回写(签收/在途/异常 + 最新轨迹);出问题的单列出待人工复核
Agent 专用邮箱统一管理:让 Claude Code、Codex 等平台的 Agent 用一套命令收发邮件、整理收件箱、分发任务。支持网易 ClawEmail(claw.163.com)和腾讯 Agent Mail(QQ…
把一句自然语言(机票/高铁/开庭/会议/截止日期/聚会/看病等)或一张票据截图,自动变成苹果「日历」事件 + 一串按事件类型智能提前的「提醒事项」。在 macOS 上运行、经 iCloud 同步到 iPhone/iPad。当用户说「帮我加个日程/提醒」「机票…
律师案件看板。本地零依赖看板服务(案件总览、任务三态看板、期限预警、进度写回)+周研判分析。当用户说"打开看板/dashboard/案件面板/看下案件进度/给我案件周报研判"时使用。案件状态写入与上下文管理用 case-progress(/progress…
案件进度与状态台账管理。案件 case.yaml 的唯一写入引擎(新增任务、推进任务、登记期限、更新案件阶段、校验、存量迁移),Agent 会话的进度加载与写回契约,以及案件进度监控对账。当用户或 Agent…