定价文档
开始使用
代码化的公司

公司将成为一个 git 代码库。

这不是比喻。Kortix 项目就是一个 git 代码库,而该代码库就是公司:它的代理、积累的技能、学到的一切,以及所有内容运行所依赖的机器定义。可版本控制、可比较差异,并完全归你所有。

开始一个项目阅读清单规范
main
变更请求

skill: reconcile-invoices — 处理部分退款

skills/reconcile-invoices/SKILL.md

9f4c2b7e → main · 由 invoice-clerk 发起

8f2a1c4invoice-clerk: stop guessing at refunds
1d90b73invoice-clerk: first draft of the persona
定义

两个文件定义了这家公司。

kortix.yaml 是 Kortix 层:会话启动所使用的机器、连接器、触发器、机密名称,以及每个代理获准访问的内容。OpenCode 配置是代理进行思考的运行时。除此之外,其他一切都是代码库中的文件。

kortix.yaml
# Schema 版本 2。运行时是 OpenCode。kortix_version: 2runtime: opencode project:  name: Northwind # 没有指定代理时负责响应的代理。default_agent: kortix # 运行时配置所在位置。除此之外:文件。opencode:  config_dir: harnesses/opencode # 仅填写机密名称。值会在# 平台中加密,并在机器启动时注入。env:  required: [STRIPE_API_KEY]  optional: [LINEAR_API_KEY] # 会话启动所使用的机器。sandbox:  default: python  templates:- 标识: python      image: python:3.12-slim      cpu: 2      memory: 4 # 访问外部世界。定义位于# git 中。凭据永远不会位于其中。connectors:- 标识: gmail-read    provider: pipedream    app: gmail    authorization_strategy: user # 治理:每个代理可以访问什么——绝不是# 它说了什么。未声明的授权默认为无。agents:  kortix:    connectors: all    secrets: all    skills: all    kortix_permissions: all   invoice-clerk:    sandbox: python    connectors: [gmail-read]    secrets: [STRIPE_API_KEY]    skills: [reconcile-invoices]    kortix_permissions: [project.cr.open]

Kortix 层——位于代码库根目录的一个文件。

harnesses/opencode/opencode.jsonc
{  // 文档:https://opencode.ai/docs/  "$schema": "https://opencode.ai/config.json",  "theme": "system",  "default_agent": "kortix",  // 会话已经是一个隔离的机器,位于  // 一次性分支,因此代理一开始拥有全部权限。  // 如需更严格,请在此处按工具收紧  // 策略。  "permission": "allow"}

运行时——模型、工具、权限。

agents/invoice-clerk.md
---description: 将发票与付款进行核对。mode: primarypermission:  bash: ask--- 你是 Northwind 的发票专员。 始终按编号将每笔付款匹配到发票,绝不按金额匹配。无法匹配时,发起变更请求并准确说明无法核对的内容。

代理——一个标准的 OpenCode 代理文件。它的内容就在这里。

  • kortix.yaml 授予

    哪台机器、哪些连接器、哪些密钥、哪些技能、哪些 CLI 动词。这里只负责治理。省略某项授权即表示没有授权——代理只能获得你授予它的内容。

  • OpenCode 配置决定

    提示词、模型、工具、插件和权限。代理是标准 OpenCode 代理——基础是 markdown,除此之外还包括同一仓库中与它并列的工具、插件和模型配置。读取目录,就能确切知道代理会做什么。

  • 两个文件都不包含密钥

    清单会列出密钥,并按代理授予权限。密钥值在平台中加密,在运行时注入机器,绝不会写入仓库或日志。

打开仓库

公司就在这里,清清楚楚地写在文本中。

代理、技能和记忆不是你看不见的数据库行。它们是代码旁边的 markdown 文件,会克隆到每个会话中,可供人阅读,也可由代理编辑。

  • northwind/仓库,以及公司
  • kortix.yamlKortix 层
  • agents/每个文件一个 OpenCode 代理
  • kortix.md
  • invoice-clerk.md
  • skills/公司完成工作的方式
  • reconcile-invoices/
  • SKILL.md读取一次,每个会话使用
  • memory/
  • MEMORY.md公司学到的内容
  • harnesses/
  • opencode/
  • opencode.jsonc运行时代理思考所用的内容
  • tools/你亲自编写的工具
  • plugins/以及你安装的工具
  • src/以及仓库的其余内容

以及其中刻意不包含的内容

密钥值
仓库保存名称和授权。密钥值在平台中加密,并在机器启动时注入。
频道路由
哪个 Slack 或 Teams 频道连接到哪个代理,是由控制面板设置的实时项目状态。连接一个频道,就会添加一个代理可以调用的连接器。
实时会话状态
会话在自己的分支和机器上运行。除非提交并发起变更请求,否则它所做的一切都不会影响仓库。
可审计

grep 整个公司。

没有隐藏层需要追问。每个信念、每项权限和每条指令都是文件中的一行,而你已有的工具就能回答问题。

northwind — 主分支
# 公司对定价有什么看法?$ grep -ri "annual" memoryMEMORY.md: 安全审查前不得提供年度报价 # 谁可以接触 Stripe 密钥?$ grep -n "STRIPE_API_KEY" kortix.yaml18:  必需: [STRIPE_API_KEY]48:  密钥: [STRIPE_API_KEY] # 谁在何时修改了发票专员?$ git log --oneline agents/8f2a1c4  invoice-clerk: 停止猜测退款1d90b73  invoice-clerk: 人设初稿

一次搜索,整个公司

每个代理提示词、每项技能、每条记忆和每项授权,都是同一仓库中的文本。无需点击控制台,也无需申请导出。

可证明的历史

对代理、技能或记忆文件的每次修改,都是包含作者、时间戳和差异的提交。没有任何内容会消失,也没有任何事情在暗中发生。

撤销就是 git revert

周二加入了一条错误指令?查看差异,撤销提交,发起变更请求。公司就会恢复原状。

每次变更都经过审查

公司一次通过一个获批的提交来学习。

代理找到更好的工作方式时,不会悄悄记住它。它会编辑技能,在自己的分支上提交,并发起变更请求。由人阅读差异并作出决定。

变更请求9f4c2b7e → main·由 invoice-clerk 发起

skill: reconcile-invoices — 处理部分退款

skills/reconcile-invoices/SKILL.md+5 −1
 ## 将付款匹配到发票   1. 按编号获取发票,绝不按金额获取。-2. 如果金额不同,标记给人工处理。+2. 如果差额与已有退款相符,+   将其作为部分退款关闭,并记录+   发票上的退款 id。+3. 如果因其他原因不同,标记给+   人工处理,并说明检查过的内容。   绝不要自行发起退款。
由人工审查,然后合并到 main

提示词变更看起来就像代码变更

代理重写自身指令的过程,与数据库迁移一样:分支、提交、差异、审查。公司只有一套审查流程,而不是两套。

不会自动合并任何内容

机器可以提议,人来决定。工作只有经某人批准的变更请求才能进入 main,因此即使你没有关注,公司也不会悄然偏移。

它会自我改进

公司会为自己提交补丁。

代理可以读取自己的配置、编辑配置并提议变更。将其安排为定期任务,即使大家都在睡觉,仓库也会越来越像你的公司。

kortix.yaml — 触发器
agents:  memory-reflector:    # 它可以发起变更请求。除此之外什么也不能做。    kortix_permissions: [project.cr.open] triggers:- 标识: memory-reflector名称: 内存反射器    type: cron    agent: memory-reflector    enabled: false定时: "0 0 3 * * *"    timezone: UTC    prompt: |      回顾项目过去 24 小时的      活动。检查 git 历史、已合并的变更      请求和会话摘要。更新      memory/ 并发起一个标题为      `memory: ...` 的变更请求。若没有      可长期保留的知识,则直接退出。

来自入门模板。每个新项目都会附带,但默认关闭。

  1. 00

    你将它开启

    将 enabled 改为 true,它就会在 UTC 03:00 触发,无需任何人监看。触发器是 cron 计划和签名 webhook,与其他配置一样声明在同一文件中。

  2. 01

    会话启动

    它会获得自己的云计算机和分支,仅持有清单授予它的一项权限:发起变更请求。

  3. 02

    它会编辑公司

    它读取 git 历史和过去一天的会话,然后将学到的内容以纯 markdown 写入 memory/。

  4. 03

    你会得到一个差异

    早晨会有一个等待处理的变更请求。合并它,公司就知道了新内容。关闭它,就什么也没发生。

由你掌控

它是一个 git 仓库。git 仓库能做什么,它就能做什么。

没有导出流程、支持工单,也没有需要解析的专有格式。公司已经是分支上的文本,因此可以克隆、派生、撤销,并带着它离开。

任意目录,任意机器
# 将任意目录变成 Kortix$ kortix init # 检查编译、请求缺失的密钥,# 推送并让整个系统上线$ kortix ship # 从这里开始,它就只是一个仓库$ git clone git@github.com:northwind/northwind.git$ git revert 8f2a1c4$ kortix cr
一个可以克隆的公司
为第二个业务部门派生一份。创建分支尝试不同的代理组合。将整个项目交给新团队,他们会连同技能、记忆和授权一起获得。
笔记本电脑和云端完全一致
kortix init 负责搭建,kortix ship 负责上线。它们使用同一个仓库完成同一件事,因此本地开发和线上系统不再是两种不同的类别。
任意模型,使用你自己的密钥
接入任意 provider,或使用你已经付费的 ChatGPT 订阅。模型是仓库中的配置,而不是由供应商替你决定。
开源且可自行托管
运行在 Kortix Cloud、自有 VPC,或完全本地部署。阅读代码、派生项目、进行审计。没有人会把你的公司租回给你。

在你拥有的一个仓库中运行整个公司。

从一项工作开始,逐步扩展。

开始使用

产品

  • 智能体计算机
  • 代码化公司
  • 连接器
  • 自动化
  • 频道
  • 智能体与技能
  • 安全
  • 自托管
  • Enterprise
  • 定价
  • 下载

解决方案

  • 销售
  • 营销
  • 工程部
  • 产品
  • 财务
  • 人员
  • IT
  • 数据科学

开发者

  • 文档
  • AI Operating System
  • CLI
  • SDK
  • 快速入门
  • 面向开发者
  • 市场
  • GitHub

公司

  • 关于
  • 招聘
  • 博客
  • 更新日志
  • 使用场景
  • 品牌

连接

  • X
  • LinkedIn
  • Discord
  • 状态
  • 支持
  • 条款
  • 隐私
©2026 Kortix