Agent CLI Runtime | 邓枭雄项目案例
开源项目(npm 0.1.0-alpha.6)

Agent CLI Runtime

用一套强类型 TypeScript API 接入 Codex CLI、Claude Code 与 OpenCode,统一处理 CLI 探测、Prompt 投递、事件流、生命周期、权限边界和任务图调度。

我的工作

提供统一 Runtime API,屏蔽多个本地 Coding Agent CLI 在参数、事件、权限和生命周期上的差异。

可核验证据
3 类 Coding Agent CLI 统一接入 Codex CLI、Claude Code 与 OpenCode
npm 0.1.0-alpha.6 以公开 alpha 包提供 TypeScript API 与 agent-runtime CLI
公开边界

个人开源项目,采用 Apache-2.0 许可证,已发布 npm 0.1.0-alpha.6。代码、文档、兼容性验证和发布记录均可在 GitHub 仓库核验。

Agent CLI Runtime GitHub README 与运行时职责说明
01

公开 README:统一接入本地 Coding Agent CLI,并明确探测、事件流、生命周期和沙箱边界。

接入难点

将 Coding Agent 接入产品时,需要分别处理不同 CLI 的探测、Prompt 投递、输出解析、超时取消、权限和恢复逻辑,应用层很容易被进程细节绑住。

实现方式

Adapter 处理 Codex CLI、Claude Code 和 OpenCode 的差异,Runtime 统一管理进程与权限,再通过 AgentEvent、Task Graph 和可选持久化向上层提供一致接口。

适用场景

让开发者可以在不重造 Agent 的前提下,把多个本地 Coding Agent 可靠地嵌入产品、脚本、后台服务或桌面应用。

对象模型

01

CLI Registry

探测本地 CLI、版本、认证状态和能力,不静默修改用户配置。

02

Adapter

封装参数、环境变量、Prompt transport 和各 CLI 输出差异。

03

Runtime

管理子进程、超时、取消、权限策略和运行生命周期。

04

AgentEvent

将文本、思考、工具调用、文件变化和错误归一为统一事件流。

05

Task Graph

校验任务依赖并按串行或并行策略调度,支持重试和退避。

06

Run / Goal Store

可选持久化运行与目标,处理并发锁、恢复和存储健康。

关键产品决策

01

不重新实现 Coding Agent

选择:保留 Codex CLI、Claude Code 和 OpenCode 内部的 Agent 循环,只在外部提供适配与编排层。

理由:复用成熟 CLI 的模型、工具和认证能力,把产品复杂度集中在一致接入、运行治理与可恢复性上。

02

用统一事件契约隔离 CLI 差异

选择:把 stdout、stderr 和各类 JSON 输出解析为同一套 AgentEvent。

理由:上层产品只处理稳定事件,不需要为每个 CLI 重写进度、工具调用、文件变化和错误逻辑。

03

把本地权限边界写进 Runtime

选择:要求显式 cwd、额外目录和 permissionPolicy,并对诊断信息执行脱敏。

理由:Coding Agent 可以调用工具和修改文件,接入层必须先约束运行范围,再谈自动化能力。

04

让长任务具备恢复和治理能力

选择:增加 Task Graph、重试策略、运行持久化、锁与崩溃恢复判断。

理由:产品化的 Agent 运行不能依赖一次终端会话,需要可重试、可诊断、可恢复的生命周期。

下一步

查看完整经历,继续聊聊产品与岗位。

下载与当前方向匹配的简历,或通过邮件、电话直接联系。