Skip to content

Agent2Canoe v0.3.0-dev.0 — Safe LLM planning preview

Pre-release
Pre-release

Choose a tag to compare

@suzike suzike released this 30 Jul 10:35

Agent2Canoe v0.3.0-dev.0

这是 Agent2Canoe v0.3.0 集成开发线的首个预发布版本,面向 Codex、
Claude Code 和其他 MCP 客户端的安全 CANoe 自动化验证。

此版本是 Pre-release,不会替代 v0.2.0 稳定版的 Latest 状态。

核心新增

  • 增加供应商无关的 LLM 结构化规划适配器。
  • 增加 get_planning_contractplan_model_output MCP 工具。
  • 增加 GET /planning/contractPOST /plans/model REST 接口。
  • 使用能力快照 SHA-256 指纹绑定模型所见 CANoe 工程上下文。
  • 使用动作级 JSON Schema、参数白名单、输出大小与步骤数量限制约束模型。
  • 增加短时、单次、参数绑定的确认令牌,替代布尔确认。
  • 增加 SQLite 计划、审计、幂等结果和恢复检查点持久化。
  • 增加 API Key 摘要认证、mTLS 和五类角色权限。
  • 增加可预览、冲突检测、回读验证和补偿回滚的网络事务。
  • 增加 CANoe 版本 provider、兼容矩阵和逐分区运行时能力探针。

LLM 安全边界

模型只负责提出候选计划,不能直接访问 CANoe COM。服务端会拒绝:

  • 模型提交的步骤 ID、确认状态、令牌或凭据;
  • 不在 Schema 中的动作和参数;
  • 过期或来自其他会话的能力指纹;
  • Markdown 围栏、重复 JSON 字段、NaNInfinity
  • 模型臆造的信号、系统变量、诊断设备和测试模块;
  • 绕过专项协议的网络事务或恢复操作。

候选计划通过后仍需人工批准副作用步骤,并使用参数绑定令牌执行。

CANoe 12 实机证据

在 Windows x64、Vector CANoe 12.0.75 /pro 上通过 MCP 完成:

  • 打开 Vector Easy.cfg
  • 识别 CANoe 12.0.75legacy-pre-15.3 provider;
  • 发现 19 项能力、2 个网络、1 个数据库和 4 个信号;
  • 启动测量并回读 Running;
  • 停止测量并回读 Stopped。

CANoe 12 的 COM Quit() 偶尔仍会留下无窗口的 -Embedding 进程,该问题继续作为
P2 跟踪;无法唯一识别实例时 Agent2Canoe 不会自动强杀。

验证基线

  • 默认测试:334 passed,27 skipped。
  • Python 3.10 自动化子集:85 passed。
  • Python 3.14 自动化子集:85 passed。
  • Ruff 静态检查:通过。
  • MkDocs 严格构建:通过。
  • sdist、Wheel 构建、内容检查及隔离导入:通过。
  • maindevelop/v0.2.0 GitHub Actions 自动化和静态分析:通过。

安装包

Release 附带:

  • agent2canoe-0.3.0.dev0-py3-none-any.whl
  • agent2canoe-0.3.0.dev0.tar.gz
  • SHA256SUMS.txt

文件完整性以同一 Release 中的 SHA256SUMS.txt 为准。

升级提示

  • 这是开发预发布版;生产项目可继续固定 v0.2.0
  • Codex 和 Claude Code 更新代码后需要重启 MCP 会话,才能看到新增规划工具。
  • 自由自然语言任务应先读取规划契约,再提交模型候选。
  • confirmed=trueconfirmed_step_ids 不再提供授权,调用方必须迁移到确认令牌。
  • 物理 XL Driver 写映射仍保持关闭,仅提供前提审计。