用户可见的版本变化摘要。完整 release notes 见 GitHub Releases。
兼容边界与迁移代码见 升级指南。
0.6.0 — 2026-05-25(唯一 breaking change + 5 项加性扩展)
唯一 minor breaking:
CMDC.Sandbox.Local:virtual_mode默认false → true, 路径越界(../~// 跨目录绝对路径)默认拦截。其他全部加性扩展。务实裁剪:核心 30+ EventBus 流式事件 / 完整 GroupSession
:llm_driven/ Plugin runtime attach/detach 等留 v0.6.x 按真实需求滚动加。详见底部 「Out of Scope」段。
Breaking
CMDC.Sandbox.Local:virtual_mode默认true—— 拒绝路径越界:- path 含
..("../etc/passwd") - path 以
~开头 ("~/.ssh/id_rsa") - 绝对路径解析后不在
:working_dir内
违反返
{:error, "路径越界..."}。file_exists?/2在越界路径上返false。1 行 opt-out 回退老行为:
CMDC.Sandbox.Local.read_file("../parent.txt", working_dir: dir, virtual_mode: false # ← 显式回退到 v0.5 行为 )自定义
CMDC.Sandboxbehaviour 实现不受影响(virtual_mode 是Sandbox.Local私有细节)。完整迁移指南见升级指南。
- path 含
新能力 1 — 群体 Agent 协调(EventBus.subscribe_group/2 + group_id 全链路)
多 Agent 编排 / SubAgent / Reviewer Pattern 场景的统一订阅维度, 集成方不必再为 N 个 session_id 各订阅一次。
CMDC.Options.group_id :: String.t() | nil—— Agent 启动时声明所属群组; SubAgent 默认继承父 Agentgroup_id,也可显式覆盖CMDC.Agent.State.group_id+CMDC.Context.group_id—— 透传到 Emitter 广播路径CMDC.EventBus.subscribe_group(group_id, opts)—— 订阅一个群组下所有 Agent 的事件- 支持
since:/types:filter(与subscribe/1一致) - 同名重订阅幂等(不重复加 monitor)
- 支持
{:cmdc_event, sid, event}payload 不变,订阅方按 sid 区分来源
新能力 2 — CMDC.Memory :tags 一等公民 + c:schema_version/0
CMDC.Memory.entry():tags :: [String.t()]一等公民字段(默认[]) —— 老 entry 写入时省略字段,backend 自动落[];tags_*filter 时视为不匹配search/3filter 新增:tags_any/:tags_all—— entry.tags 与列表 任一交集 / 全部包含c:schema_version/0可选 callback —— Backend 标识 entry shape 版本; 未实现 backend 默认返1,CMDC.Memory.resolve_schema_version/1安全读取- Backend 实现要求:
store/3自动注入缺省:tags,并为该字段建专用索引 (PG GIN / ETS 二级索引) - 配套
cmdc_memory_pg 0.1.2升级 backend tags 列 + GIN 索引 + schema_version=2 迁移
新能力 3 — Provider.Registry.register/2 :resolver_fn opt
多租户 production 部署常用 Cloak / Vault 做敏感凭据静态加密;
v0.6 加 :resolver_fn opt 让 Registry 在 lookup/1 时懒解密,
明文不入 ETS。
Provider.Registry.register(profile, opts)opts 新增:resolver_fn——(provider_opts) -> {:ok, resolved_opts} | {:error, reason}Provider.Registry.lookup/1—— 命中 profile 时调用resolver_fn;{:error, _}时 emit{:provider_resolver_error, ...}fail-safe 保留老 profile- 未传
:resolver_fn时行为 100% 等同 v0.5(直接透传)
新能力 4 — CMDC.update_plugin_opts/3 长会话 Plugin 配置热更
长会话生产场景动态调整 Plugin 运行时参数(CostGuard 阈值随付费等级 / HumanApproval 白名单运维期调整 / EventLogger 日志级别即时切换等), 无需停 Agent 重启。
CMDC.update_plugin_opts(session, plugin_module, new_opts) :: :ok—— facade cast API,立即返回:ok- 行为语义:
- cast 入队
state.pending_plugin_opts - 同 plugin 多次更新 LWW(后写覆盖前写)
- Agent idle 状态批处理 flush;running/streaming/executing_tools 走
gen_statem
:postpone,回 idle 后自动重投递 - 每条 flush 先走
:before_plugin_opts_updatePlugin hook(可被 abort/skip 拦截) - 通过 hook 后调用 plugin 的
c:on_config_update/2(若实现)或默认替换语义
- cast 入队
CMDC.Plugin加可选 callbackc:on_config_update/2——(new_opts, plugin_state) -> {:ok, new_state} | {:error, reason}, 未实现 plugin 走默认替换语义(keyword + map →Map.merge)- EventBus
{:plugin_opts_updated, %{plugin, success?, error, mode}}—— flush 完成事件,mode取:callback | :default | :blocked
新能力 5 — CMDC.AuditEvent 收敛版(15 EventBus + 18 telemetry + resolver + schema v2)
v0.5.4 引入轻量版 from_turn/2 + 6 telemetry;v0.6 扩为收敛版。
schema_version 1 → 2—— 加:tags :: [String.t()]字段(默认[]), 老 v1 消费者读 v2 兼容(忽略:tags字段即可)from_event/3—— EventBus 事件 → AuditEvent,覆盖 15 个核心事件:- 会话:
:agent_start/{:agent_end, ...}/{:agent_abort, ...} - 审批:
{:approval_required, ...}/{:approval_resolved, ...} - 子代理:
{:subagent_start, ...}/{:subagent_end, ...} - 工具:
{:tool_execution_start, ...}/{:tool_execution_end, ...}/{:tool_blocked, ...} - 系统:
{:compact_start, ...}/{:compact_end, ...}/{:model_switched, ...} - 错误:
{:stream_error, ...}/{:error, sid, reason}
- 会话:
from_telemetry/4—— 老 6 事件 API 完整保留(3 元 arity),新增 12 事件:plugin.pipeline.{start,stop}/plugin.crash/compactor.run.{start,stop}/checkpoint.{save,load}/subagent.{start,stop}/agent.hibernate.configured/provider.registry.{lookup,register}- 3 个 resolver 注入点 ——
:actor_resolver/:target_resolver/:tags_resolver(fail-safe,抛异常自动 rescue 用默认值) - 双轨等价 —— EventBus from_event ↔ telemetry from_telemetry, tool exec 双轨 action / target_id / metadata 一致
from_turn/2命名稳定 —— 保留 v0.5.4"agent.turn.finished|aborted"(不强行统一到"turn.stop",避免破坏已落库过滤条件)
兼容性 — 全加性,零破坏(除 Sandbox virtual_mode)
| 模块 / API | 老调用是否需要改 |
|---|---|
CMDC.subscribe/1 | 不需要(subscribe_group/2 是新增 API) |
Memory.entry() 不含 :tags | 不需要(backend 自动注入 []) |
Memory.search/3 老 filter | 不需要(:tags_* 是新增 filter) |
Provider.Registry.register/2 不传 :resolver_fn | 不需要(默认透传) |
Plugin 不实现 on_config_update/2 | 不需要(默认替换语义兜底) |
AuditEvent.from_turn/2 老调用 | 不需要(命名稳定 + opts 第三参可选) |
AuditEvent.from_telemetry/3 老调用 | 不需要(3 元 arity 完整保留) |
AuditEvent.schema_version 1 → 2 | 不需要(v1 消费者忽略 :tags 字段) |
Sandbox.Local 隐式 virtual_mode | 需要(1 行 opt-out 或重设 working_dir) |
测试增量
- 主库:1349 → 1449 tests + 21 doctests + 0 failures + 5 skipped + 1 excluded(+100 tests)
cmdc_memory_pg:8 → 18 tests + 0 failures(+10 tests)
Out of Scope(v0.6.x patch 路线图,按真实反馈滚动加)
- ❌ AuditEvent 30+ 流式 / 业务事件全集映射(
:message_delta/:thinking_delta/:status_update/:tool_calls/:context_overflow/:retry等)—— v0.6 仅覆盖核心 15,剩余按真实反馈 v0.6.x 滚动加;集成方可用 resolver 自扩展 - ❌ 完整
GroupSession:llm_driventurn_policy —— 行业无成熟参考, 需 ≥3 集成方真实需求触发;v0.6 仅完成subscribe_group/2订阅维度 - ❌ Plugin runtime attach/detach —— Plugin 间互引用 / 启动序列依赖比 Tool 复杂得多, 按需 RFC 后落地;v0.6 仅完成「同 plugin opts 热更」
0.5.4 — 2026-05-25
Patch release — 三项加性增强(ContentPolicy 真 LLM judge / EpisodicMemory 多租户严格模式 / AuditEvent helper)。 全加性扩展,零破坏 —— 不配置新选项时行为完全等同 0.5.3。
新能力
CMDC.Plugin.Builtin.ContentPolicy真 LLM-as-Judge ——:judge_model配置非 nil 时 默认走ReqLLM.generate_object/4结构化 JSON 输出(此前默认仅启发式)- schema 强制三字段
compliance_status/evaluation_summary/triggered_policies - 新增
:judge_timeoutopt(默认 8s)+judge_object_schema/0调试 helper - 优先级:
judge_fn(注入)>judge_model(req_llm)> 启发式 fallback
- schema 强制三字段
CMDC.Plugin.Builtin.EpisodicMemory多租户严格模式 ——:require_user_idopt (默认false兼容)开启后,ctx 无user_id时跳过 session_start 检索 + session_end 写入, 避免多租户场景潜在数据互窜CMDC.AuditEventstruct + helper —— 行业标准 audit_log 6 元组,一行落库from_turn/2——:after_turnPlugin hook payload 直接转 AuditEvent(高价值快路径)from_telemetry/3—— 6 个核心 telemetry 事件映射(agent.turn / llm.request / tool.exec)@derive Jason.Encoder+@enforce_keys,直接Jason.encode!落库- cookbook 第 11 节附完整 Plugin + Postgres schema 参考
- 主库测试 1315 → 1349 tests + 21 doctests + 0 failures(+34 tests)
配套子库 patch
cmdc_memory_pg 0.1.1——EpisodicMemoryBackend多租户隔离安全修复- 新增
:on_missing_tenantopt(:return_empty默认 /:return_error严格模式) - 修复 v0.1.0 注释声称"避免误泄"但代码不过滤的 bug
- 多租户集成方强烈建议升级
- 新增
兼容性
向后兼容 0.5.3,无 breaking change。所有新功能 opt-in:
- ContentPolicy 不配
:judge_model时行为等同 0.5.3(启发式 fallback) - EpisodicMemory
:require_user_id默认false,老用户零影响 - AuditEvent 是全新模块,不订阅就零开销
多租户最佳实践
plugins: [
{CMDC.Plugin.Builtin.EpisodicMemory,
memory_module: CMDCMemoryPg.EpisodicMemoryBackend,
require_user_id: true}, # 主库 Plugin 层
{MyApp.Plugins.AuditSink, repo: MyApp.Repo} # 用 CMDC.AuditEvent 落 audit_logs
]0.5.3 — 2026-05-18
Patch release — Skill v2 第二阶段(allowed_tools 白名单 enforce)+ 3 份 observability 配方。
全加性扩展,零破坏 —— 不挂 SkillGuard Plugin 行为完全等同 0.5.2。
新能力
CMDC.Plugin.Builtin.SkillGuard—— Skillallowed_tools白名单 enforcer- 选项
:skills/:active/:enforce_mode(:strict/:warn) - 并集语义:多 active Skill 的 allowed_tools 取并集;任一未设白名单即不限制
priority/0 = 20在 SecurityGuard:10 之后业务 Plugin 之前
- 选项
- 3 份 observability 配方 (
docs/recipes/observability/):- Langfuse OTLP(AI Agent 专用 trace/generation/scoring)
- LangSmith OTel(LangChain 生态统一观测)
- Grafana Tempo + Loki + PromEx(自建可观测性栈完整链路)
- 主库测试 1300 → 1315 tests + 21 doctests + 0 failures
兼容性
向后兼容 0.5.2,无 breaking change。SkillGuard 显式 opt-in(不挂载就不工作)。 可选采用项:
- Skill 项目用户:挂
SkillGuardPlugin 启:enforce_mode: :warn观察一段后切:strict - 可观测性接入:参考
docs/recipes/observability/选 1 份按集成方栈接入
完整 Skill v2 后续 (运行时 active 切换 / cmdc_tui /skills slash) 留 v0.5.4。
0.5.2 — 2026-05-18
Patch release — Skill v2 多源叠加 + Provider Registry 双节点 :pg 协议验证。
全加性扩展,零破坏 —— 老 Skill.discover([dir]) 调用形式零行为变化。
新能力
CMDC.Skill:source字段 ——:base | :user | :project | :team | :custom | nil标识 Skill 来自哪一层目录,便于 Plugin / TUI 显示来源Skill.discover/1多源标签重载 ——[{:base, dir1}, {:user, dir2}, {:project, dir3}]形式,同名 Skill 后者覆盖前者,返回的%Skill{}携带胜出层的 source- Provider Registry handler 协议测 —— 3 个
{:cmdc_registry_remote, _}远端消息处理单测 + 1 个@tag :distributed真双节点:pg集群验收测 (默认 exclude,CI 需mix test --include distributed跑)
兼容性
Skill.discover([dir])老调用零行为变化(:source = nil)Skill.t()struct 加字段,老 pattern match 不受影响
完整 12E Skill v2 后续(allowed_tools 生效 + cmdc_tui /skills slash)
留 v0.5.3 + cmdc_tui 0.1.2 落地。
0.5.1 — 2026-05-18
Patch release — 多租户场景 CMDC.Provider.Registry 命名 Provider Profile 落地,
一行 model: "registry:tenant-A:claude-sonnet-4-5" 替代 200µs/Agent provider_opts 拼装。
全加性扩展,零破坏 —— 老 model 字符串行为不变,老 Plugin / 老订阅者 / 老 Snapshot 零影响。
新能力
CMDC.Provider.Registry— Local-first ETS + GenServer 写串行化的运行时寻址中心- 5 公开 API:
register/2/lookup/1/unregister/1/list/0/subscribe/1 - hot-path
lookup/1≤ 1 µs(ETS:set+read_concurrency: true) subscribe/1进程退出时 monitor 自动清理订阅记录
- 5 公开 API:
CMDC.Provider.Registry.Broadcasterbehaviour(1 callback)解耦跨节点同步Broadcaster.Noop(单机)+Broadcaster.PG(默认 best-effort)- 集成方可实现 Phoenix.PubSub / Redis 自定义版本(见 cookbook §6.3 完整示例)
- model 字符串协议
"registry:profile:model_id"—Options.model字段透明支持, Agent.init / switch_model 自动解析 + 透写provider_opts;老 model 字符串零行为变化 {:error, {:registry_profile_missing, name}}错误码 —create_agent/resume_session!在 Registry 缺失对应 profile 时返回,集成方可重新 register 后重试- Telemetry 扩展 — 从 16 事件扩到 18 个,新增
[:cmdc, :provider, :registry, :lookup/:register]事件供 Prometheus / Datadog 监控 profile 命中率
兼容性
向后兼容 0.5.0,无 breaking change。可选采用项:
- 多租户场景:启动时
CMDC.Provider.Registry.register/2灌入持久层所有 profile - Blueprint:用
model: "registry:tenant-A:claude-sonnet-4-5"字符串协议 - 自定义跨节点同步:实现
Broadcasterbehaviour 接 Phoenix.PubSub
完整配方见 guides/cookbook.md §6.3「多租户 Provider Profile」。
0.5.0 — 2026-05-18
Minor release — 长会话多租户场景的内存优化 + 跨进程会话恢复 facade + 自动持久化 Plugin + Telemetry 可观测性。 全加性升级,零破坏——所有 v0.4.x 代码不动即可跑通。
新能力
- Hibernate 配置 —
CMDC.Options.hibernate_after_ms让 Agent 进程 idle 超时自动 hibernate(走 OTP 原生:hibernate_after选项), 单进程 heap ~8KB → ~1.5KB(节省 ~80% 内存),长会话多租户必备 - Checkpoint Facade —
CMDC.checkpoint!/2+CMDC.resume_session!/2, 一行抓快照 + 一行跨进程恢复对话;序列化策略自动剥离运行期字段, plugin 通过:session_starthook 重建状态 Checkpoint.Snapshot.redact/2— backend 写前预处理 hook, 让集成方接 Cloak / KMS 实现 encryption-at-rest(CMDC 不强制加密策略)AutoCheckpointPlugin — OR 触发自动存档(every_n_turns / on_tools / on_events 任一命中即存)+ 自动 GC(max_checkpoints + ttl_seconds), 走CMDC.AsyncTaskSupervisor异步执行不阻塞 Agent- Telemetry 扩展 — 从 6 个事件扩到 16 个,新 10 个 system-wide 事件
(Plugin Pipeline / Compactor / Checkpoint / SubAgent / Hibernate /
Plugin crash)走
:telemetry.execute直接埋点,避免 per-session 业务订阅噪音 CMDC.AsyncTaskSupervisor加入 application supervision tree, 供 AutoCheckpoint + 其他需要 fire-and-forget 异步任务的 plugin 使用
同窗口发布子库
cmdc_memory_pg 0.1.0— PostgreSQL backend 二件套 (Checkpoint + EpisodicMemory),含 Ecto migration + Cloak 集成示例; v0.1 不含 pgvector / 3-tier Memory / Composite / KV jsonbcmdc_test 0.1.0— 测试 helpers 4 大模块(MockProvider Builder API + Plugin.run_hook + Plugin.Spy + EventCapture + Assertions), 替代集成方各自重写的 mock LLM 模板
兼容性
向后兼容 v0.4.x,无 breaking change。可选采用项:
- 长会话场景:
hibernate_after_ms: 60_000 - 持久化场景:挂
AutoCheckpointPlugin - 可观测性:attach 10 个新 telemetry 事件接 Langfuse / Datadog
0.4.1 — 2026-05-16
纯文档 patch,零代码 / 零行为变更。
- 重组 hex doc:按"用户使用顺序"分 9 大模块组(入门 / 事件与状态 / 工具 / Plugins / 存储与沙箱 / 扩展点 / 集成 / 内核)
- 新增 7 篇入门指南:5 分钟上手 / 核心概念 / Agent 状态机与事件 / 写一个 Plugin / 写一个 Tool / 常见配方 / 升级指南
- 12 个内部协作模块(State / Pipeline / Stream / ToolRunner / Compactor 等)
改为
@moduledoc false,hex doc 侧边栏不再展示——避免误导用户调用 - 清理
@moduledoc/@doc中的内部任务编号与版本碎注(~390 处), 让模块文档聚焦"它做什么、怎么用、参数、示例、约束" - README 精简到 90 行,专心做 hex 包首屏 first impression
主库与 cmdc_gateway 0.4.1 同步发布。
0.4.0 — 2026-05-16
新能力
- 会话 checkpoint —
CMDC.Checkpointfacade +Checkpoint.Backendbehaviour + 内置 ETS / DETS 两个 backend;BEAM 重启 / Gateway 滚动 / 跨设备恢复同一会话 CMDC.Backend文件 / 状态 / 远程存储统一抽象 — 10 callback + 8 种 Result struct + 4 个标准错误码;内置State / Filesystem / Composite三件套,Composite支持 prefix 路由(一个会话同时挂 sandbox + PG memory- ETS history)
- Sandbox
virtual_mode— 拦../~traversal +O_NOFOLLOWsymlink 防护;生产推荐开启 - 大工具结果 0 token 占用 —
LargeResultOffloadPlugin 把 200KB+ result 写到 backend,message history 只留 head/tail preview + 路径, Agent 通过read_file(path, offset, limit)分页读取 - HumanApproval
approve_always白名单 — session-scopedMapSet<{tool, command_family}>,连续审批同类命令 5 次后自动放行; 对接 ACP 三态权限 - 内容安全 LLM-as-Judge —
ContentPolicyPlugin,4 大策略类别 (越狱 / 有害 / 离题 / 品牌违规),默认启发式 + judge_fn 扩展点 - 情景记忆 few-shot —
EpisodicMemoryPlugin,成功对话自动转 few-shot, 按 user_id 多租户隔离 - Skill v2 spec 对齐 — Anthropic Agent Skills 规范(license / compatibility / metadata + name 规范 + 10MB 上限)
CMDC.Telemetry6 个标准:telemetry事件契约,零侵入接 Langfuse / LangSmith / Tempo- A2A webhook 异步模式(
cmdc_gateway0.4)— 立即返回 accepted + 后台派发回调(HMAC-SHA256 签名 + 3 次指数退避重试),>5 分钟长任务的 可靠回调机制
测试
cmdc 主库:1219 tests + 21 doctests,0 failures cmdc_gateway:125 tests,0 failures(含 12 个 webhook 测试)
兼容性
向后兼容 v0.3.x,无 breaking change。
0.3.0 — 2026-05-16
Highlights
- Skill 真实自进化(
cmdc_skill_engine0.2)— Store backend 抽象 (ETS + SQLite)+ LLM-powered Analyzer + Semantic SkillRanker(BM25 + quality + embedding 混合)+ QualityTracker 自动停用 + 1000 轮收敛压力测试 - 多 Agent 协作(
cmdc_orchestrator0.3)— Runtime + AgentNode 三模式 (standalone / pool / subagent)+ Debate / Hierarchy / Router-LLM 三种 DAG 节点 - A2A 协议同步 + SSE(
cmdc_gateway0.3)—tasks/sendJSON-RPC 2.0 +tasks/sendSubscribeSSE 流推送 + Guardrails Plug 链 - Planning + Reflection(核心库 v0.2.1)— Producer-Reviewer 分离 + 结构化 Plan + 动态 system context 注入;Reflection 支持独立 Reviewer SubAgent
公共 API 改进(13 条)
来自实战集成方反馈:
- 工具执行耗时自动埋点(
pending_tools[].started_at_ms+:tool_execution_metrics事件) - 新增
:after_turnPlugin hook(每 turn 回 idle 前触发,含 outcome / abort_reason / messages_diff / token_usage_diff) switch_model/3支持同步替换provider_opts(base_url / api_key 跨厂商切换)attach_tools / detach_tools / replace_tools批量原子 APImonitor/1结构化崩溃 reason 表EventBus.subscribe/2加:since+:typesreplay 白名单status/1扩展turns_count / messages_count / active_since_ms / token_usageabort/2:reason接受 string + 6 个标准 reason 白名单归一化
Breaking Change
公共 API(monitor / abort / attach_tool / detach_tool / status / messages / agent_pid / steer / stop / switch_model / replace_tools / attach_tools / detach_tools)从 raise 改为 {:ok, _} | {:error, _} 返回。
迁移代码见 升级指南。
0.2.1 — 2026-04-25
- Planning Plugin —
plan_first自动让 LLM 先生成 markdown checklist, 解析为%CMDC.Plan{}struct,支持replace_steps / add_step / insert_step / remove_step动态调整 - Reflection Plugin — 多轮评审循环,可选独立 Reviewer SubAgent (Producer-Reviewer 分离),未通过则注入修改指令
- Plugin Action 扩展 —
:before_prompt支持:intervene;emit 支持 4 种形态(单事件 / 多事件 / 4 元简写 / 3 元 tuple payload) - Dynamic System Context — Plugin 可通过
{:emit, {:update_system_context, k, text}, state}动态注入 system prompt,Planning 用此持续把 plan 注入 后续请求
0.2.0 — 2026-04-24
Highlights
- Steering 软中断 —
CMDC.steer/2API + 3 个新事件 (:steering_received/:steering_applied/:tool_skipped_for_steering), 正在执行的 killable 工具被 brutal_kill,下轮 LLM 调用看到合并后的新 prompt - PromptMode 4 模式自动降级 —
:full / :task / :minimal / :none, SubAgent 默认:task节省 30-50% system prompt token - MemoryFlush Plugin —
:before_compact钩子提取关键事实写MEMORY.md,下次会话由MemoryLoader自动加载,闭环长会话不失忆 - ModelRouter 业务规则扩展 —
:token_budget_lt/:task_complexity/:time_of_day_in/:user_tier/:user_data业务友好条件,从:intervene系统消息改为更干净的:switch_modelPlugin action
公共 API 改进
CMDC.Options加:user_data :: map()透传 +SubAgent自动继承CMDC.Options加:messages :: [Message.t()]注入历史(持久化恢复场景)CMDC.approve/3+reject/3加:auto_resume,自动续 turn 让 LLM 重试subscribe(string)修字符串 session_id 入参的 bug;新增公开CMDC.user_respond/3%CMDC.TokenUsage{}struct 公开化,{:agent_end, messages, token_usage}第三参数从 plain map 改为 struct(自动归一化 Anthropicinput_tokens/output_tokens等别名)abort/2加:reason / :clear_queue / :kill_tools选项;100ms 内保证:agent_abort事件到达- 运行期
switch_model/2+attach_tool/2/detach_tool/2热更工具集 - EventBus per-session ring buffer +
subscribe/2:since重连补帧 status/1扩展pending_tools / pending_approvals / steering_queue_size / prompt_queue_sizeCMDC.monitor/1返回结构化{:cmdc_down, ref, sid, reason}
0.1.1 — 2026-04-08
修复 hex 包文件清单 + 文档若干小问题。
0.1.0 — 2026-04-08
首个 Hex 公开版本。覆盖:
- Agent kernel:
gen_statem4 状态机 + Plugin Pipeline(11 hook × 7 action) - 内置 6 个 Plugin(SecurityGuard / EventLogger / HumanApproval / MemoryLoader / PatchToolCalls / PromptCache)
- 内置 11 个 Tool(ReadFile / WriteFile / EditFile / Shell / Grep / ListDir / Glob / Task / WriteTodos / AskUser / CompactConversation)
- Provider 层(
req_llm封装),MCP 集成,Skill渐进式发现,Blueprint声明式 Agent,Sandbox.Local,Memory.ETS,Compactor上下文压缩