模块 kernels:Agent OS 远程内核管理

🔵 模块 kernels 维护 Agent OS 远程实例注册表,并让代理 对其进行管理:通过内核的 HTTP API 进行监控和请求,通过 SSH 进行生命周期管理 (经由模块 remote)。与 remote (任意主机)不同,kernels 知道目标是 Agent OS 内核。

该模块包含在标准发行版中(modules.enabled → kernels),并需要 remote(requires: ["remote"])。

52.1 注册表

内核由文档描述:slug、base_url、token_secret、machine、 deploy。注册表位于 DuckDB(logs/kernels.db)中,从 config/remote/kernels.yaml 播种(与 remote 一样,seed 不会覆盖数据库中的修改)。

kernels:
  - slug: prod
    base_url: https://platform.example.com
    token_secret: PROD_ADMIN_TOKEN     # имя секрета, не сам токен
    machine: prod-host                 # slug машины из инвентаря `remote`
    tags: [prod]
    deploy:
      remote_dir: /home/realityfaker/agent_os
      archive: distrib/agent-os-distrib-linux.zip
      install_command: |
        set -e
        cd /home/realityfaker/agent_os
        unzip -o distrib/agent-os-distrib-linux.zip -d /tmp/ao-distrib
        install -m 0755 /tmp/ao-distrib/agent-os-distrib/bin/agent-os target/release/agent-os
      log_path: /home/realityfaker/agent_os/agent_os.log

路径可通过 AGENT_OS_KERNELS_DB / AGENT_OS_KERNELS_CONFIG 覆盖。

52.2 传输方式 {#transports}

52.3 工具

参见 工具参考。

分组 kind
注册表 kernel_list、kernel_get、kernel_upsert、kernel_delete
HTTP kernel_health、kernel_models、kernel_agents、kernel_templates、kernel_request
SSH kernel_service、kernel_logs、kernel_deploy

示例:

kind: kernel_service
name: prod_service
description: Управление сервисом agent-os на прод-хосте

52.4 HTTP API

Endpoint 描述
GET /v1/kernels 内核列表 🔒
POST /v1/kernels 创建/更新内核 🔒
GET /v1/kernels/:slug 单个内核 🔒
PUT /v1/kernels/:slug 更新 🔒
DELETE /v1/kernels/:slug 删除 🔒
GET /v1/kernels/:slug/health 远程内核健康探测(HTTP)🔒

52.5 安全

52.6 限制