yi-bot
|
2919ebe312
|
fix: use HM42 vendor image upload session
|
2026-08-03 03:12:48 +00:00 |
|
yi-bot
|
092b104e3d
|
fix: complete HM42 monochrome image planes
|
2026-08-03 02:40:00 +00:00 |
|
yi-bot
|
da02bd31c6
|
fix: select RXTX channel by firmware family
|
2026-08-03 01:57:44 +00:00 |
|
 chenweiandClaude
|
a1041b9bad
|
docs: 打结审计必修落地——DECISIONS 补方案C连接管理与双TransportError两条;CHANGELOG 常驻部署当日闭环+qrcode 修正行;llms.txt 目录补 mcp_windows_deploy/field-test-plan/superpowers;README dev 依赖补 pytest-asyncio;test_bridge docstring 指向 ppclock.bridge_server;部署清单标时点件
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-31 15:01:52 +00:00 |
|
 chenweiandClaude
|
d33a1296ff
|
fix: ppclock-mcp --allowed-hosts 空串按 None 处理(空白名单自锁 localhost 421)
空串逗号拆分得空列表,TransportSecuritySettings(allowed_hosts=[]) 启用
DNS 重绑定防护后连 localhost 族一并 421。main() 解析层抽出
_parse_allowed_hosts,空列表以 or None 归一,保持 mcp 默认;含回归测试。
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-31 01:02:07 +00:00 |
|
 chenweiandClaude
|
69c4d209c0
|
fix(mcp): HTTP 模式新增 --allowed-hosts,修 LAN Host 421
Windows 实测:绑 0.0.0.0 后局域网请求被 mcp DNS 重绑定防护 421 拒。
- parse_args 加 --allowed-hosts(逗号分隔 Host 白名单,默认 None 保持
mcp 仅 localhost 族行为)
- build_server(manager, allowed_hosts=...) 经 TransportSecuritySettings
传入(mcp 1.29.0 API 与设计一致,无需调整)
- main() 逗号拆分(去空白、丢空段)
- 回归测试:TestClient 驱动真实 ASGI app(含 lifespan),
Host=192.168.61.35:8972 initialize → 200;Host=evil.example.com → 421
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-07-30 23:55:57 +00:00 |
|
 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 |
|
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 |
|
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
|
2c10e6b3c8
|
feat(cli): time --tz 时区偏移(默认本机时区的修正项),151 测试全绿
|
2026-07-29 15:07:36 +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
|
49b2010088
|
feat(bridge): BLE 桥接能力——bridge_server.py(Windows原生) + BridgeTransport + --via/PPCLOCK_VIA,149 测试全绿
|
2026-07-28 14:23:30 +00:00 |
|
agent
|
6615696c2d
|
feat(ppclock): 离线激活 keygen(ror2 公式+EFEF 反解 MAC)+ activate --auto;docs 终稿(firmware-analysis/protocol/PROGRESS),132 测试全绿
|
2026-07-24 11:53:43 +00:00 |
|
agent
|
3b92c382fc
|
feat(ppclock): SUOTA 固件升级(ota.py + CLI ota 子命令 + 预检),APK互证报告入库,123 测试全绿
|
2026-07-24 11:26:14 +00:00 |
|
agent
|
7079053dde
|
feat(tools): fw_info/fw_pack 镜像解析重打包(CRC32验证+字节级往返),112 测试全绿
|
2026-07-24 11:09:44 +00:00 |
|
agent
|
5ff399673a
|
feat(ppclock): batch JSONL 批量执行(单连接),104 测试全绿
|
2026-07-24 11:03:36 +00:00 |
|
agent
|
f291c61676
|
feat(ppclock): 倒计时前缀文字位图(clock 拆包/calendar 990 序列)+ CLI --prefix/--show-calendar,102 测试全绿
|
2026-07-24 11:01:44 +00:00 |
|
agent
|
2b01e5f589
|
feat(ppclock): 命令层/传输层/CLI/本地模板渲染,90 测试全绿
|
2026-07-24 10:57:25 +00:00 |
|
agent
|
6f5b0c60be
|
feat(ppclock): protocol.py 协议编解码 23 测试全绿(BCD语义经JS证据校正)
|
2026-07-24 10:43:33 +00:00 |
|