English lecture · source-traced

OpenManus × Kortix/Suna: side-by-side comparison and a selection guide

**Subjects**: `FoundationAgents/OpenManus` (commit `52a13f2a`, **deepened** analysis) and `kortix-ai/suna` / product name **Kortix** (commit `5862e956`, VERSION `0.10.14`, **full checkout, deepened**, including `apps/web`) **Axis**: both sit closer to commercial **Manus / Genspark**-style “general-task / research / deliverable agents” than to Claude Code-style “write code in a repo first.” **Basis**: the sibling lect

EN
lecture
source
file:line
no
embellishment
中文
sibling

Subjects: FoundationAgents/OpenManus (commit 52a13f2a, deepened analysis) and kortix-ai/suna / product name Kortix (commit 5862e956, VERSION 0.10.14, full checkout, deepened, including apps/web)
Axis: both sit closer to commercial Manus / Genspark-style “general-task / research / deliverable agents” than to Claude Code-style “write code in a repo first.”
Basis: the sibling lectures OpenManus source analysis and Suna source analysis; every claim can be traced to file:line.
Date: 2026-07-24


Part 1

1. One-line comparison

OpenManus Kortix / Suna
What it is A readable single-machine ReAct “Manus substitute” An AI Command Center that treats the company as a Git repository
Where the heart is In-process Base→ReAct→ToolCall→Manus Platform session-lifecycle + OpenCode inside a sandbox
Persistence Essentially no session memory (hard truncate at 100 messages) Session sandbox + git + change request
License MIT Elastic License 2.0 (restricts hosting a competing product)
Who it is for People who want to understand it in three days and fork a specialist Teams that want to self-host a “multi-tenant AI workforce”

Part 2

2. Product-logic comparison (what the user feels)

2.1 User journey

OpenManus

  1. Put a model key in config.toml
  2. python main.py, type a task
  3. The agent searches the web / opens a browser / writes files / runs Python on its own
  4. Watch the process in the terminal; deliverables land in a local directory
  5. The process exits; the next run is basically from scratch

Kortix/Suna

  1. kortix init scaffolds a company repo (kortix.yaml + .kortix/opencode)
  2. kortix ship to the cloud (or self-host)
  3. Open a session → an isolated sandbox clones the repo and checks out a branch named after sessionId
  4. Talk in Web / CLI / Slack; OpenCode does the work
  5. To keep the result → kortix cr open → humans review the merge → the company main evolves

2.2 What “a deliverable” looks like

Scenario OpenManus is smoother Kortix is smoother
“Make me a Japan travel-guide HTML” ✅ Browser + search + local files; demo-friendly Can do it, but cold start is heavy
“Fifty sales agents running outreach in parallel” ❌ Hard to parallelize a single process ✅ One session, one sandbox
“Change the company’s default agent permissions and audit them” ❌ Edit code/config; no CR discipline ✅ yaml + CR
“Understand the agent loop in three hours” ✅ The inheritance chain is extremely short ❌ You have to cross API / daemon / OpenCode
“Follow yesterday’s task in Slack” ❌ No channel bus ✅ Channels + chat_threads binding

2.3 Commercial narrative

  • OpenManus: a Manus learning / prototype edition without an invite code (README’s own wording).
  • Kortix: a company operating system—it refuses both “toy demo” and “rent your own company back” (MANIFESTO).

Part 3

3. Technical-architecture comparison

flowchart TB
  subgraph OM["OpenManus"]
    I1[stdin / main.py] --> A1[Manus ToolCallAgent]
    A1 --> T1[browser / search / python / mcp]
    A1 --> M1[Memory max 100]
  end
  subgraph KX["Kortix/Suna"]
    I2[Web/CLI/Slack] --> API[apps/api session-lifecycle]
    API --> SBX[sandbox session_id==sandbox_id]
    SBX --> D[kortix-agent]
    D --> OC[opencode serve]
    OC --> EX[/v1/executor 守秘/]
    OC --> CR[change_request → main]
  end
Dimension OpenManus Kortix/Suna
Language Python 3.12 + asyncio TypeScript / Bun monorepo
Main loop base.py + react.py + toolcall.py session-lifecycle/engine.ts + OpenCode
Tools In-process ToolCollection + browser-use Sandbox-local tools + server-side Executor
Permissions Almost open; optional Docker/Daytona IAM + grant + policy + CR
Multi-agent PlanningFlow dispatches by [AGENT] (unstable) Multi-sandbox parallelism + OpenCode subagent mode
Model access TOML, OpenAI-compatible LLM Gateway + reasoning_effort
Frontend Not a primary path (almost terminal-only) Web Command Center (full checkout) + SDK as SSoT
Extension Add Agent classes / MCP yaml + md + marketplace + connectors

Part 4

4. Ten decisive dimensions (for selection)

# Dimension Who wins / how to choose
1 Learning curve OpenManus by a mile: the inheritance chain is readable
2 Production multi-tenancy Kortix by a mile: account / project / session / sandbox
3 Research + browser closed loop OpenManus is more “works out of the box”; Kortix leans on OpenCode / skills
4 Long-task planning OpenManus has PlanningFlow; Kortix relies on prompt / skills / CR cadence
5 Safe defaults Kortix (secret-keeping Executor, SSRF protection); OpenManus’s browser is loose by default
6 Persistent company memory Kortix (repo files + CR); OpenManus hard-truncates
7 Channels (Slack and friends) Kortix
8 License freedom OpenManus MIT; Kortix Elastic restricts hosted SaaS
9 Changing agent behavior Both edit prompts; Kortix also requires yaml governance and compilation
10 Ops cost OpenManus ≈ one script on one machine; Kortix ≈ cloud-sandbox bill + snapshot

Part 5

5. Design-philosophy contrast

OpenManus’s bet Kortix’s bet
“Lay Manus on the table so you can understand it in three hours” “The company must be a cloneable source of truth”
Inheritance chain expresses species session = sandbox = branch expresses isolation
terminate as a first-class exit change request as first-class governance
MCP as a two-way door (light ecosystem) Executor + Marketplace (heavy ecosystem)

Part 6

6. Selection advice (directly actionable)

  1. Course / hackathon / a vertical research agent you build yourself → cut from OpenManus, or fork its ReAct chain.
  2. A self-hosted “AI employee platform” for a team → evaluate Kortix (accept Elastic and the ops complexity).
  3. Building your own product → take OpenManus’s readable loop as the MVP; when you need parallelism and governance, bring in Kortix-style session=sandbox + CR + server-side executor.
  4. Do not treat Kortix as “a textbook for learning ReAct”; do not treat OpenManus as “an enterprise command center.”

Draw those four rules as a “how to choose” flowchart:

flowchart TD
    START(["我该选哪个?"]) --> Q1{"你的目标是什么?"}
    Q1 -->|"学懂 Agent 主循环
黑客松 / 垂直调研工具"| OM["✅ 选 OpenManus
继承链三小时看懂
MIT,随便改随便商用"] Q1 -->|"给团队用的
自托管 AI 员工平台"| Q2{"能接受 Elastic 许可
+ 云沙箱运维成本?"} Q2 -->|"能"| KX["✅ 选 Kortix/Suna
多租户隔离 + CR 治理"] Q2 -->|"不能"| MVP["先用 OpenManus 做 MVP
日后真需要治理再迁"] Q1 -->|"自己造产品"| BOTH["🔀 两头取
用 OpenManus 的可读循环起步
需要并行/治理时,再加
会话=沙箱 + CR + 守秘执行器"] style OM fill:#e7f8f1 style KX fill:#eaf1ff style BOTH fill:#fff3df style MVP fill:#fff3df

🧠 One sentence: want to read it in three days and fork your own specialist → OpenManus; want to self-host an “AI workforce” and keep it under control → Kortix. Same axis (general task / research / deliverable); the gap is scale and governance, not direction.


Part 7

7. Coordinates against the rest of this series

write-code-first ──────────────────────────── general-task / research-first
Claude Code / opencode / goose              OpenManus · Kortix/Suna
                                              ↑ the main axis of this comparison

personal IM butler ─────────────────────────── company OS
nanobot / Raven                              Kortix/Suna

End of lecture. Companion learning station: openmanus-suna-learn/; the from-scratch tutorial is the parent-directory file 从零构建通用任务Agent-Manus系-开发全流程教程.md.

↑