Kageos Handbook

一篇文档看懂 Kageos。

Kageos 把个人、团队和企业的业务能力放进可运行的目录。目录里可以有页面、函数、数据、文档、权限、日志、消息和定时任务。人打开它就是软件,AI 调用它就是一组有边界的能力。

这页是公开主文档:Kageos 是什么,为什么是目录,现在能做什么,怎么本地跑起来,贡献代码时要守住哪些边界。

AI 原生服务平台个人和企业都能用无人值守 Agent源码可用可自托管
01

Kageos 是什么

Kageos 不是生成一个页面就结束的工具。它是业务能力的运行层和治理层。能力挂在 Service Tree 的目录上,有稳定路径、类型化函数、可用页面、运行状态和审计记录。

一个目录可以从 Hub 安装到私有 namespace,用自己的数据和流程改造,稳定后再打包发布。它可以服务一个人,也可以服务团队和企业部门,因为边界在目录上,不在某次对话里。

  • 个人可以把重复工作沉淀成可复用工具,而不是每周重新写 prompt。
  • 团队可以把记录、任务、表单、提醒和执行结果放回同一个工作面。
  • 企业可以让 AI 在权限、日志、运行时隔离和交接规则里执行真实动作。
02

为什么是目录

AI 让做出一个“像软件的东西”变便宜了。生产环境问的是另一件事:这个东西有没有地址,有没有调用契约,有没有权限和日志,出了问题能不能追,换个人能不能接手。

一次 prompt 很难给出这些东西。目录可以。Kageos 里的目录,是能力从临时产物变成长期资产的位置。

  • 地址:每个能力都有 full_code_path,例如 /sales/crm/customer.table
  • 契约:Form、Table、Chart 和 callback 通过 SDK 暴露类型化 schema。
  • 状态:代码、元数据、文件、日志和运行记录跟着工作区走。
  • 治理:权限、操作日志、trace、来源路径和消息使用同一套坐标。
  • 自动化:app.functionagent.session 任务由平台定时器触发。
  • 分发:稳定目录可以打包、内置、安装,也可以发布回 Hub。
03

目录里到底有什么

Kageos 把目录当成打包好的工作流,不是链接文件夹。平台给目录路径,渲染页面,调用函数,启动容器,调度任务,并保存每次执行留下的记录。

  • Service Tree:目录、函数、文档、消息、任务和日志的共同坐标。
  • 人用页面:Form、Table、Chart、Docs 像正常软件一样打开使用。
  • AI 调用面:工作台通过 schema 调用注册函数,不靠自然语言猜参数。
  • 运行时:app-serverapp-runtimekageos-sdk/agent-app 构建并运行用户应用版本。
  • 站内信:通知和执行结果进入 message-server,带来源路径和执行 ID。
  • 调度器:timer-scheduler 保存下次执行时间、租约、执行记录、心跳和恢复状态。
04

工作怎么发生

目录有三种常见用法。人打开页面处理业务。AI 读取目录上下文并调用工具。定时任务在人不在线的时候执行,再把结果写回消息、日志和业务记录。

第三种很关键。无人值守不是藏起来的 cron。调度状态归调度器,执行器只负责执行。每次执行都有身份、来源、trace 和团队能回看的结果。

  • 人工路径:打开目录,提交表单,查表,看文档,读图表,处理通知。
  • AI 路径:启动工作台会话,读取上下文,改代码,构建,调用函数,检查结果,交接下一步。
  • 函数定时路径:固定时间执行一个明确的 Form/Table/Chart action 和固定 payload。
  • Agent 定时路径:启动无人值守工作台会话,用于监控、报告、巡检和跨目录处理。
05

现在已经有的能力

公开文档要和真实产品对齐。下面这些是主线已经接上的能力,不是未来包装词。

  • Service Tree、工作区资源、访问控制、操作日志和带来源的 trace。
  • Vue 前端渲染 Form、Table、Chart、Docs、Function,后端用 Go SDK schema 支撑。
  • AI 工作台会话,支持历史消息、工具调用、改代码、修构建、运行时检查和阶段交接。
  • 运行工具包括表单提交、表格查询和写入、图表查询、Python 执行、通知和定时任务管理。
  • timer-scheduler 支持 app.function 函数任务和 agent.session Agent 任务。
  • message-server 支持站内信、线程、未读、来源统计、工作区统计,以及 SDK 或 Agent 发通知。
  • 能力包 import/export,可在 namespace 之间移动目录,也能内置种子目录。
  • Go、Vue 3、MySQL、NATS、MinIO、Podman 或 Docker 组成的可自托管运行时。
06

本地怎么跑起来

贡献者本地开发从 kagectl 开始。仓库里还保留 Compose 文件,但它们是底层实现和排障入口。新贡献者不应该为了跑起来先记一堆历史目录。

正常本地启动不需要手动 export 环境变量。kagectl bootstrap --dev 会生成本地 .kageos/ 环境文件,里面有 MySQL、NATS、MinIO、JWT、SMTP log 模式和 system 用户密码。这些文件不要提交。

  • 前置条件:Go 1.25+,Node.js 20.19 或 22.12+,Podman Compose 或 Docker Compose。
  • 拉代码后,在仓库根目录执行 go run ./cmd/kagectl bootstrap --dev
  • 另开终端启动前端:cd web && npm install && npm run dev
  • 打开 http://localhost:5173,用户名 system,密码用终端里 Kageos dev initialization summary 打印的 Admin password
  • 如果密码被刷掉,重新执行 go run ./cmd/kagectl init --dev,或从 .kageos/dev/env/kageos.env 读取 SYSTEM_USER_PASSWORD
  • 本地邮件验证码走 log 模式。注册新账号时,验证码在后端日志里,也会作为开发用 debug_code 返回。
07

贡献代码时先守住边界

这个仓库里有两类代码:Kageos 平台本身,以及 namespace 里的工作区应用。边界要干净。平台服务可以用内部包,工作区应用应该用公开 SDK,不要直接依赖主仓内部实现。

  • core/app-server 负责工作区 API、Service Tree、权限、操作日志、函数元数据和应用调用。
  • core/agent-server 负责工作台会话、工具、prompt、LLM 编排和 Agent 定时任务 worker。
  • core/app-runtime 负责写 namespace 文件、构建 Go 应用、管理版本和用户应用容器。
  • core/timer-scheduler 负责定时任务、执行记录、租约、心跳、恢复和 outbox 投递。
  • core/message-server 负责站内信、线程、未读状态和通知命令。
  • web 是 Vue 3 前端。deploy 放本地、生产、AIO、镜像和安全部署材料。
  • PR 要聚焦。不要把行为修改、格式化、依赖升级和无关重构混在一起。
08

改完怎么验证

根据改动范围跑检查。完整说明在仓库里,但贡献者至少要知道这些入口。

  • 后端:bash scripts/test-core-go.sh
  • 前端:cd web && npm run check:architecture && npm run lint && npm run type-check && npm run test:unit -- --run && npm run build
  • 仓库治理:bash scripts/check-sensitive-files.shbash scripts/check-sdk-boundaries.shbash scripts/check-doc-links.shgit diff --check
  • 本地启动排障:go run ./cmd/kagectl doctorstatusverifylogs mainlogs infra
09

自托管和运维

Kageos 源码可见,也按自托管设计。当前生产路径是单机部署:Kageos 平台、MySQL、NATS、MinIO 和用户应用容器由平台运行时统一管理。

运维时先记住一件事:平台状态、应用源码、运行时元数据、日志和对象存储不是临时构建产物。做破坏性重置前要备份。密钥不要进仓库。本地和生产的 .kageos/ 都是私有运行状态。

  • 本地开发用 go run ./cmd/kagectl bootstrap --dev
  • 生产部署看自托管指南和生产安装脚本,不要把本地 dev 命令照搬到服务器。
  • 先用 kagectl doctorstatusverify 和日志排查,再碰底层 Compose 命令。
  • 停止本地基础设施用 go run ./cmd/kagectl down,默认保留本地数据。
10

当前边界

好的文档要讲清楚哪些是真的,哪些还在路上。Kageos 不应该把没上线的控制面说成已经可用。

  • 主线已有:Service Tree、权限和操作日志、AI 工作台、Form/Table/Chart/Docs、站内信、函数任务、Agent 任务、应用运行时和能力包。
  • 建设中:公开 Hub 市场、托管试用、发布闭环、企业私有 Hub 和 SaaS 运维能力。
  • 预留但未上线:workflow 图、workflow.run、通用审批、讨论、评分、外部通知 channel provider 和备份控制面。