API Reference cmdc v#0.5.2

Copy Markdown View Source

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。

结构化执行计划 — Agent Planning Pattern 的运行时实体。

Plan 里的单个步骤。

Plugin behaviour 定义。所有插件实现此 behaviour。

按以下任一条件OR 触发 CMDC.checkpoint!/2,自动持久化会话快照。

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 请求。

命名 Provider Profile 注册表 — 多租户场景下的运行时 provider/opts 寻址中心。

Provider Profile 变更跨节点广播 behaviour。

零依赖 No-op Broadcaster —— 单机部署 / 单元测试默认实现。

基于 OTP :pg 模块的零依赖 best-effort broadcaster — cmdc 默认实现。

将 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 任务列表。