Commit Graph

3 Commits

Author SHA1 Message Date
root 3728bb007b fix 2025-07-10 19:32:44 +08:00
root e865e3c68a fix 2025-07-10 17:28:13 +08:00
root e1327c695b feat: 实现 JSON-RPC 通信协议替代字符串匹配
🚀 核心改进:

1. 创建标准化 JSON-RPC 2.0 通信模块:
   - 新增 jsonrpc.py 模块,实现完整的 JSON-RPC 2.0 规范
   - JSONRPCResponse 类处理响应和错误
   - ProgressReporter 类使用通知机制报告进度
   - 标准化错误代码定义 (JSONRPCError)

2. Python 脚本集成 JSON-RPC:
   - 视频生成器支持 request_id 参数
   - 使用结构化进度报告替代简单字符串
   - 错误处理通过 JSON-RPC 错误响应
   - 保持向后兼容的 progress_callback

3. Rust 端 JSON-RPC 解析:
   - 识别 'JSONRPC:' 前缀的结构化消息
   - 区分进度通知和最终结果
   - 支持直接 JSON 结果的备用解析
   - 详细的调试日志和错误处理

4. 通信协议标准化:
   - 进度消息:{"jsonrpc":"2.0","method":"progress","params":{...}}
   - 结果消息:{"jsonrpc":"2.0","id":"...","result":{...}}
   - 错误消息:{"jsonrpc":"2.0","id":"...","error":{...}}
   - 时间戳和详细信息支持

5. 错误处理增强:
   - 标准化错误代码 (-32001 到 -32005)
   - 详细的错误信息和上下文
   - 优雅的降级和备用机制
   - 跨语言错误传播

 优势:
- 可靠的结构化通信 ✓
- 标准化协议,易于扩展 ✓
- 详细的进度跟踪和错误处理 ✓
- 向后兼容现有代码 ✓

现在通信机制更加可靠,不再依赖容易出错的字符串匹配!
2025-07-10 13:02:04 +08:00