内容
<p align="center">
<img src="https://raw.githubusercontent.com/openexec/.github/main/profile/logo.svg" alt="OpenExec Logo" width="160"/>
</p>
<h1 align="center">OpenExec</h1>
<p align="center">
<strong>AI 编码工具的可执行工程化判断</strong>
</p>
<p align="center">
<img src="https://img.shields.io/github/v/release/openexec/openexec?style=flat-square&color=orange" alt="版本"/>
<img src="https://img.shields.io/github/actions/workflow/status/openexec/openexec/go.yml?style=flat-square" alt="构建状态"/>
<img src="https://img.shields.io/badge/go-%2300ADD8.svg?style=flat-square&logo=go&logoColor=white" alt="Go"/>
<img src="https://img.shields.io/badge/license-MIT-blue.svg?style=flat-square" alt="许可证"/>
</p>
---
## 什么是 OpenExec?
专家级的工程化判断是否可以被执行?
大多数工程专业知识是隐性的。它存在于高级工程师的脑海中:首先要查看哪里,哪些文件不能碰,哪些测试真正重要,什么时候可以接受捷径,什么时候必须停止进行人工审查。
AI 编码工具可以生成代码,但它们不会自动继承这种判断。如果放任不管,代理可能会读取过多内容,触碰错误区域,重复执行不可预测,跳过隐含检查,或留下自信的总结而不是证据。
OpenExec 是 AI 编码工具的确定性运行时。它将 Claude Code、Codex、Gemini CLI 或任何 OpenAI 兼容的 API 封装在可执行结构中:蓝图、作用域工具、质量门、检查点、内存、策略、审批和审计跟踪。
模型仍然可以推理。OpenExec 控制运行。
## 理论基础
OpenExec 将 AI 工作视为工程过程,而非聊天会话。
文档可以解释专家判断。检查清单可以提醒人们应用它。OpenExec 尝试将更多这种判断编码为可重用的运行时行为:
- **蓝图** 捕获可重复的工作流程。
- **工具策略** 限制代理可以查看或更改的内容。
- **质量门** 使测试、代码检查、格式化和审查显式化。
- **检查点** 保留中间状态以便恢复和检查。
- **内存和技能** 将过去工作的经验教训带入未来的运行中。
- **审计跟踪** 记录发生了什么,而不是代理说了什么。
这是产品边界:OpenExec 不是代理。它是围绕代理的控制平面。
## 当前范围
OpenExec 对当前存在的内容和仍在规划的内容持事实态度。
**已交付或已实施的功能:**
- 单二进制 Go 运行时,带有 CLI、TUI、嵌入式 Web UI 和 MCP 服务器接口。
- 用于分阶段工作(如收集上下文、实施、代码检查、测试和审查)的蓝图执行。
- 用于本地 AI CLI 和 OpenAI 兼容的 HTTP API 的提供商适配器。
- 上下文组装、剪枝、技能加载、内存、缓存、检查点和预测加载包。
- SQLite 支持的状态、审计、审批、预算、遥测和 PII 清除组件。
- 面向 SRE 的安全基元,包括允许列出的基础设施工具、Terraform 计划检查和审批门。
**仍在成熟中的功能:**
- 端到端重放和持久恢复的用户体验。
- Web 控制台和操作工作流的生产级润色。
- 组织范围的策略分发。
- 大规模分布式代理和积压协调。
方向是雄心勃勃的,但核心思想很窄:使 AI 执行可检查、可界定、可重复且更容易改进。
## 工作原理
```bash
openexec init # 配置项目(模型、设置)
openexec run # 通过蓝图管道执行任务
执行流程:
CLI -> 管理器 -> 管道 -> 蓝图引擎 -> AI CLI 或 API 提供商
|
gather_context -> implement -> lint -> test -> review
```
### 三种执行模式
| 模式 | 描述 | 副作用 |
|------|-------------|--------------|
| **聊天** | 会话式,无副作用 | 无 |
| **任务** | 作用域操作,生成工件 | 创建文件/补丁 |
| **运行** | 基于蓝图的任务执行 | 全自动化 |
### 支持的执行模式
**CLI 工具** (启动本地子进程):
| CLI | 提供商 | 安装 |
|-----|----------|--------------|
| `claude` | Anthropic | `npm install -g @anthropic-ai/claude-code` |
| `codex` | OpenAI | `npm install -g @openai/codex` |
| `gemini` | Google | `npm install -g @google/gemini-cli` |
**API 提供商** (OpenAI 兼容的 HTTP API):
任何 OpenAI 格式的 API 都有效:Kimi K2.5、Mistral、Ollama、DeepSeek、Together AI 等。在 `openexec init` 中配置或直接在配置文件中设置:
```json
{
"execution": {
"api_provider": "openai_compat",
"api_base_url": "https://api.moonshot.cn/v1",
"api_key": "$KIMI_API_KEY",
"api_model": "moonshot-v1-128k"
}
}
```
API 模式启用具有协调器模式的真正多代理并行执行。
---
## 功能
**核心(始终开启):**
- **蓝图执行**:5 阶段管道(收集上下文 -> 实施 -> 代码检查 -> 测试 -> 审查)
- **多模型支持**:通过 CLI 支持 Claude、Codex、Gemini;通过 shim 支持任何 OpenAI 兼容的 API
- **确定性路由**:任务分类(模式、工具集、存储库区域、敏感性)
- **技能系统**:加载 SKILL.md 知识包,根据任务自动选择,与 Claude Code 兼容
- **上下文剪枝**:智能文件选择以减少 token 使用
**可选(通过 `.openexec/config.json`):**
- **API 提供商**:使用任何 OpenAI 格式的 API(Kimi、Mistral、Ollama)代替 CLI 工具
- **协调器多代理**:前沿模型分解任务,工作器并行执行,协调器合并
- **BitNet 路由**:用于增强意图分类的本地 1 位 LLM(自动下载模型)
- **质量门 V2**:自动检测项目类型(Go/Python/TS/Rust),运行代码检查/测试/格式门
- **检查点**:每个阶段后确定性检查点以便崩溃恢复
- **内存系统**:从已完成阶段中提取学习模式,并在未来运行中注入
- **预测加载**:根据任务描述预加载可能需要的 文件
- **缓存**:知识缓存和工具结果缓存以避免冗余工作
**基础设施:**
- **MCP 服务器**:具有 read_file、write_file、git_apply_patch、run_shell_command 的 JSON-RPC 工具服务器
- **SRE 编排**:默认拒绝基础设施工具(Ansible、Salt、SSH、Terraform)从操作员拥有的允许列表编译;具有确定性破坏性更改检测的 TOCTOU 安全保存计划 Terraform 应用;具有跨进程签名的持久人工审批门。参见 [docs/SECURITY_MODEL.md](docs/SECURITY_MODEL.md) 了解如何控制幻觉、提示注入和日志中毒 - 以及 [docs/SRE_ORCHESTRATION_ROADMAP.md](docs/SRE_ORCHESTRATION_ROADMAP.md) 了解工程规范
- **Web UI**:React/Vite 仪表盘(嵌入二进制文件)
- **终端 UI**:Bubble Tea TUI
**可重用生态系统(三层 AI 库):**
- **第 1 层(架构)**:使用 [blueprints](https://github.com/openexec/blueprints) 标准化布局、数据模式和 API 合同。
- **第 2 层(功能)**:使用 [intent-compiler packs](https://github.com/openexec/intent-compiler) 动态摄入监管、合规和功能标准。
- **第 3 层(代码/实现)**:通过 [Skills](docs/REUSABILITY_LIBRARIES.md) (`SKILL.md` 格式)立即重用组件和实用程序片段。
### 可选配置
```json
{
"execution": {
"quality_gates_v2": true,
"cache_enabled": true,
"predictive_load": true,
"memory_enabled": true,
"checkpoint_enabled": true,
"bitnet_routing": true,
"worker_count": 4,
"api_provider": "openai_compat",
"api_base_url": "https://api.openai.com/v1",
"api_key": "$OPENAI_API_KEY",
"api_model": "gpt-4o",
"coordinator_model": "gpt-4o",
"worker_model": "gpt-4o-mini"
}
}
```
---
## 快速入门
### 先决条件
安装至少一个 AI CLI **或** 配置 API 提供商:
```bash
# 选项 A:安装 CLI 工具
npm install -g @anthropic-ai/claude-code # Claude Code
npm install -g @openai/codex # Codex (OpenAI)
npm install -g @google/gemini-cli # Gemini CLI
# 选项 B:使用任何 OpenAI 兼容的 API(无需 CLI)
# 在 'openexec init' 时配置 - 适用于 Kimi、Mistral、Ollama 等
```
### 安装
下载适用于您平台的最新二进制文件,或使用自动化脚本:
```bash
curl -sSfL https://openexec.io/install.sh | sh
```
### 使用
```bash
openexec init # 设置项目、AI 模型和功能
openexec wizard # 定义目标,生成 INTENT.md
openexec run # 执行蓝图管道
openexec chat # 会话模式
openexec doctor # 验证 CLI 工具和配置
openexec skills list # 列出已加载的技能
openexec knowledge index # 索引项目符号
```
---
## 项目结构
```
openexec/
├── cmd/openexec/ # CLI 入口点
├── internal/
│ ├── agent/ # 协调器 + 工作器多代理执行
│ ├── blueprint/ # 基于阶段的执行引擎
│ ├── cache/ # 知识 + 工具结果缓存
│ ├── checkpoint/ # 崩溃恢复检查点
│ ├── cli/ # Cobra 命令(init、run、chat、skills、knowledge)
│ ├── context/ # 两阶段上下文组装 + 剪枝
│ ├── loop/ # CLI 子进程 + API 运行器执行
│ ├── mcp/ # 模型上下文协议服务器(JSON-RPC)
│ ├── memory/ # 跨会话模式学习
│ ├── parallel/ # 并行蓝图引擎
│ ├── predictive/ # 文件预加载
│ ├── quality/ # 代码检查/测试/格式门
│ ├── router/ # 确定性 + BitNet 路由
│ ├── skills/ # SKILL.md 加载、选择、Claude 导入
│ └── toolset/ # 工具集定义和注册表
├── pkg/
│ ├── agent/ # AI 提供商适配器(OpenAI、Anthropic、Gemini)
│ ├── manager/ # 多管道编排器 + 调度器
│ └── api/ # HTTP 处理程序和 WebSocket
├── ui/ # Web UI(React/Vite,嵌入二进制文件)
├── agents/ # 角色、 工作流、清单
└── docs/ # 文档
```
---
## 贡献
参见 [CONTRIBUTING.md](CONTRIBUTING.md) 获取指南。
---
<p align="center">
单二进制 AI 编排。Go + React。
</p>