Modules
CMDC — Elixir Agent Kernel 公共 API 入口。
Agent 状态机 — 使用 :gen_statem 编排四状态循环。
默认基座提示词。
CMDC OTP 应用入口。
CMDC.Backend behaviour — 文件 / 状态 / 远程存储的统一访问层。
路由后端 — 按路径前缀转发到不同子 backend。
本地文件系统 backend。
backend.edit/4 返回。
文件数据 typed map。
backend.download_files/1 单文件结果。
目录条目元信息。
backend.upload_files/1 单文件结果。
backend.glob/2 返回。
grep 单条匹配。
backend.grep/3 返回。
backend.ls/1 返回。
backend.read/3 返回。
backend.write/2 返回。
内存 backend — 文件存于 ETS。
Agent 蓝图声明式定义,可复用的 Agent 配置模板。
内置 Plugin 基座蓝图。
会话快照(checkpoint)一等公民 API。
Checkpoint 存储后端 behaviour。
轻持久化 DETS 后端 — 单节点磁盘持久化。
默认 ETS 后端 — 进程内、零依赖、最快。
会话快照标准 payload。
CMDC 会话的类型化配置 struct。
工具和插件的执行上下文,typed struct 杜绝 map 黑洞。
Agent 运行时结构化事件。
基于 Registry 的会话事件发布/订阅系统,附带可选的 ring buffer 用于断线重连补帧。
出站事件推送契约。
本地内存 Gateway 实现(嵌入式部署模式)。
MCP 工具桥接器 — 将 MCP server 工具包装为 CMDC.Tool behaviour 模块。
Anubis MCP 客户端封装。
MCP server 配置发现与解析。
MCP 客户端进程树监督者。
Memory behaviour 接口 — 可插拔的语义记忆存储。
基于 ETS 的内存 Memory 实现。
Agent 会话中的消息结构体。
创建 CMDC Agent 的类型化选项 struct。
结构化执行计划 — ADP Ch6 Planning Pattern 的运行时实体。
Plan 里的单个步骤。
Plugin behaviour 定义。所有插件实现此 behaviour。
LLM-as-Judge 内容安全拦截 Plugin。
P1 成本硬限制插件 — Token 和成本预算控制。
情景记忆 few-shot Plugin。
P0 事件日志插件 — 将 Agent Pipeline 事件以 JSON Lines 格式追加写入日志文件。
P0 人类审批插件 — 高风险工具执行前等待人类确认(HITL)。
大工具结果自动 offload 到 backend。
压缩前持久化关键事实插件。
P1 持久记忆插件 — 加载 AGENTS.md 并注入系统提示词。
P2 模型路由插件 — 按规则在 before_request 自动切换 LLM 模型。
P1 输出过滤插件 — 对 LLM 回复进行 PII/敏感词过滤。
P1 悬空工具调用修复插件。
P2 规划插件 — 在用户 prompt 提交前强制 LLM 先生成结构化 Plan。
P1 Anthropic Prompt Caching 插件。
P1 异常恢复策略链插件 — 工具失败时按策略链逐级恢复。
P2 反思循环插件 —「生产者-评审者」模型。
P0 安全防护插件 — 路径黑名单 + 命令黑名单 + 审计日志。
Plugin 注册表。
req_llm 的薄封装层,负责发起流式 LLM 请求。
将 req_llm 的 StreamResponse 转为 gen_statem 消息的桥接进程。
文件操作和命令执行的抽象层。
Sandbox 的本地 OS 默认实现,直接调用本地文件系统和 shell。
每个会话的进程树监督者。
Skill(技能)元数据 struct + 发现与加载系统。
Skill 选择器 behaviour — 为智能 Skill 筛选预留扩展点。
子代理声明式规格 struct。
子代理进程树动态监督者。
CMDC 标准 :telemetry 事件契约。
公开的 token 用量 struct。
Agent 工具 behaviour 接口定义。
向用户提问,等待用户回答后继续。
手动触发上下文压缩。
通过精确字符串替换编辑文件(str_replace 模式)。
文件名模式匹配。
跨文件 regex 内容搜索,支持 glob 过滤。
列出目录内容。
读取文件内容,支持 offset/limit 分页。
在 shell 中执行命令,支持超时和大输出自动存文件。
子代理工具 — 在独立进程中启动子 Agent 执行委托任务。
将内容写入文件,必要时自动创建父目录。
更新 Agent 的 Todo 任务列表。