Commit Graph
72 Commits
Author SHA1 Message Date
chenweiandClaude 1f78587bbd fix(mcp): 异常面适配真实 bleak——重试/错误码映射覆盖异常全家
- C1: _run_with_retry 捕获面 TransportError → (base+local 两个 TransportError,
  BleakError, OSError, asyncio.TimeoutError);真实掉线 bleak 裸抛
  BleakError("Not connected") 不再绕过重连重试
- C2/I1a: _map_transport_error 接受异常全家,类型优先(asyncio.TimeoutError、
  BleakDeviceNotFoundError → CONNECT_TIMEOUT)再按中英文消息映射;_call /
  scan_devices / device_status 的 except 同步扩展,device_status 不再把传输层
  错误兜底成 INTERNAL
- I2: _ensure_connected 的 __aenter__ 半途失败补 __aexit__,防半开连接泄漏
- M1: status() 先算 idle_seconds 再 _touch(),读数不再被自身归零
- docstring 校准:scan_devices 返回形状 data.devices;device_status 注明
  触发连接守候且刷新空闲计时
- 新测试 8 个(先红后绿):raw BleakError 重连成功/耗尽上抛、aenter 清理、
  idle_seconds 语义、local 中文 TransportError 两条映射、raw BleakError 映射、
  device_status 传输错误映射

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 23:55:31 +00:00
chenweiandClaude 16dbf494c9 docs: Windows 部署执行清单(熠管家协作)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 23:19:02 +00:00
chenweiandClaude de683fe9c2 docs+release: MCP.md 工具参考与部署指南;0.2.0
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 16:59:07 +00:00
chenwei 9506490ce2 feat(mcp): ppclock-mcp 入口——stdio/HTTP 双模 + token 鉴权 + 非回环守卫 2026-07-30 16:39:13 +00:00
chenweiandClaude bb3dbcb06a fix(mcp): decode_image_source 非图片输入 OSError 归一 ValueError,守 INVALID_PARAM 契约
评审 fix round 1:Image.open 两处(路径/base64 分支)包 try/except OSError,
合法 base64 或存在文件但非可识别图片时不再让 PIL.UnidentifiedImageError
逃逸出 upload_image 炸 MCP 会话;补 decode 层与工具层覆盖测试各一。

Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 16:29:44 +00:00
chenweiandClaude 22402a508d feat(mcp): 13 个高层 MCP 工具 + 图源解码 + 统一输出契约
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 16:19:52 +00:00
chenwei b280977869 feat(mcp): DeviceManager——按需连接+空闲保持+串行锁+掉线重连(方案 C) 2026-07-30 15:53:50 +00:00
chenweiandClaude 6b8436ebd8 docs: ppclock-mcp 实施计划(5 任务,TDD)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 15:48:26 +00:00
chenweiandClaude 10897ec97f docs: ppclock-mcp 设计 spec(单层 MCP 服务器,方案 C 连接管理,13 工具)
Co-Authored-By: Claude <noreply@anthropic.com>
2026-07-30 15:37:32 +00:00
agent c2a52220aa docs: K5 实证关闭——内置应用与上传图均 400x300 满幅(用户目视确认) 2026-07-30 15:18:05 +00:00
agent aa03a208d9 docs: K5 记录——App 侧 2.13 指派为厂商付费家族模型,非设备问题 2026-07-30 15:15:30 +00:00
agent 5ae1886b00 docs: PROGRESS 记录 SDK 化与 0.1.0 里程碑 2026-07-30 14:59:46 +00:00
agent 2b90d3891f docs+release: CHANGELOG/llms.txt/SDK README/API.md,0.1.0 候选 2026-07-30 14:58:18 +00:00
agent 122023cdf4 feat(sdk): PPClient 门面 API(via_local/via_bridge/via_uri/scan_devices + 全设备操作)+ __version__ 0.1.0,165 测试全绿 2026-07-30 14:53:59 +00:00
agent a613c76114 refactor: SDK 包结构——transports/firmware 分包、bridge_server 入包+ppclock-bridge 入口、fw 工具入 SDK 域,151 测试全绿 2026-07-30 14:46:29 +00:00
agent c13958db10 docs: A组补测收官+典狱长案例 review 闭环(PROGRESS 终态) 2026-07-30 14:38:09 +00:00
agent 42e56d04bb docs: 典狱长 v2 官图上屏确认+槽位覆盖重绘机制增补 2026-07-30 14:37:09 +00:00
agent 1ebe317aa7 feat: 典狱长测试案例——线稿风格化处理+上屏+图片输入机制 review 入库 2026-07-29 16:21:53 +00:00
agent 8bfb99df40 docs: A组进展与打结①(time --tz 增强 + 对时守候中) 2026-07-29 15:20:56 +00:00
agent 2c10e6b3c8 feat(cli): time --tz 时区偏移(默认本机时区的修正项),151 测试全绿 2026-07-29 15:07:36 +00:00
agent 29e4c2b10c feat(tools): rppclock 守候重试包装 2026-07-29 06:58:01 +00:00
agent 5646c0a327 docs: README 测试计数同步 150 2026-07-29 06:46:44 +00:00
agent 30e0211649 docs: 项目收官——G4 路径 B 定案,三大目标终态核对入库 2026-07-29 06:44:54 +00:00
agent f9553628f3 feat: 工厂布局破解——线刷 .bin 完整解析(pP引导+双bank+pR产品头),G4 解法成文(docs/firmware-layout.md) 2026-07-29 06:33:59 +00:00
agent 250e30b9f3 docs: 烧后健康复查——DIS 原固件未变+331f 通道正常(零写入实证闭环) 2026-07-29 06:23:37 +00:00
agent 5a981439aa docs: 全量烧录实证记录——状态20 产品头门禁定案(留证 suota-flash-log.jsonl),设备零风险 2026-07-29 05:57:22 +00:00
agent 14cd3277de feat(tools): flash_run 内置守候循环 2026-07-29 05:34:52 +00:00
agent 31571b54ef feat(tools): flash_run.py 全量烧录执行器(全程 JSONL 留证) 2026-07-29 05:19:41 +00:00
agent 0c456c667a docs: 用户全量烧录授权记录(范围/留证/验证方案) 2026-07-29 05:18:14 +00:00
agent 101cc634a4 docs: vendor 固件目录实证(CH镜像=本地镜像)+ 全量烧录安全性论证入库 2026-07-29 05:14:39 +00:00
agent 237084c4a2 docs+chore: SUOTA 安全收尾——GPIO_MAP 固化 BE 序、排障全记录与 K4 解法路线入库 2026-07-29 05:06:17 +00:00
agent 94fea411a9 docs: SUOTA 状态码分层与 0x38000 产品头阻断根因入 DECISIONS 2026-07-29 04:56:12 +00:00
agent ff9f2f84fd refactor(tools): gpio_probe v2 单会话+复位+守候 2026-07-29 04:26:26 +00:00
agent ff46d2985b feat(tools): gpio_probe.py GPIO_MAP 候选实证探针(max_blocks=2 安全模式) 2026-07-29 04:20:24 +00:00
agent 3322bd2c82 feat(bridge): build 11 ota gpio_map 参数+max_blocks 探针模式 2026-07-29 04:18:47 +00:00
agent 201f91721c docs: 状态码 8/16 固件证据与 StreamReader 根因入 DECISIONS 2026-07-29 03:46:47 +00:00
agent 9e0cf12118 fix(bridge): build 10——状态码 8/16 按会话信息码处理(固件反汇编实证:MEM_DEV type 检查路径)+ 阶段状态取证 + SPOTA 写特征入 CHARS 2026-07-29 03:45:45 +00:00
agent 34adaf4b81 fix(bridge): 根因修复——StreamReader 64KiB 限制致 OTA 144KB 请求行永远不可达(build 9→4MiB) 2026-07-29 03:27:48 +00:00
agent cbf7629dc8 feat(bridge): build 8 notify 超时+connect subscribe 选项(OTA 净连接) 2026-07-29 03:15:40 +00:00
agent 6c46c73c21 docs: SUOTA 首刷两轮失败记录与 build 7 排障方案(PROGRESS) 2026-07-29 03:07:19 +00:00
agent 1887570d7a feat(bridge): build 7 OTA 分阶段事件+写超时(定位首块前卡点) 2026-07-29 03:06:12 +00:00
agent 96b1976da0 fix(bridge): OTA RPC 客户端预算 600s→1800s(实测传输超 10 分钟) 2026-07-29 02:32:07 +00:00
agent 01f345d17d feat(bridge): build 6 DIS/SPOTA 只读通道 + DIS版测试镜像(3字符+CRC 手术级差异) 2026-07-29 02:08:08 +00:00
agent cc95429ac8 docs: bridge 五类 RPC 实机证据(docs/bridge-rpc-evidence.json) 2026-07-29 01:23:04 +00:00
agent 6ad06d6e75 docs: 收尾——实机测试终态记录(field-test-result/PROGRESS),SUOTA 首刷按用户决定顺延 2026-07-29 01:12:31 +00:00
agent 35d1e1f406 fix(ota): SUOTA SERV_STATUS 实机校正为 5f78df94(64b4e8b5 本设备仅 read),build 5 2026-07-28 16:46:54 +00:00
agent 959b2a151a docs: 实机 GATT 表+331f 通道+ID反解校正入库(protocol/DECISIONS/field-test-result) 2026-07-28 16:31:15 +00:00
agent aebe0ad317 fix(protocol): RXTX 命令通道切换到 331f(实机证据:1f1f 仅ACK不执行)+ 设备ID反解参数序校正(实机向量),150 测试全绿 2026-07-28 16:22:46 +00:00
agent 4db823f207 feat(bridge): alt(331f) 写通道——build 4 + CLI raw --channel alt,测试全绿 2026-07-28 16:11:26 +00:00
agent c4f577905f fix(bridge): _rpc 双向 timeout 拆分(payload 服务端预算 vs 客户端等待预算),149 全绿 2026-07-28 15:47:42 +00:00