Skip to content

Repository files navigation

QCode

License: Apache-2.0 Go 1.26+ Release Discussions

一个使用 Go 实现的、本地运行、受控执行的 AI Coding Agent Runtime,也是一套 可执行的 Agent 工程知识书籍。

QCode 将仓库理解、模型调用、受治理工具、审批、验证、持久化会话与 Subagent 协作统一放在一套 Runtime 协议之后,并通过本机 Web 这一产品入口服务交互式使用。

项目状态:初始开发版本。首次公开稳定发布前,接口和持久化格式仍可能调整。

Runtime 与可执行的知识书籍

交付物 提供的价值
面向真实工程的 Agent Runtime 模型接入、上下文工程、受控工具、持久化状态、Subagent 协作、可观测性和本机 Web
可执行的 Agent 工程知识书籍 从基础原理进入真实源码、测试、架构图、失败模式和可复现实验的中文路径

docs/zh-CN 下的中文产品手册描述已交付行为。 Agent 工程知识书籍把设计推理与 QCode 实现和 动手实验关联起来;全书目录与章节状态以 docs/book/catalog.json 为准。

为什么建设 QCode

多数 Coding Agent 原型优先追求演示效果,QCode 更关注产品长期运行后必须具备 的工程属性:

  • 本地控制权:源码和执行仍在用户工作区中。
  • 一个 Web 入口,一套 Runtime:主 Agent 与 Subagent 共享同一套 Operation/Event 和安全语义。
  • 受控执行:所有修改型工具都经过 policy、permission、constitution、journal 与操作系统沙箱检查。
  • 证据优先:搜索、编辑、审批、验证、用量和 trace 都形成可检查的运行事实。
  • 扩展但不分叉控制面:MCP、Skill 和 Subagent 都通过受治理的 Adapter 接入。
  • 默认关闭而不是假装安全:安全能力不可用时明确报告,不静默降级为“看起来已隔离”。

快速开始

环境要求:

  • Go 1.26 或更高版本
  • Git
  • Node.js 和 npm(make build 会先生成并嵌入 Web 前端)

支持平台边界:

平台 Runtime 沙箱边界
macOS 支持 Seatbelt Backend 可用时为 Strong
Linux 支持 满足 Bubblewrap 和 Landlock 要求时为 Strong
Windows 支持,但存在平台特定限制 Partial;需要 Strong Sandbox 的操作会拒绝执行
git clone https://github.com/fwtllh-png/QCode.git
cd QCode
make install
cd /path/to/your/project
qcode

make install 默认把完整的自包含二进制安装到 ~/.local/bin/qcode。安装后可在 任意目录运行 qcode,当前目录自动成为 Workspace 并打开本机页面。已有 Web Supervisor 运行时,新目录会注册为另一个独立 Workspace Runtime,并在同一侧栏中展示, 无需再启动一个 Web 服务。首次进入时不会预选 Provider 或 Model,用户必须在页面中选择 OpenAI、Anthropic、DeepSeek、GLM 或自定义 OpenAI-Compatible 服务,并填写 Model ID。 自定义 Endpoint 或未进入内置目录的模型还必须显式填写 Context、Output 和 Capability 元数据;Runtime 不猜测模型限制。API Key 由操作系统 Keyring 加密保存,非敏感选择与 元数据由 Runtime 管理;无需创建或编辑配置文件。Session 只可在当前连接已验证的模型间 切换;新增未知模型需要从 Connection 设置提交其元数据并重启 Runtime。

源码开发时仍可使用 make start。自定义安装位置使用 make install PREFIX=/usr/local,卸载使用 make uninstall。 无配置运行 qcode 时默认启用受 Guard 管理的内置工具,并使用 auto 审批姿态。

Web 只监听 127.0.0.1:6732。同一用户后续启动会复用已有 Supervisor, 终端会分别输出页面开始监听和 Runtime 完成恢复的 URL。

安装、初始配置、凭证、持久化和 Web 使用方式见 快速开始

产品入口

入口 命令或路径 主要用途
本机 Web qcode 唯一产品入口,覆盖会话、审批、变更、Subagent 与运行状态

一分钟理解安全模型

--mode 描述 Agent 正在进行的工作类型:

  • plan:只读分析与计划
  • act:常规编码工作
  • operate:运维型工作流

--posture 描述工具决策方式:

  • never:只读
  • suggest:风险操作请求用户审批
  • auto:按策略自动判断,不被允许的操作直接拒绝

日常交互推荐 suggest。凭证应保存为环境变量、文件或系统 Keyring 的引用,TOML 中 不应出现原始密钥。

仓库结构

cmd/qcode/          进程入口
internal/host/           Web Host 与 Runtime Transport
internal/runtime/        Operation/Event Runtime 与 Agent Engine
internal/adapter/        Provider、Model、Tool、MCP、Skill
internal/security/       Policy、Permission、Constitution、Sandbox
internal/orchestration/  Subagent、Admission/Budget、Chat Merge
internal/persist/        SQLite、Event Log、Session、Snapshot、Journal
internal/observability/  Usage、Trace、Verify、Diagnostics、Telemetry
internal/platform/       进程和操作系统集成
web/                     React/TypeScript 本机 Web 前端
docs/                    持续维护的中文文档
scripts/                 构建、验证、配置和发布脚本
testdata/                Hermetic Provider 与 Benchmark Fixture

文档

主题 文档
文档总览 docs/zh-CN
产品介绍与定位 项目介绍
安装与上手 快速开始
配置 配置说明
Web 与工作流 使用指南
架构 架构设计
安全 安全指南
本地开发 本地开发
Agent 上下文 Agent 指南
Agent 工程知识书籍 书籍与导航
产品方向 后续规划

开发

make build
make test
make docs-check
make verify

make verify 覆盖面很广,部分测试依赖平台安全能力。修改单个子系统时,应优先使用 本地开发指南列出的聚焦命令。

修改 Runtime 契约、安全边界、持久化状态或生成协议文件前,请阅读 CONTRIBUTING.md

疑似安全漏洞必须按照 SECURITY.md 私下报告,不应创建 公开 Issue。

QCode 使用 Apache License 2.0

About

Local, guarded AI coding-agent runtime in Go for CLI, TUI, VS Code, APIs, and automation, with an executable Agent engineering book.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages