Skip to content

Conversation

@Gui-Yue
Copy link

@Gui-Yue Gui-Yue commented Jan 16, 2026

PR Comment

Fix

  • 依赖兼容性修复:锁定与 MCP SDK/zod-to-json-schema 兼容的版本组合,避免主版本变更引入行为差异。
  • MCP 客户端构造签名对齐,确保与新版 SDK 兼容。
  • JSONStore/WAL 持久化容错:写入/追加/重命名遇到 ENOENT 自动补目录并重试,避免并发清理导致丢写或 monitor:error。
  • Resume 对齐与稳定性:补扫 progress:done 作为恢复书签,事件游标同步、跳过旧 done,避免错位与重复消费。
  • Crash resume 可封存:审批进入 APPPROVAL_REQUIRED 即落盘 toolRecords,确保崩溃封存可追踪。
  • 工具调用元信息与代理:tool_use 支持 meta(含 thoughtSignature),代理配置透传,异常分支补发 done,保障事件流一致。
  • 测试临时目录管理:tests/.tmp 收敛到忽略与清理,避免污染与误报。

Feature

  • 新增 OpenAI provider(Chat Completions):支持流式输出、工具调用、usage 映射、OpenAI 兼容 baseUrl、中转与代理;对外导出 provider,并提供可运行示例与脚本。
  • 新增 Gemini provider:支持流式输出、工具调用、systemInstruction 合并、schema 清洗、thoughtSignature 传递、baseUrl 规范化;对外导出 provider,并提供可运行示例与脚本。
  • 终端 Markdown 渲染器用于示例输出,提升可读性。

Test

  • 单测对齐新类型与语义:ToolCallRecord/AgentInfo 更新、fs_grep 路径修正、todo_write 失败分支改为错误对象断言、ToolRunner 队列稳定性断言调整。
  • Provider Contract 单测:统一校验跨 provider 的 system/tool_result 语义一致性。
  • Provider 测试基础设施:provider-harness、provider-events、provider-tools 用于统一流式/工具/审批验证。
  • E2E 覆盖:Anthropic/OpenAI/Gemini 真实 API 场景(缺 key 自动跳过)。
  • 集成测试稳定化:审批流程统一由 harness 驱动,子代理/Room/Scheduler/Hook/Resume/Todo/CustomTool 场景收敛到事件侧断言并修复挂起问题。
  • 测试环境加载:自动读取 .env.test(支持 DOTENV_CONFIG_PATH),统一 provider 环境变量解析与缺失原因说明。

  - add safe write/append/rename helpers to tolerate ENOENT
  - use safe helpers across WAL/events/history/snapshots
  - update MCP client init for new sdk signature
  - refresh MCP/Zod dependency versions
* add provider for gemini and openai
* add tests for providers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant