首次自托管启动只问六项、不含模型密钥,需事后在应用内连接 GitHub 并添加模型密钥;自托管镜像从 Docker Hub 拉取,并非完全离线安装;白标免费许可要求以 Platinum 作为独占算力提供商。
CompanyOS
kortix-ai活跃维护把公司业务流程写成代码,用多智能体协作自动执行,可自托管或托管部署,让团队像操作操作系统一样管理公司。
Kortix CompanyOS – the open-source operating system for your company. Multiplayer AI agents, your company as code, sovereign on your infrastructure or ours.
curl -fsSL https://kortix.com/install | bash
kortix init
kortix shipREADME 未说明本地显存或 GPU 要求;智能体沙箱运行在配置的云服务商上(默认 Platinum),自托管为 Docker Compose 栈。
开源的公司操作系统,把公司写成代码,让常驻 AI 智能体在云端并行干活
把公司业务流程写成代码,用多智能体协作自动执行,可自托管或托管部署,让团队像操作操作系统一样管理公司。
核心能力
- 用 pi 编写自定义智能体,从单个 git 仓库部署上线
- 由定时、签名 webhook、连接器事件触发智能体启动
- 每个会话独占一台云电脑,闲置休眠、唤醒保留完整历史
- My Kortix 统一对话入口,后台分派任务不阻塞对话
- 变更默认走变更请求,由人审批后才合入主干
容易踩的坑
- v0.15.2v0.15.2 — Notifications with an Inbox, flag-free Artifacts, and sturdier APIs最新正式版2026-11-09 · 2026-11-09 16:03 UTC
New
- Notifications are on for every project, and a new Inbox page in the sidebar replaces the bell. (#11959)
- Artifacts no longer need a feature flag. Artifact comments have been removed. (#11963)
Improved
- The Inbox moves out of the sidebar into the workspace menu. (#11986)
- Trigger rows truncate long names and count down to the next run. (#11972)
Fixed
- Opening a session no longer crashes when its agent handed work to an inline agent. That row now reads "Inline". (#12088, #12127)
- A chat link to a drive file opens the file preview instead of a 404. (#11954)
- A down user-app port no longer logs a warning on every proxy retry. (#11948)
- The needs-input badge poll no longer surfaces as an error toast or a Sentry event. (#11952)
- The connector catalogue restarts at page 1 when its cursor can't be decoded. (#11960)
- Session costs answer 400, not 500, for a malformed owner id. (#11962)
- Per-member IAM routes answer 400 for a non-UUID member id. (#11961)
- A missing project now shows the same 404 as the rest of the app. (#11965)
- security.txt is served through the test-environment gate. (#11967)
- The /a1o canvas is skipped on browsers without WebGL2 instead of failing. (#11977)
- A blocked gapi script load no longer makes a page retry forever. (#11985)
- A run that compacts its context still stops at its agent's step cap. (#11725)
Internal
- Test isolation across @kortix/db and @kortix/voice, with shared stubs exporting withDbTransaction and resolvePrincipal and the runner contract recording them isolated. (#11968, #11974, #11976, #11978, #11982)
- Flow test scaffolding deduped into shared fixtures. (#11984)
- Web cleanup: dead palette rows, the settings kind and sitemap duplicates removed; docs generators, Sentry init and entrypoint rules unified. (#11955, #11966)
- The document-review state CLI is smaller. (#11973)
- The self-host migrate image ships ledger-repair, and the v0.15.1 release suite is green. (#11956)
- The big-store recovery pass runs with 2 vCPU and 16 GB. (#11950)
What's Changed
- docs(learnings): the big-store recovery pass sets 2 vCPU with 16 GB by @DimitrijeGlibic in https://github.com/kortix-ai/CompanyOS/pull/11950
- fix(api): a down user app port no longer warns on every proxy retry (KRTX-4365) by @agent-kortix in https://github.com/kortix-ai/CompanyOS/pull/11948
- fix(sdk): keep the needs-input badge poll out of error toasts and Sentry (KRTX-4358) by @agent-kortix in https://github.com/kortix-ai/CompanyOS/pull/11952
- fix(release): the v0.15.1 release suite goes green; self-host migrate image ships ledger-repair by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11956
- fix(ui): chat links to a drive file open the preview, not the 404 page (KRTX-4219) by @agent-kortix in https://github.com/kortix-ai/CompanyOS/pull/11954
- feat(notifications): notifications are on for every project; an Inbox page in the sidebar replaces the bell (KRTX-4368) by @Ino-Bagaric in https://github.com/kortix-ai/CompanyOS/pull/11959
- feat(artifacts)!: Artifacts need no flag; artifact comments are removed by @DimitrijeGlibic in https://github.com/kortix-ai/CompanyOS/pull/11963
- fix(api): restart connector catalogue at page 1 on an undecodable cursor (KRTX-4371) by @agent-kortix in https://github.com/kortix-ai/CompanyOS/pull/11960
- fix(api): answer 400 for a malformed owner_id on session-costs (KRTX-4372) by @agent-kortix in https://github.com/kortix-ai/CompanyOS/pull/11962
- fix(web): the project 404 is the same 404 as the rest of the app by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11965
- fix(api): answer 400 for a non-UUID member id on per-member IAM routes (KRTX-4373) by @agent-kortix in https://github.com/kortix-ai/CompanyOS/pull/11961
- fix(tests): db and authorize stubs export withDbTransaction and resolvePrincipal (v0.15.1 release suite) by @agent-kortix in https://github.com/kortix-ai/CompanyOS/pull/11968
- fix(web): the test-environment gate lets secur
- v0.15.1v0.15.1 — Credit codes, server-side Goals, proactive Spaces, and image-heavy session fixes2026-11-07 · 2026-11-07 04:31 UTC
查看更新说明
Credit codes, server-side Goals, proactive Spaces, and image-heavy session fixes
Credit codes, server-side Goals, proactive Spaces, and image-heavy session fixes
New
- Credit codes: redeem a code at
/redeemfor credits, and a/redeem?code=link survives sign-up. Admins create codes with an expiry and a redemption limit. (#11939, #11944, #11945) - Goals run on the API: goal state lives on the server, and only a verifier session can mark a goal done. Goals are in the command palette. (#11910, #11882)
- Proactive Spaces: a watcher reads a Space's event feed and speaks up only when it matters. A Space's agents are its router's team; the router does quick work itself and links results as files. (#11865, #11861)
- Every agent gets its session ids, and a subagent can read its parent's conversation. (#11940)
- Watcher Apps: watcher health on the App page, links from a run to its event, one-trigger tests, and a silent or crashing watcher can wake a repair agent. Deleting an App removes the triggers that name it. (#11908, #11907, #11906)
- Hover Artifacts in the sidebar to open any artifact in one click. (#11905)
Improved
- Spaces keep one conversation: agents read the thread's session log instead of copies. (#11896)
- Only production reports product analytics; dev and staging send nothing. (#11937, #11936)
- Old OpenCode-era code is removed. New audit rows of agent runtime events are named
agent.*(old rows keepopencode.*): update a saved filter or SIEM rule onopencode.. (#11938) - 35 Artifact fixes: comments, drawings, rename, conflicts, load errors, ⌘S retry, link cards, share, hit areas and screen readers. (#11911, #11912, #11916)
- The navbar GitHub link shows at every width; Goals buttons match the menu height. (#11887, #11884)
Fixed
- Self-host updates apply migrations again: the API image ships every file the migration runner imports. (#11956)
- Image-heavy sessions no longer fail with "Input is too long", on Bedrock and in Claude Code sessions. (#11934, #11943)
- A session's Stop, probes and failed streams settle; a turn stays busy until it ends; one Stop sends one hold and one abort. (#11928, #11931)
- Session streams end on access loss and never bleed between sessions; client lifecycles survive restarts, stalls and transient errors. (#11929, #11925)
- Lifecycle status writes are compare-and-set, so a stale billing webhook never undoes a newer state. (#11932)
- A session created during a deploy gets a retryable 503 instead of a failure. (#11933)
- History recovery reads session stores larger than 256 MiB. (#11942)
- The Desktop panel stops blinking. (#11930)
- A click after the browser session went stale opens the page instead of the sign-in page. (#11922, #11921)
- An App's restart budget and crash episode, and an app trigger's silence window, survive a deploy or an edit. (#11917, #11909)
- Private channel threads and asks stay private. (#11868)
- A malformed JSON request body gets 400, not 500; a Composio HTML error page becomes a short 502; edge rate-limit headers stay on every route. (#11881, #11897, #11893)
send_messagedrops a stray approve instead of refusing the message. (#11862)- An unknown code-fence language renders as plain text. (#11883)
What's Changed
- feat(spaces): a Space's agents are its router's team; the router does quick work itself and links results as files by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11861
- fix(kortixd): send_message drops a stray approve instead of refusing the message by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11862
- fix(release): manifest writes keep "all"; the v0.15.0 release suite goes green by @DimitrijeGlibic in https://github.com/kortix-ai/CompanyOS/pull/11863
- fix(ci): gitleaks allows pod checksums and the public PostHog client key by @DimitrijeGlibic in https://github.com/kortix-ai/CompanyOS/pull/11866
- feat(spaces): proactive Spaces — a watcher reads the Space's event feed and speaks up only when
- Credit codes: redeem a code at
- voxl-47bb94ec4d25-kortix.3pre-release2026-11-06 · 2026-11-06 13:33 UTC
查看更新说明
voxl (github.com/tembo/voxl, MIT) at 47bb94ec4d253638c1470eb81906676e1bef4b00, web client rebranded to Kortix Computer, 1 s stall cutoff, one viewer sizes the desktop (size-owner.patch), built by apps/sandbox/voxl/release.sh for the sandbox image.
- v0.15.0v0.15.0 — Review, Spaces, live doc editing, and watcher Apps2026-11-06 · 2026-11-06 11:01 UTC
查看更新说明
New
- Review: agent questions and permission asks no longer block a session. After a short live wait they park in the new Review page, and the answer reaches the session as a new message. (#11797, #11803, #11806)
- Spaces: Slack-style spaces where every message is a thread, with a router that hands work to agents and agents that post into spaces (flags
Spaces-Router,Spaces-ChatInput). (#11712, #11783, #11804, #11838) - Live co-editing of Artifact docs: people and agents type together, with presence, carets and pointers. Artifact cards show open comment threads. (#11747, #11727, #11730, #11723, #11749)
- Watcher Apps:
kortix apps launch --template watcherruns a 24/7 watcher in one function. Every App event is visible in an event log,kortix apps events emit --waitproves the wiring, and app triggers can expect an event within a time window. (#11818, #11814, #11815, #11817, #11823, #11825) - Goals: create, pause, resume, restart and answer goals from the Goals page or the home composer, with role-based brief templates. (#11758, #11812, #11828, #11785)
- ChatGPT and Claude logins show the signed-in email, plan, and 5-hour and weekly usage, warn before a limit runs out, and a session moves to the connected account with the most headroom. (#11751, #11756, #11768, #11816, #11820, #11832)
- Voice: a Kortix agent joins a Google Meet with its voice, joins any web call, and speaks into and transcribes audio files. (#11677, #11742, #11829)
- Connect X and YouTube in one click; agents upload videos of any size. (#11781, #11738, #11770)
- Agents can switch models and re-steer a running session. (#11675)
- TUI:
/providersand/connectorsconnect like the web, and artifacts show in the tray. (#11692, #11698, #11691) - Capture shows each computer's version, update failures and device details. (#11760)
- Mobile: native interactive Liquid Glass on Expo SDK 58, app version 1.6.0. (#11736)
- Solid colour project icons with Kortix marks and custom colours. (#11846)
- Shared Drives are on by default: a team shares Drive folders with its agents out of the box, and a project can turn it off. (#11858)
- In
kortix.yaml,"*"means every name on every grant (tools,skills,connectors,secrets, …).allstays valid, andkortix validate --fixrewrites it to"*". (#11853) - Agents can file
kortix feedbackfrom inside a session. (#11850)
Improved
- Sub-agents, agent messages and workflows show as agent rows. An agent opens in the side panel beside the chat. (#11581, #11753, #11735, #11774, #11776)
- Request logs open the exact session message, with server-side filters. (#11696)
- Routing rules read as one table with a floating save bar. (#11827)
- Send and Customize no longer wait on the slow project detail. (#11754)
- Agents start connections and secret links in the chat instead of sending people to settings. (#11763)
- Up and Down in an empty session composer recall earlier prompts. (#11732)
- Self-hosting: operator addresses cannot be claimed by sign-up, and public instances without email start invite-only. (#11764)
- Closed accounts are erased before day 90, with an evidence row for each decision. (#10797)
- Voice calls are faster and more accurate: cheaper lookups, correct greetings, hints for transcribed files and fewer misheard words. (#11667, #11759, #11766, #11773, #11779, #11790, #11795, #11798, #11799, #11801, #11802, #11809, #11810, #11831, #11836, #11839, #11845)
- Sidebar and session rows are cleaner: one leading mark, type icons, folder-style groups, readable queued messages. (#11726, #11729, #11734, #11767, #11775, #11786, #11789, #11731, #11813)
- Breaking: the SDK drops its OpenCode-era surface. Kortix CLI versions below 0.14.13 must update. (#11821, #11748, #11777)
- Breaking: API and SDK fields drop their OpenCode names: read
runtime_session_id,runtime_sessions,harness_versionandmodel; theopencode_*aliases are gone. (#11848) - Session restore is always on, and an agent on a
- v0.14.19v0.14.19 — Voice calls, an instant project page, and egress without NAT2026-11-04 · 2026-11-04 13:42 UTC
查看更新说明
New
- Voice calls: call a session's agent from the session or the agent page, with screen share; the chat keeps what was said (flag
voice_call). (#11633, #11665) - Speech-to-text and text-to-speech through the LLM gateway. (#11632)
- Discord sits on the Channels tab like every channel, marks the message the agent works on, and sets up its app with one command. (#11592, #11605)
- Drive: My files by default; shared Drives sit behind the
shared_drivesflag. (#11606) - Self-hosting: new sessions start from a project snapshot in the bundled object storage. (#11626)
- The mobile app ships a new version to both stores on each production release. (#11646)
Improved
- The project page renders at once from a saved config summary instead of reading git. (#11651, #11655)
- Faster session starts and first replies: the daemon boots from bytecode, sessions share proofs across API servers, and boot waits are shorter. (#11574, #11611, #11661)
- The API reaches the internet without NAT processing; GitHub traffic keeps the published egress IPs. (#11584)
- Sender avatars show from the first message, and messages from other agents show in full. (#11604, #11617, #11621)
- Windows Capture records GPU-rendered content such as CAD canvases. (#11647)
- The Guide and Developers docs match the product. (#11627, #11629)
Fixed
- A
kortix.yamlthat is not valid YAML never takes a project down: the project keeps its last valid version, and pushes of a broken file are refused. (#11641) - Self-hosting: TLS wildcard setup accepts only a strictly valid acme-dns account. (#11659)
- A session's stored sandbox URL follows the domain the request came in on. (#11616)
- Old sessions no longer jump into Today after a branch sweep. (#11600)
- Drive members open Drive without a "You cannot open this folder" toast, and the Drive tree shows its files. (#11591, #11635)
- The npm packages publish again from the renamed repository. (#11654)
- Renaming a workspace in Settings saves once, even when a read lags the write. (#11670)
- Agent file previews (web and mobile) and voice call transcripts stay fast on long or repetitive text; a crafted reply could freeze them for seconds. (#11694, #11697)
What's Changed
- perf(infra): the API reaches the internet without NAT processing; GitHub keeps the NAT IPs by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11584
- fix(my-kortix): My Kortix is on only when kortix.yaml sets my_kortix: true by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11585
- fix(infra): drop the route-table quota request; both regions are already above it by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11586
- fix(sessions): a dev box an earlier quick tunnel created is not given prompts it can never answer by @Ino-Bagaric in https://github.com/kortix-ai/CompanyOS/pull/11582
- test(api): far-future wire id fixtures sit 40 days ahead, not at ms * 16 by @kubet in https://github.com/kortix-ai/CompanyOS/pull/11580
- fix(release): v0.14.18 suite fixes for the My Kortix opt-in starter and the Discord channel by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11589
- fix(drive): members open Drive without a "You cannot open this folder" toast by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11591
- fix(release): the home snapshot includes the live case studies; the Discord mock names its bot mention by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11593
- feat(web): the asset management case study shows every deal evaluated by agents by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11543
- perf(ttft): cut new-session boot and first-prompt delivery waits by @kubet in https://github.com/kortix-ai/CompanyOS/pull/11574
- feat(self-host): wildcard certificates through delegated DNS, zero-downtime config changes by @markokraemer in https://github.com/kortix-ai/CompanyOS/pull/11595
- feat: remove warm sessions; a send always creates its session by @Dimitrij
- Voice calls: call a session's agent from the session or the agent page, with screen share; the chat keeps what was said (flag
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
Kortix CompanyOS
The open-source CompanyOS: the cloud-native agent harness for companies.
Open Source · Extensible · Multiplayer · Sovereign
Always-on agents that start on events, run in parallel and share one memory of your company.
Build custom agents on pi and ship them from one git repo. Schedules, webhooks, your tools' events and your team's messages start them. My Kortix routes the work, and swarms of agents run it in parallel, each on its own cloud computer with state that persists.
Agents connect to 3,000+ apps, build and host the apps your company needs, and land every change through a review your team approves. Share agents and context across your whole team. Open source, any model, on your infrastructure or ours.
Website · Guide · Cloud · AI Transformation · Manifesto
A new kind of system
An agent today is one chat session on one machine. It waits for a person to type. It blocks while a long job runs. Every task it takes on shares one context. It stops when the laptop sleeps. A person can follow only a few such sessions at once, so human attention runs out long before the model does.
Kortix CompanyOS takes the session out of the person's hands. It is a cloud-native agent harness: you write custom agents on pi, an open-source agent harness, and Kortix deploys them to the cloud and supplies everything around the agent loop that one session cannot.
| Always on | Compute and state are separate. Every session runs on its own cloud computer. The computer sleeps 15 to 20 minutes after the last turn and wakes on the next message or event, with its full history. State lives in the repo, in Drive, in the session's /workspace and in the session's record. |
| Event-driven | Triggers start agents from schedules, signed webhooks, connector events, App events and merged change requests. A filter in code drops noise before any model runs. A session subscribes to the events of its own work, and an agent sets its own check-in before it stops. |
| One agent to talk to | You talk to My Kortix. It answers at once, hands writing, research, code and app work to the agent made for it in a session of its own, and tells you the result. Nothing it hands off blocks the conversation. A follow-up goes to the same agent, with everything that agent already knows. |
| Swarms | A session hands work off in the background, runs a workflow that coordinates many agents, and messages other sessions. Every child reports back by itself. Thousands of agents run in parallel on one config. |
| Long horizon | When a context fills, the agent continues in a fresh one and searches the session's full record for the exact lines it needs. Nothing is summarized. A job outlives one turn and one context window. |
| Scales out | Compute is disposable and state persists, so capacity grows by adding computers, not by growing one. Each new session gets its own computer. A sleeping computer uses no compute. |
You, in the web app Slack · Teams · email Events
│ threads schedules · webhooks
▼ │ app + connector events
┌─────────────┐ │ change requests · loops
│ My Kortix │ answers at once, │ │
│ │ never blocks │ ┌──────┴──────┐
└──────┬──────┘ │ │ Triggers │ filter in code,
│ hands off in the background │ └──────┬──────┘ then start or wake
▼ ▼ ▼
┌────────────────────────────────────────────────────────────────────────┐
│ Agent sessions: custom pi agents, each on its own cloud computer │
│ hand-offs · workflows · messages between sessions · reports back │
└────────────────────────────────────────────────────────────────────────┘
│
│ sleeps when idle, wakes with its full history
▼
State that persists: git repo · Drive · /workspace · session record
What lands on main goes through a change request a person approves
Connect your company's tools once, and every agent and every teammate works with them, with the same skills and the same company memory. Your agents, skills, memory and connectors live in one git repo you own: your whole company as code. Any model, your own keys, on Kortix Cloud, in your VPC or on your own on-prem network.
Kortix, end to end
One system, from the message that starts the work to the change that lands it.
| Layer | What it does | Guide |
|---|---|---|
| Reach | People work from the web, desktop and mobile apps, the terminal, Slack, Microsoft Teams and email, and from other AI tools through MCP. All of them read the same projects and sessions. | Everywhere |
| Triggers | Schedules, signed webhooks, connector events, App events and merged change requests start agents with nobody at the keyboard. A filter in code drops noise first. A loop wakes a session later, once or on repeat. | Triggers |
| My Kortix | The one agent you talk to. It hands each task to the agent made for it, runs the work in the background and reports the result. | The built-in agent |
| Agents | Custom pi agents: a prompt, a model, permissions, and the skills, tools, commands and pi extensions they may use. An agent proposes changes to its own skills, and a person approves them. | Agents, Skills |
| Swarms | Background hand-offs, workflows that run many agents at once, and messages between sessions. Thousands of agents run in parallel on one config. | Several agents at once |
| Outcomes | A goal with a definition of done. An agent works it, wake after wake, until a separate verifier session confirms it is done. | Outcomes |
| Computers | Every session gets its own isolated cloud computer: a terminal, a browser, a desktop you can watch live, the tools its sandbox template installs. It sleeps when idle and wakes with its full history. Connect your own computer for work that must run on it. | Computers |
| Memory and state | The git repo holds the company's agents, skills and rules. Drive holds shared folders and company memory. /workspace keeps a session's files. When a context fills, the agent searches the session's full record word for word. | Drive |
| Connectors | 3,000+ apps, plus MCP, OpenAPI, GraphQL and raw HTTP. Allow, Ask or Block per tool. Credentials stay on the server and never enter the machine. | Connectors |
| Apps | Agents build and host sites, internal tools and backends at a stable URL, behind Kortix sign-in. Always-on or on-demand machines, up to 20 per group, persistent volumes, snapshots, releases and rollback. | Apps |
| Models | Kortix-managed models, your own provider keys, a ChatGPT subscription or a Claude subscription. Every request goes through the Kortix LLM gateway with budgets and access rules. | Models |
| Team and control | Roles, groups and per-resource permissions. Change requests a person approves, approval rules, an audit log, SAML 2.0 SSO and SCIM 2.0, secrets encrypted with a key per project. | Teams, Security |
| Build on it | The kortix CLI, the REST API, @kortix/sdk, its React hooks, @kortix/ui and generative UI. | Developers |
| Run it anywhere | Kortix Cloud, your VPC or your own on-prem network, from the same images. | Self-host |
What is a CompanyOS?
An operating system is the layer everything on a computer runs on. A CompanyOS is that layer for a company: the place its AI agents do the work, and the rules they work under.
| A computer's OS | Kortix CompanyOS |
|---|---|
| Shell | My Kortix: the one agent you talk to. It routes the work. |
| Programs | Agents: custom pi agents, each with a job, a model and a set of permissions |
| Libraries | Skills: written playbooks every agent shares |
| File system | Drive: shared folders, with company memory as Markdown files |
| Drivers | Connectors: 3,000+ apps, plus MCP, OpenAPI and raw HTTP |
| Processes | Sessions: each one on its own cloud computer that sleeps when idle |
| Interrupts and scheduler | Triggers: schedules, webhooks and app events, 24/7 |
| Users and permissions | Roles, groups and approvals: a person approves what reaches main |
kortix.yaml declares all of it, and every agent, skill and rule is a file in one repo you own.
That is your company as code.
Three things make it yours
| Multiplayer AIOne AI for the whole team. | Everyone works with the same agents, skills, memory and connectors, from the web app, Slack or Microsoft Teams. Roles, groups and per-resource permissions decide who may do what, and a person approves what reaches main. |
| Company as codeExtensible to the core. | Every agent, skill, rule, connector and piece of context is a file in one git repo: versioned, reviewed and extended like software. The agents and the harness they run on are open source. 3,000+ apps, plus MCP, OpenAPI and raw HTTP. A CLI and a TypeScript SDK. |
| Sovereign and openOwn your data and your infrastructure. | Open source: read it, fork it, audit it. Self-host in your VPC or on-prem. Any model provider with your own keys. Secrets encrypted at rest with a key per project. |
Give it an outcome. AI agents run it 24/7.
Outcome ──> Plan ──> Work ──> Verify ──> Learn ──┐
^ │
└──────────── the next run starts there ──────┘
- Outcome. You state it once, in plain words, with the rules that matter.
- Plan. An agent owns it end to end, breaks it into work and wakes itself on a schedule.
- Work. Agents run on their own cloud computers at any hour, started by schedules, webhooks and your tools.
- Verify. A separate agent checks the result, and changes land through a change request you approve.
- Learn. What the agents learned goes back into company memory and skills. Every run makes the next one better.
Thousands of agents can run in parallel on one config. How outcomes work →
Quickstart
Three commands. Build your company like a codebase, then bring it live.
# 1 · Install the CLI
curl -fsSL https://kortix.com/install | bash
# 2 · Scaffold a project: kortix.yaml plus your agents, skills and runtime config
kortix init
# 3 · Ship it: push the repo and bring the whole thing live in the cloud
kortix ship
From here:
kortix sessions new --prompt "Summarize this week's commits and open a change request"
kortix cr ls # review what an agent proposes, merge to keep it
kortix chat # talk to a session's agent from your terminal
No setup: sign up at kortix.com, create a project and start a session. The Guide walks you through Kortix CompanyOS from A to Z.
What runs on Kortix CompanyOS
- SciencePal, the AI research assistant of the Hong Kong Institute of AI for Science at City University of Hong Kong, built from Kortix's open-source code.
- Platinum, a sandbox cloud for AI agents, built and tested by agents on Kortix.
- Kortix itself: an intake agent triages every issue and worker agents fix it on their own machines.
- An AI-run hedge fund desk, our own, on real public SEC data with simulated capital.
- A US telecommunications infrastructure company whose agents design fiber routes, self-hosted in its own cloud.
- An international executive search firm, rebuilt around agents.
- WRITER, the enterprise AI platform, built from Kortix's open-source code.
- Wring, autonomous AWS cost optimization.
Self-host
Kortix CompanyOS is self-hosting native: one Docker Compose stack in your cloud account, your VPC or on your own servers, from the same images the managed cloud runs.
curl -fsSL https://kortix.com/install | bash
kortix self-host start
kortix hosts use selfhost # ↔ kortix hosts use cloud
The first run asks six things and no model key. You connect GitHub and add model keys in the app afterwards. Agent sandboxes run on the provider you configure (Platinum by default), and the stack pulls its images from Docker Hub, so this is a self-hosted install, not a disconnected one. Self-hosting guide →
Security
One isolated machine per session · per-resource permissions for people and agents · roles, groups and an audit trail · SAML 2.0 single sign-on and SCIM 2.0 · connector credentials held server-side · secrets encrypted at rest with a key per project · merge deny-by-default for agents · approval rules you set · Kortix Cloud, your VPC or on-prem. SOC 2 Type I verified. Security →
AI Transformation, done for you
Don't want to build it yourself? Our team maps your company, unifies your data, automates the work with agents, builds your custom apps and trains your team, all on Kortix CompanyOS, in a repo you own. kortix.com/services
White-label
Kortix stays open source. A free white-label license lets you run it under your own name and logo, in your own structure, and as a hosted service for your customers. The one requirement: use Platinum as your exclusive compute provider for everything it offers, at rates we commit to keep competitive. Sign online and you are licensed on the spot: WHITE-LABEL-LICENSE.md. Custom terms: [email protected].
Contributing
pnpm install
pnpm dev # web + API (scripts/dev-local.sh)
pnpm dev:web # web app only
pnpm dev:api # API only
pnpm dev:sandbox # build the local sandbox image
pnpm build # build all packages
pnpm nuke # tear down the local Docker environment
Apps live under apps/ (web, api, cli, desktop-electron, mobile, sandbox). The Guide
and the developer reference are in apps/web/content/docs. The whole platform ships under one
version (root VERSION): API, frontend, CLI and desktop release together as vX.Y.Z.
Local secrets, test lanes and the PR loop: CONTRIBUTING.md. Issues and pull requests are welcome.