myles1663/lancelot

GitHub: myles1663/lancelot

一个从治理出发的AI代理运行时,通过策略审批、熔断开关和收据审计实现可治理的自主系统。

Stars: 3 | Forks: 0

# Lancelot Lancelot 是一个面向治理的 AI 代理运行时。 大多数代理框架从能力开始:工具调用、子代理、内存、应用控制、模型路由和互操作性。治理通常稍后作为提示词、策略、审批、日志或监控添加到边缘。 Lancelot 从治理开始。策略、作用域权限、审批门禁、熔断开关、运维人员可见性以及收据链可审计性都是执行路径本身的组成部分。标准代理能力通过该路径路由,而不是绕过它。 模型可以提议操作。运行时决定什么被允许、什么需要审批、什么被阻止,以及什么必须被记录。 目标不是用更多安全换取更少能力。目标是通过设计实现能力,默认情况下受治理。 Lancelot 可以调用工具、通过受治理的桥接器控制桌面应用程序、生成作用域子代理、在长时间运行的工作中维护结构化内存、路由模型调用、公开运维人员控制,以及为受治理的操作写入不可变收据。这些不是绕过治理的逃生舱口。它们是受治理的执行界面。

Lancelot War Room command center

## 快速开始 1. 安装 Docker Desktop 和 Node.js 18+。 2. 运行 `npx create-lancelot`。 3. 安装程序将收集一个提供商凭证、拉取预构建的核心和本地模型镜像,然后启动堆栈。 4. 打开 http://localhost:8000。 5. 验证存活状态:`curl http://localhost:8000/health/live` 6. 发送冒烟测试:`curl -X POST http://localhost:8000/chat -H "Content-Type: application/json" -d '{"text":"hello"}'` 手动设置: ``` git clone cd lancelot # Optional: create .env only when you need deployment overrides. # cp .env.example .env docker compose pull lancelot-core docker compose pull local-llm docker compose up -d ``` 有关安装详情和提供商特定设置,请参阅 [docs/installation.md](docs/installation.md)。 Lancelot 面向需要受治理的自动化而非轻量级代理演示或消费者聊天机器人的开发者、运维人员和技术团队。 ## 演练指南 如果您想在阅读每个子系统指南之前评估系统,请从这里开始: - [引导式演练](docs/guided-walkthrough.md):截图流程展示受治理的工作区文件操作从命令到审批、执行再到收据详情的全过程。 - [验证演练](docs/proof-walkthrough.md):用于健康检查、Docker 运行时行为、收据链验证和治理验证点的逐命令验证路径。 ## 为什么不使用现有代理框架? 现有代理框架很有用。它们证明了团队需要能够规划、使用工具、委托工作、维护内存、控制应用并与其他系统互操作的代理。 Lancelot 针对不同的失败模式:能力和权限通常耦合得太紧密。同一个模型可以推理任务,也可以触发更改文件、调用工具、控制应用或消耗资源的操作。 Lancelot 将提议与权限分离。模型提议。运行时治理。操作在执行前通过策略、作用域权限、审批规则、熔断开关和收据日志。 如果团队必须放弃已经需要的能力,仅限治理的包装就会失败。当强大的操作通过软边界运行时,以能力为首的框架会产生风险。Lancelot 的设计使团队无需在有能力的代理和可治理的代理之间做出选择。 ## 验证治理循环 您可以检查核心保证,而无需信任演示记录。从一个安装了 Python 和前端依赖的克隆版本,这些检查不需要活跃的前沿模型账户: ``` # Receipt integrity, immutability, and tamper detection. python -m pytest -q tests/test_receipts.py # Scoped HIVE task execution and boundary enforcement. python -m pytest -q tests/hive/test_runtime.py # Kill switch propagation and fail-closed behavior. python -m pytest -q tests/test_kill_switch_contract.py # War Room frontend typecheck and production build. (cd src/warroom && npm ci && npm run type-check && npm run build) ``` 有关候选发布检查、依赖锁定文件和 Docker 镜像固定指导,请参阅 [发布验证](docs/release-verification.md)。 最新的发布准备通过的记录是 `7,216 passed`、`24 skipped`、`31 deselected`,以及 `90.5085%` Python 代码覆盖率: ``` python -m pytest -q --cov=src --cov-report=term-missing --cov-report=json:coverage-full.json ``` ## Lancelot 不是什么 - 不是消费者聊天机器人或伴侣应用。 - 不是治理可选的通用代理 SDK。 - 不是不受限制的计算机控制。桌面和工具操作旨在是有作用域的、分类的、在需要时审批的,以及有收据追踪的。 - 不是托管 SaaS。默认姿态是本地优先和自托管。 ## 当前成熟度 | 领域 | 状态 | | --- | --- | | 治理检查、审批、熔断开关和收据 | 核心路径,首先检查 | | 结构化内存、上下文编译、隔离和内存收据 | 核心路径,首先检查 | | 健康/就绪、异步聊天运行和作战室构建 | 由公开验证测试和 CI 覆盖 | | UAB 路由、后备行为和操作风险分类 | 已实现,测试覆盖重点 | | HIVE 作用域子代理 | 已实现,功能门控 | | 联邦、A2A、MCP 治理、时间旅行、可观测性 | 已实现为运行时可切换的受治理能力 | | 广泛的桌面自动化覆盖 | 在支持的宿主设置和框架上最强;不是通用应用控制 | ## 评估常见问题 ### Lancelot 使用什么许可证? 不,Lancelot 在 BSL 1.1 下开源可用。您可以免费使用、复制、修改和再分发它用于非生产评估、开发和测试。生产使用需要商业许可证。请参阅 [LICENSE](LICENSE) 了解确切条款。 ### 我应该首先评估什么? 从治理、收据、健康/就绪、核心工具桥和作战室开始。这些是 README 验证命令旨在练习的默认路径。 ### 可选子系统如何工作? 默认安装会练习 Lancelot 的受治理运维路径:治理、结构化内存、收据、健康/就绪、核心工具桥和作战室。HIVE、联邦、A2A、MCP 治理、时间旅行、可观测性以及部分 UAB 是运行时可切换的,以便运维人员可以将 Lancelot 与其部署相匹配。它们不是独立产品;它们是熔断开关后面的可选受治理能力。 ### UAB 是通用桌面自动化吗? 不是。UAB 在支持的宿主设置和桌面框架上最强。它是应用控制的受治理路由,而不是无权限的"让模型点击任何东西"自动化。 ### 这是用 AI 辅助构建的吗? 是的。Lancelot 是通过 AI 辅助开发构建的。应该通过其契约、测试、失败模式和可审查的边界来评估该项目,而不是信任生成过程。 ### 我应该直接暴露在互联网上吗? 不。建议的姿态是本地优先和自托管。对于生产风格的使用,请将其放在私有网络或 VPN 访问后面,并遵循 [生产加固指南](docs/production-hardening.md)。 ## 核心组件 ### 治理 治理层在执行前评估每个代理操作是否符合策略。它结合了 Soul 定义的约束、风险分类、审批要求和熔断开关,这样模型无法仅通过提示词文本绕过系统。 ### UAB 通用应用桥为 Lancelot 提供通往桌面应用控制的受治理路由。它通过框架感知的钩子和后备路由操作,使应用自动化保持明确、可检查和受策略约束,而不是被视为通用工具调用。 ### HIVE HIVE 处理任务分解为有界限的子代理。每个生成的任务都有明确的作用域、应用/类别限制和运行时执行,因此委托保持受限,而不是变成开放式的自主执行。 ### 收据 收据系统是审计跟踪。操作被暂存、最终写入不可变日志,并链接到完整性链,以便运维人员可以重建发生了什么,并验证记录没有被静默重写。 ## 受治理操作流程 1. 模型或运维人员请求提议一个操作。 2. Lancelot 对操作风险进行分类并检查活跃的 Soul 策略。 3. 熔断开关、审批规则和作用域运行时边界决定执行是否可以继续。 4. 批准的操作通过受治理的工具提供者或 UAB 路由运行。 5. 结果作为最终收据写入并链接到完整性链。 ## 作战室 作战室是用于受治理执行、收据审查、熔断开关控制和运行时健康的本地运维控制台。
Receipt Explorer showing governed action receipts Kill Switches panel showing runtime-toggleable governed capabilities
Receipt Explorer Runtime Kill Switches
Health Dashboard showing runtime component readiness
Runtime Health
## 架构

Lancelot system architecture

该图清楚地显示了运行时边界:运维通道通过受治理的核心进入,执行通过策略和能力检查流动,内存/上下文是持久化和可审计的,运行时可切换的子系统可以启用或禁用而不会导致堆栈崩溃。 ## 验证点 关键保证由您可以直接运行的契约测试支持: - 引导式审批流程:[docs/guided-walkthrough.md](docs/guided-walkthrough.md) - 实时运行时验证路径:[docs/proof-walkthrough.md](docs/proof-walkthrough.md) - 发布验证:`python scripts/verify-public-release.py` - 完整 Python 套件覆盖率基线:在最新发布准备通过中 `90.5085%` 行覆盖率 - 收据不可变性和完整性链验证:[tests/test_receipts.py](
标签:AI代理, AI治理, Docker, GNU通用公共许可证, Kill Switch, MITM代理, Node.js, 不可变记录, 代理框架, 作用域权限, 信任升级, 内存管理, 子代理, 安全执行, 安全防御评估, 审批流程, 审计日志, 宪法治理, 容器化部署, 工具调用, 操作员控制, 政策引擎, 暗色界面, 权限控制, 桌面控制, 模型路由, 请求拦截, 运行时, 逆向工具, 风险分层