2026-08-01 复盘机制台账化 + 印象笔记 token 全自动换新
背景与目标
一晚三件事:① 日复盘时发现 Todo App 当天空白,查 bug;② 把"复盘补记"机制(干了活必须入台账)固化进 jihua/zhengli 技能;③ 印象笔记 developer token 几天就过期,本人要求全自动换新,不许人工复制。
技术栈:Electron 本地库(SQLCipher)、Node 脚本、Python kb 系统、Edge CDP(websocket-client)。
过程回顾
工作线 1:todo 导入落点 bug(1 小时)
现象:7-31 当天 App 无任何内容。
追查:导出本地库发现 5 条任务落在 07-31,但它们是 7-30 清单的内容;spec 文件(git 已提交)写的明明是 2026-07-30,createdAt 是 7-30 凌晨 00:20。
根因(双因):① 过零点操作,生效日期错一天(7-28/7-29 导入都正常,代码算术验证无误,是当次操作失误);② 导入后 App 未彻底重启,新行根本没加载。
修复:import.js 加两道闸——落点日期非当日立即警告、写后逐条回读校验;结尾提示改"不重启=不显示"。教训进 jihua/zhengli 技能。
工作线 2:复盘补记机制(本人三次递进裁定)
本人三轮原话,一轮比一轮深:
- "我自己勾掉的一些任务,或者是已经完成的东西,你要把我写在里面" → import.js 支持
"done": true,当天 8 条计划外完成事项补记入 App。 - "你要把我每天使用 Kimi Code 做开发的情况总结一下,写进 todo 清单" → 第一版我只靠口述+本仓库 git log,漏了网安和量化两个项目,被点名:"好几个项目都没有体现,你都没有去检查到吗?" → 扫描
~/.kimi-code/sessions/wd_*/state.json(updatedAt+workDir+title),到对应仓库看当日改动,补记 2 条(网安项目初始化、zdq A线 Step0 订单流因子 60股×18月扩样验证,big_net 家族被证伪)。 - "你没有同步到印象笔记吗?这个技能里面没有固化进去吗?" → 两个技能收尾都只有
kb sync(本地索引),漏了kb push evernote。补推 11 篇,技能固化两步收尾。
方法论沉淀:技能文件就是 AI 的"肌肉记忆",每次被点名都必须落成规则,且注明日期+裁定人。
工作线 3:印象笔记 token 全自动换新(2 小时,五轮迭代)
约束演进(本人原话驱动):
- v1 剪贴板模式:打开申请页,等本人复制,程序监听剪贴板。被否:"不要让我人工去复制……我复制了我还不如自己去配置,我还要需要你开发这功能。"
- v2 借真实 Edge 档案:Cookies 文件被运行中的 Edge 独占锁(连只读都 Errno 13);taskkill 后能复制了,但 temp 窗口没有登录态,还弹一堆扩展提示框。此路不通。
- 本人定方向:"你让我关什么 edge,你自己开个独立窗口去操作不就得了" → v3 专用档案目录
%LOCALAPPDATA%/kb_edge_profile。 - v3 首次登录:本人先登错账号("你看到的是我另外一个印象笔记的账号"),换号重登;期间脚本两个 bug 暴露:登录等待用了 2 分钟的短 deadline(应该用 5 分钟 login_timeout);登录后跳到主界面,脚本没导航回申请页。
- v4 登录态又丢:finally 里
taskkill /F强杀,session cookie 不落盘 → 改 CDPBrowser.close优雅关闭。 - v5 拿到页面还是超时——本人急了:"页面我都看到了,token也看到了,还没完事?"
关键踩坑(v5 的两个真凶)
- 坑 1:token 不在 innerText 里。实测页面行为:token 值只在创建后当场显示,且放在
<input>里,innerText读不到 input 的值。已创建的页面只显示 "already been created" + 有效期,必须 Revoke → Create 才能拿到值。修复:读取表达式连input.value一起拼。 - 坑 2:正则漏了
-。token 格式S=s24:U=...:A=en-devtoken:V=2:H=...含连字符,[A-Za-z0-9:_=+/]抓到A=en就断了,半截 token 校验报errorCode=2 authenticationToken。 - 附带:实测 token 有效期只有 7 天(8-01 创建,Expires 08-07),官方文档说一年,本人说"几天就过期"是对的——这正是不停踩坑也要自动化的原因。
- 附带 2:token_refresh.py 漏了 evernote SDK 的 oauth2 豁免(sync_evernote 有,新文件没抄),校验直接 ModuleNotFoundError。
最终方案(已全链路实测)
push/pull 遇 AUTH_EXPIRED
→ token_refresh.refresh()
→ edge_token_grab.grab():专用 Edge 档案起独立窗口(CDP 9223)
→ "already been created"? 点 Revoke(自动接 confirm 对话框)
→ 点 Create → 读 innerText+input.value 抓完整 token
→ 未登录?弹窗等本人登录一次(会话复用,仅首次/登录态到期)
→ _validate(getUser 校验) → setx 持久化 → 重试同步
实测输出:新 token 校验通过(账号: threettiger176) → 已 setx YXIANG_TOKEN → kb push evernote 成功。全程零人工。
做得好的地方
- 页面行为全靠实测诊断确认(CDP 独立连进去 dump 文本),不猜:先后确认了"锁文件 Errno 13"、"token 不回显"、"input 存值"、"有效期 7 天"四个关键事实,每个都直接改了方案。
- 本人的三次"否决"每次都切中要害:不复制、不关他的浏览器、业务流程他比我熟(Revoke→Create 是他先说的)。方向感在人,执行力在 AI,这个分工对了。
- 补记机制让 Todo App 从"计划工具"变成"计划+实际"完整台账,当晚就补记了 10 条。
复盘与改进
- 效率最低的一段:v2 借档案方案,连环踩锁文件、无会话、弹窗三个坑才放弃。下次遇到"复制运行中程序的档案"先想锁和加密绑定,别先动手。
- 又杀又开了本人 Edge 两次(旧方案路径),干扰本人工作,新方案彻底隔离,这类副作用要更早规避。
- 诊断脚本应该更早写:v3/v4 两轮超时如果早 dump 一次页面文本,"token 不回显"和"input 存值"会早一小时暴露。
- zdq 仓库 7-22 后未提交,本人裁定"没有实质进展不提交"——尊重,但那边堆积的未提交改动是风险,下次复盘提一句。
素材点(自媒体可复用)
- "印象笔记 token 7 天就过期,官方文档写一年——我做了个全自动换新器,扫码一次,终身零人工。"
- "浏览器 cookie 文件是独占锁的,连复制都不行;登录会话还认档案——想'借'别人的浏览器身份,没那么容易。"
- "页面上明明显示着 token,程序就是读不到——因为它在输入框里,innerText 不读 input.value。"
- "正则少写一个
-,抓到半截 token,API 报错还以为是权限问题。" - "AI 被调教实录:主人三次否决('不许让我复制''你自己开窗口''流程是这样'),一次比一次接近正解。"
