suna

Activity, over time

Daily observations from the public event archive.

Attention

Daily stars & forks

Loading attention chart

Star accumulation

Cumulative stars

Loading star accumulation chart

Pull requests

Daily opens & merges

Loading pull requests chart

Conversations

Daily issues & comments

Loading conversations chart

Community

Daily accounts & reviews

Loading community chart

Releases

Daily releases

Loading releases chart

Mentions

21posts · 30d
Nov 30 posts
  1. DEV · · @alirezaai

    Failed to Connect to MetaMask”: Debugging an SSE Failure Without Jumping to Conclusions A browser-extension error, a successful retry, and a convincing explanation that the evidence had not earned It looked like a useful clue. A streaming application was searching for export customers across multiple sources. During troubleshooting, the browser console showed a MetaMask connection error. After MetaMask was disabled, the interface populated its example fields, started the search, entered the first of eight stages, and displayed 17 initial results in roughly five seconds. The tempting conclusion was immediate: MetaMask intercepts fetch, terminates long-running SSE connections, and causes the application to fail. That explanation was specific. It sounded technically plausible. It also went beyond the available evidence. The successful retry established that the application could start returning results in one run without the extension. It did not establish that the extension had intercepted the request, imposed a timeout, or caused the earlier failure. This article develops a debugging workflow from that distinction. It is not a confirmed MetaMask root-cause report. The initial observation is real; the experiments and architecture below are a proposed way to investigate it. The central principle is attribution: an error can be genuine without being the cause of the failure you are investigating. 1. Start With an Evidence Ledger, Not a Root-Cause Story Before changing code, separate observations from interpretations. | Statement | Status | |---|---| | The console displayed a MetaMask error originating from an extension URL. | Observed | | The application returned initial results after MetaMask was disabled. | Observed | | All eight search stages completed successfully. | Not established | | The earlier stream failed because of MetaMask. | Hypothesis | | MetaMask intercepted the application’s generic fetch requests. | Not established | | MetaMask terminated the stream after a particular duration. | Not established | This table prevents a subtle escalation: Something changed. ↓ The application behaved differently. ↓ The changed component must explain everything. The extension state is a useful experimental variable. It is not yet a complete explanation. There is independent evidence that this error family can appear in applications unrelated to cryptocurrency. TrackJS documents Failed to connect to MetaMask as an extension-origin error that can occur independently of a site’s own functionality. That supports treating it as a possible source of noise—not automatically dismissing every nearby failure. trackjs 2. Separate Three Contracts That Can Fail Independently For this investigation, I would model the application as three contracts. The transport contract Can the browser receive the stream? Relevant evidence includes: - Response headers received. - First event received. - Last event received. - Sequence gaps. - An explicit completion event. - A transport or stream-reading error. The execution contract Does the search actually run and finish? Relevant evidence includes: - Job creation. - Worker progress. - Dependency failures. - Persisted results. - Final job state. The telemetry contract Does the recorded exception belong to the application? Relevant evidence includes: - Extension-origin versus application-origin frames. - The original rejection payload. - Breadcrumbs. - A corresponding failed user operation. These contracts should not be collapsed into a single “working” or “broken” flag. A worker may finish while the browser loses its connection. The browser may remain connected while a dependency stalls. An extension may generate an exception while the application continues normally. For this application, I would therefore make each contract observable separately. 3. Remove the Search Engine From the First Experiment Testing only the full customer-search workflow introduces too many moving parts: Browser → application client → deployment path → search service → external sources → result processing → streamed response My first diagnostic tool would be a deterministic stream endpoint passing through the same deployment path but performing no external searches. A proposed test interface: GET /debug/stream?mode=active GET /debug/stream?mode=silent GET /debug/stream?mode=disconnect GET /debug/stream?mode=invalid-payload Each mode should test a different condition: | Mode | Intended behavior | Question | |---|---|---| | active | Emit numbered events regularly. | Can the path sustain an active stream? | | silent | Introduce controlled gaps. | Does inactivity correlate with disconnection? | | disconnect | Close before the completion event. | Does the client distinguish interruption from success? | | invalid-payload | Send an event that violates the application schema. | Does the client distinguish parsing failure from connection failure? | These are proposed fault-injection modes, not results from an executed experiment. Active streams and silent streams are different tests A stream emitting data every two seconds does not adequately test an inactivity hypothesis. Test both: 1. A continuously active stream. 2. A stream with controlled silent intervals. 3. The same silent intervals with periodic heartbeat comments. MDN documents SSE comments as a possible keep-alive mechanism for preventing some connection timeouts. Comments begin with : and are ignored by the event parser. This makes them useful for transport maintenance, but not equivalent to application-visible progress events. developer.mozilla For example: : keep-alive An application-visible heartbeat is a different design choice: event: heartbeat data: {"serverTime":"2026-10-28T08:00:00Z"} In the proposed diagnostic client, I would track transport activity and application progress separately rather than letting a heartbeat imply that the search is advancing. 4. Run a Controlled Comparison Start with a small matrix: | Test | Extension state | Workload | |---|---|---| | A | Disabled | Deterministic stream | | B | Enabled | Deterministic stream | | C | Disabled | Real search | | D | Enabled | Real search | Repeat each condition and vary the order. Keep the browser version, application version, input, and deployment configuration fixed. Avoid treating “normal profile versus incognito” as a perfectly isolated extension test. That comparison may change more than extension availability. For this investigation, record the environment explicitly and minimize differences between conditions. The results should guide the next experiment: - If only extension-enabled runs fail, the extension hypothesis becomes stronger. - If only real searches fail, investigate search dependencies and application logic. - If silent streams fail in both environments, investigate inactivity-related behavior. - If the server completes while the client reports failure, focus on delivery and client handling. - If nothing fails reproducibly, report that limitation rather than manufacturing certainty. These patterns narrow the investigation. They do not replace inspecting the actual failure. 5. Measure Two Clocks For every disconnect, record both: elapsed_since_request_start elapsed_since_last_received_data These measurements answer different questions. A failure consistently associated with total connection age suggests a different experiment from one associated with a long quiet period. Do not immediately label either pattern a timeout imposed by a specific component. First determine whether the pattern exists. My proposed run record would include: { "runId": "run-042", "jobId": "job-109", "extensionState": "enabled", "headersReceivedAt": null, "firstEventAt": null, "lastEventAt": null, "lastSequence": null, "completionReceived": false, "abortReason": null, "clientError": null, "serverJobState": null } This is an instrumentation schema, not a sample experimental result. The useful question is not merely “Did fetch fail?” It is: > At which boundary did the observed behavior diverge from the expected behavior? 6. A Real Example: Filtering Wallet Noise Without Claiming to Fix Transport A public change in the Suna repository illustrates a related but narrower engineering problem. The commit describes an unhandled rejection carrying a plain object: { code: 4900, message: "The provider is disconnected from all chains." } According to the commit description, the rejection lacked a useful stack, was captured by Sentry as a synthetic unhandled rejection, and appeared alongside a MetaMask connection breadcrumb. The maintainers classified that specific event as injected wallet-provider noise in their application. github The important lesson is how narrowly they approached the fix: - Match a specific rejection shape. - Preserve events containing application-owned frames. - Filter at the telemetry boundary. - Add tests for both events that should be dropped and similar events that should remain. github That is a telemetry correction. It is not evidence that the extension intercepted generic HTTP requests. It is not an SSE repair. TrackJS also discusses filtering this error family, but its example uses broader message matching. Comparing these approaches raises a useful review question: could the filter suppress an application error merely because its message mentions a wallet? trackjs For my application, I would require negative tests before introducing any filter: Known extension-noise signature → eligible for filtering Similar application error → retained Event with first-party frames → retained Unknown rejection → retained Cleaning the dashboard should never become a substitute for understanding failed operations. 7. Make the Search Survive the Connection Regardless of the final root cause, I would change one architectural assumption: > The browser connection should observe the search, not own its lifetime. A proposed API: POST /search-jobs GET /search-jobs/{jobId} GET /search-jobs/{jobId}/events POST /search-jobs/{jobId}/cancel The execution path becomes: Create job ↓ Execute work independently ↓ Persist progress and results ↓ Expose progress through a stream Under this contract: - A disconnected browser does not automatically cancel the job. - Cancellation is an explicit operation. - The client can retrieve the current state after reconnecting. - Stable result identifiers support deduplication. - An explicit terminal state distinguishes completion from interruption. A proposed terminal event: event: done id: 148 data: {"jobId":"job-109","status":"completed","resultCount":73} The count above is illustrative, not a reported result. Reconnection is not replay MDN documents automatic reconnection behavior for EventSource and the use of event IDs. However, retaining missed events and deciding what to replay remain application responsibilities. developer.mozilla If the client consumes SSE through fetch, I would explicitly implement and test its reconnection behavior rather than assume it inherits the behavior of EventSource. For this design, a reconnect request should either: 1. Resume from an accepted cursor, or 2. Return a fresh snapshot and establish a new event position. The server should define what happens when an old cursor can no longer be served. Silent gaps are not an acceptable recovery contract. 8. Use AI to Challenge the Explanation An AI assistant can be useful here—but the prompt should not smuggle an unproven cause into the task. A weak prompt: > Explain why MetaMask terminates my SSE connection. A better prompt: Observation: Initial search results appeared after MetaMask was disabled. Unknown: Whether MetaMask caused the earlier failure. Tasks: 1. Separate observations from causal claims. 2. Propose competing explanations. 3. Design the smallest experiment that distinguishes them. 4. State what result would weaken each explanation. 5. Do not invent extension internals. 6. Identify missing evidence before proposing a patch. Then require an evidence structure: Claim Supporting observation Conflicting observation Missing evidence Next discriminating test I would also separate patch generation from patch acceptance. A proposed patch must demonstrate: - A reproducible failure. - A test that detects it. - A change that makes that test pass. - Regression tests for neighboring behavior. - A clear statement of what remains unverified. An articulate explanation is not an experimental result. 9. Define Completion Before Declaring Victory For the proposed investigation, I would not close the issue merely because: - The console became quiet. - The first results appeared. - One retry succeeded. - Disabling an extension changed the behavior once. I would close it with either: A supported root cause A reproducible failure, a discriminating experiment, and a validated correction. An explicitly unresolved cause A documented observation, unsuccessful reproduction attempts, remaining hypotheses, and improved instrumentation. The second outcome is not a failed investigation. It is a defensible limit on what the evidence supports. Meanwhile, the architecture should pass a separate recovery test: > Disconnect the client during a search, reconnect, and verify that persisted results remain available without creating a duplicate job or misreporting completion. Conclusion The MetaMask error was a legitimate clue. The successful retry was a useful observation. Neither justified the full story that initially seemed to connect them. The engineering opportunity was larger than identifying one extension: - Separate transport health from job health. - Separate application failures from telemetry noise. - Test active and silent streams independently. - Make recovery behavior explicit. - Ask AI for falsifiable experiments rather than confident explanations. A clean console is not proof of a healthy system. A successful retry is not proof of a root cause. Build tests that can tell the difference. created by : almodarresieh.github.io

    1 reaction
  2. @datlqqq github.com/kortix-ai/suna/tree/dev/apps/capture although Kortix Capture first deployment is going live as we speak :)

    4 views
  3. Kortix - The open-source AI Operating System The leading open-source alternative to Claude Cowork and ChatGPT Work. kortix-ai/suna t.co

    1 like · 120 views
  4. Kortix 0.13.56 adds a Files page and brings project Apps into view. Small UX changes like this matter: open-source AI agents are more useful when their work and integrations are easy to inspect. Source: github.com/kortix-ai/suna/releases/tag/v0.13.56

    2 views
  5. CrewAI Alternatives: The Open-Source Option for Work Bigger Than One App You can feel the limit before you name it. The crew runs clean in your terminal, then a teammate asks why it cannot see last quarter's tickets, and another asks who approved the email it sent a customer. CrewAI did its job and showed the team that agents can collaborate. When the work gets bigger than one application, what you want next is a system you own end to end, and that is Kortix, the open-source AI Operating System. Kortix is the open-source AI Operating System: your agents, their skills, your company memory, and every connector in one git repo you own, with the agents working on real cloud computers. CrewAI stays the right tool for a lot of work. The question is narrower than "which is better": which parts of a company-wide job a framework leaves to you, and what to reach for when those parts become the job. What CrewAI is good at CrewAI is an open-source Python framework for orchestrating role-playing, autonomous agents (CrewAI on GitHub). It gives a developer two primitives. A Crew is a team of role-based agents that collaborate and delegate tasks among themselves. A Flow is an event-driven workflow that manages state and controls execution, and a Flow can call a Crew at one of its steps. CrewAI's documentation puts Flows at the backbone of an application and Crews as the units of work inside them (CrewAI docs). That shape fits when the deliverable is a Python application your engineers own and operate. You install the framework, describe agents and tasks, wire them into a service or a job, and deploy it wherever that Python code runs. A nightly research pass, a pipeline with a fixed shape, a report a developer can follow in the trace: these are CrewAI's home ground. CrewAI also sells a commercial layer around the framework. Its own site positions itself as "the enterprise agent build and runtime for the work your business runs on," and the repository describes CrewAI AMP Suite as adding managed deployment, observability, governance, security and enterprise support (crewai.com, CrewAI on GitHub). The framework is open source and free to build on. Checked October 2026: the repository carried about 59,700 GitHub stars, and the latest release, 1.15.28, shipped on 14 October 2026 (CrewAI on GitHub). Where a framework stops being enough Most CrewAI roundups compare frameworks to frameworks. The dimension that decides a move is different: who owns the runtime, and who owns the memory. A framework answers how agents work together in code. It stops there, and the parts of a company-wide job stay with the team that deploys it. Durable shared memory. A framework keeps what you tell it to persist for that run. Making several people and several agents share one company memory that outlives every run, and that a later run can read and build on, is a system you build. Connectors to the whole company. A framework gives you a place to call a tool. Wiring each app, holding the credential, and deciding which agent may touch what stays in your application. Review by someone other than the author. In a framework, the reviewer reads the code that runs the agents. The agent's output has no diff to approve until someone builds one. Governance. Per-resource permissions, an audit trail and approval gates are things a platform owns. A library that does not own the runtime cannot ship them. A surface for people who are not Python engineers. A framework runs where your application runs. A teammate in sales or finance who should start a job needs an interface someone has to build. None of these is a flaw in CrewAI. They sit outside the layer a framework covers, and they are the parts that grow once the agents stop belonging to one team's codebase. The other Python frameworks share the same boundary CrewAI is not the only framework in this lane, and the boundary moves with the framework rather than away from it. LangGraph is a low-level orchestration framework and runtime for long-running, stateful agents. Its checkpointers keep a thread's state and its stores keep data across threads, so a graph can resume after a failure and remember across interactions (LangGraph overview, LangGraph persistence). That durability is real. It is still a runtime you assemble and a storage layer you configure, and the ownership question stays yours. What to look at instead: Kortix, the open-source AI Operating System Kortix is the system around the agents, and you own it end to end. The agents, their skills, the company memory, the connector config and the triggers are files in one git repo you own, so the company is versioned, diffable and auditable like code. The framework question is answered inside that repo. OpenCode is the harness, configured by a file, so the layer that turns a model into an agent is not the thing you are locked into. Each session runs on its own cloud computer. One isolated sandbox per session. Each session has its own isolated machine and branch, so an agent can install, run and break anything, and only what it commits survives. Thousands of agents in parallel on one config, each on its own cloud computer. Connectors reach 3,000+ apps in a click, plus MCP, OpenAPI, Postman, GraphQL and raw HTTP. Connector credentials are brokered server-side and never enter the machine. On the people side, per-resource permissions for people and agents, roles, groups, and an audit trail. Approval gates you set, off until you set them. Work lands through review. Session work reaches main through a change request. Merge is default-deny for agents, so a person who did not write the prompt reads the diff and decides what ships. The same system is reachable from the web app, the CLI, Slack and Microsoft Teams, which is how a teammate who is not an engineer starts a job. Model choice stays yours: any model provider with your own keys. Run it on Kortix Cloud, in your VPC, or on your own on-prem network. Self-host is free. Kortix is open source: read it, fork it, audit it, with 20,000+ GitHub stars on Kortix on GitHub. The Kortix docs show the mechanics. How to decide The choice turns on the work itself. Three questions settle it. Does the context outlive one run? If each run starts fresh, a framework is enough. If a later run needs to build on what an earlier one learned, you need memory the company owns rather than memory a process holds. Who reviews the output? If the author reads it, a framework is enough. If a second person signs off before it changes anything, you need a review gate a platform runs. Who starts the work? If only the engineers who wrote it start it, a framework is enough. If a teammate in another function starts it from chat or a form, you need a surface outside the codebase. When every answer lands on the framework side, keep CrewAI. It is the right shape for an agent that lives inside one application, and you lose nothing by staying. When any answer lands on the system side, the missing piece is a system the company runs, because a library that does not own the run environment cannot add it. That is the case for Kortix, the open-source AI Operating System. crewai-alternative.com maps the wider field, and the alternatives comparison puts the tools side by side. To start, Try Kortix.

  6. Gumloop is a hosted builder. What an open-source alternative changes for a team Gumloop is a no-code builder for AI agents that work across the tools a team already uses. Its agents open a real browser, click, type and pull data from any site, with or without an API, and the product documents a password vault for agent logins, session recordings with passwords masked, and a handoff to a person when a site needs one. For operations work that is a genuinely useful shape. The question buyers keep asking is what to pick instead when a hosted builder is the wrong fit, and that question has a specific answer. What Gumloop is, from its own pages Gumloop describes itself as agent infrastructure: one teammate builds an agent and the whole org puts it to work, each person in their own chats. Slack, Microsoft Teams and Gmail are surfaces it plugs into, and triggers start a run when a meeting ends, a lead fills in a form or an issue is filed. Pricing starts at 37 dollars a month on the Pro plan, with Enterprise custom (checked October 2026). Every run is scored against rules the team sets. The pattern is familiar: a hosted product, its cloud, its connectors, its model choices. What actually pushes a team off a hosted builder The reasons repeat across the teams that switch: - The configuration lives in someone else's product, not in a file the team owns. You cannot diff last month's configuration against this month's, or roll one agent back without rolling all of them. - The connector credentials sit with the vendor. A security review asks where the agent's access is scoped and what stops an agent from calling a tool it should not touch. - The audit trail is a product feature, not something the team can grep. - The builder is one tool in the stack rather than the place the whole operation runs. None of those are defects in Gumloop. They are properties of the hosted shape, and they are exactly why the open-source route exists. What an open-source alternative changes Kortix is the open-source AI Operating System. The difference is not a feature list, it is where the system lives: agents, skills, memory, connector configuration and triggers are files in one git repo the team owns, not settings in a vendor's database. That single decision changes four things a team can verify: - You run it where you want. Self-host free with one Docker Compose stack, in your own VPC, on-prem, or use the managed cloud. The same configuration works in each. - Any model, your keys. Kortix is model-agnostic: choose the model per agent, per session or per message, bring your own API key from any major provider, or use the subscription you already pay for. - Every session gets its own isolated machine, on its own branch, named after the session. The agent can install, run and break anything; only what it commits survives. - Work reaches main through a change request you review, so the whole operation improves one reviewed change at a time. Connector credentials are brokered server-side and never enter the machine, per-tool rules can allow, ask or block a call down to its arguments, and every change to an agent or a skill lands as a diff. If the job is a fixed flowchart, a workflow engine such as n8n is the right tool. If the job is an open-ended piece of work an agent does on its own computer, with the configuration in git and a person approving what it changes, the open-source system is the better fit. Where to start If you are evaluating what to use instead of Gumloop, two questions decide it: 1. Does the team need to own the configuration, or is a rented builder fine? 2. Does the work arrive as a fixed sequence of steps, or as open-ended jobs that need their own machine? The alternative compared page-by-page, including the pricing shapes and the self-hosting route, is at gumloopalternative.com. The code is at kortix-ai/suna and the docs are at kortix.com.

  7. When an agent framework stops being enough You pick an agent framework to build the agent. The framework answers how the agent reasons: the graph, the roles, the tools, the step where a person signs off. It says nothing about who owns the system the agents run on, or how the work they produce gets reviewed. That second question is the one teams hit late. Kortix is the open-source AI Operating System a company owns end to end, and the decision between a framework and a platform is about ownership rather than capability. What each one is LangGraph is a low-level orchestration framework for building stateful agents, released under the MIT license. Its own repository describes durable execution, human-in-the-loop interrupts, short and long-term memory, and LangSmith for debugging and deployment. You write the agent logic in Python, host it yourself, and wire in the models and tools your application needs. The framework gives a developer exact control, and that control is the point. CrewAI is an open-source Python framework for multi-agent workflows, also MIT-licensed. It gives two primitives: Crews, teams of role-based agents that collaborate and delegate, and Flows, event-driven automations with explicit state and branching. For a team already building in Python, both are a short path from nothing to agents that work together. Kortix is different in kind. It is the open-source AI Operating System where a company's agents, skills, memory and connectors live as files in one git repo the company owns. Each session runs on its own isolated cloud computer, and the work an agent produces lands as a change request a person reviews against the diff before it reaches the main branch. There is no framework to import and no application to build around it; the repo is the system. A framework answers how an agent thinks. An owned platform answers where the system lives, who can read it, and who approves what it changes. Framework or platform: the decision | | Kortix | LangGraph | CrewAI | | --- | --- | --- | --- | | What it is | A company's agents, memory and connectors in one owned repo | A low-level framework for stateful agents | A Python framework for multi-agent workflows | | Open source | Yes | Yes, MIT | Yes, MIT | | Who runs it | The company, cloud, VPC or on-prem | You deploy the library | You deploy the app | | Shared memory | Company memory as files in the repo | Memory in your own store | Per-run state you persist | | Human review | A change request a person approves | Interrupts you code | Review you add in code | | Model choice | Any model, your keys | Model-agnostic | Any LLM through its API | Where a framework is the right tool A framework is the right choice when a single team builds agent behavior inside an application it already runs and owns. You want the graph and the state to be code you control, you want to test it like any other software, and the agents are a feature of your product rather than the way the whole company works. Both LangGraph and CrewAI are strong engines for that job. Where a team outgrows it The pressure arrives when more than one person and more than one agent share the same context. Three things change at once. Shared state becomes the first problem. When several agents need the same company memory, and several people need to see what each one learned, a store inside one application stops being the right home. Kortix keeps that memory as files in a repo the whole team versions and reviews. Reaching real tools is the second. Wiring a CRM, a billing system and a code host into agent logic stays application plumbing until the rules about which agent may touch which tool need to live somewhere a reviewer can read. Kortix reaches 3,000+ apps in a click, plus MCP, OpenAPI, Postman, GraphQL and raw HTTP, and connector credentials are brokered server-side so they never enter the machine. Review is the third. Work that changes something the company depends on should land the way code lands. In Kortix, a session cuts its own branch, an agent proposes its work as a change request with the exact diff, and merge is default-deny for agents. A person decides what ships. What an owned platform adds Because Kortix keeps the whole system in one repo, you can read it, fork it and run it yourself. Self-hosting is free, and the same stack runs on Kortix Cloud, in your VPC or on your own on-prem network. Any model provider works with your own keys, including the ChatGPT plan you already pay for. Per-resource permissions cover people and agents, and every action is recorded. The point is not that a framework is worse. A framework is a building block, and a building block is exactly what a developer wants for one application. The point is that a company eventually needs a place where the agents, the memory, the rules and the review all live together, in something it owns. If you are weighing the two, start with what your team has to own. Kortix on GitHub is where you read, fork and audit the whole thing, and you can run your first session for free at kortix.com.

  8. Manus has no self-host. What your real options are when that is the problem Manus is a capable agent, and it is honest about what it is: a hosted product you sign in to. You reach it through the web, desktop and mobile apps, and the tasks you run, the files they touch and the results they produce live inside Manus rather than on your own hardware. There is no self-host path to install. For a lot of people that is exactly right. One subscription, no servers, a good agent in a nice interface. If you are an individual who wants an agent for an afternoon's work, that trade is fine and you should take it. It becomes a problem in three situations that come up again and again: - A client, a regulator or a security review asks where the data physically went. - The work needs to reach an internal system that is not on the public internet. - The bill is per-seat and the number of seats keeps growing. If you are in one of those, the question is not "which agent is smartest". It is "which of these can I actually run myself". The self-host routes that exist - OpenHands runs locally, in Docker, or in your own cloud. Strongest when the work is code. - OpenClaw puts a single Gateway process on a computer you own. A personal setup, not a company one. - Hermes supports seven backends, including local, Docker, SSH and hosted runners. Flexible, and you assemble the rest yourself. - n8n is a Docker container on your infrastructure or their cloud. Excellent when the work is a fixed sequence of steps. - Kortix installs as one self-hosted stack on a server you control, from a laptop to on-prem. Each of these is a real answer, and they are not competing for the same job. A fixed workflow belongs on n8n. A code task belongs on a coding agent. The uncomfortable case is the one most teams actually have: irregular work, several systems, more than one person, and an audit trail somebody will ask for later. What Kortix is Kortix is the open-source AI Operating System. The point of it is that the whole setup is a git repository you own: - Agents and skills are markdown files. Company memory is plain files. Connectors, triggers and permissions are declared in kortix.yaml. - Every session runs on its own isolated machine and its own branch. Work reaches main through a change request a person reads as a diff, and merge is default-deny for agents. - Any model provider with your own keys, or the ChatGPT plan you already pay for. A cheap model for the bulk of the work, a frontier model where it earns its keep. - Over 3,000 apps plus MCP, OpenAPI, Postman and GraphQL, with connector credentials brokered server-side so they never enter the machine. - Self-host is free on a laptop, a VPS, in your VPC or on-prem. A managed cloud exists too. The trade is the usual one: you run something instead of renting a login. In exchange, the data stays where you put it, the cost stops scaling with headcount, and what the company teaches its agents stays in a repository it controls. - Kortix vs Manus, side by side - The self-hostable Manus alternatives compared - Kortix: kortix.com and Kortix on GitHub

  9. YouTube · · YouTube description · AINews-GitHubHuggingFace

    Top 10 AI GitHub Repos Blowing Up Right Now (Oct 2026) #Shorts Today's fastest-rising AI repositories on GitHub, ranked by real momentum from the last 24-48 hours rather than all-time size. Every repository was checked against the GitHub API on 12 October 2026, and the list is dominated by agent infrastructure: orchestration runtimes, control planes, memory layers, security skills and fast decision engines. Ranked list (the video counts down 10 → 1): 1. open-webui/open-webui — open-webui/open-webui 2. ggml-org/llama.cpp — ggml-org/llama.cpp 3. browser-use/browser-use — browser-use/browser-use 4. OpenHands/OpenHands — OpenHands/OpenHands 5. unclecode/crawl4ai — unclecode/crawl4ai 6. mem0ai/mem0 — mem0ai/mem0 7. crewAIInc/crewAI — crewAIInc/crewAI 8. langchain-ai/langgraph — langchain-ai/langgraph 9. microsoft/graphrag — microsoft/graphrag 10. kortix-ai/suna — kortix-ai/suna Disclaimer: rankings are based on GitHub trending and star-velocity snapshots for 12 October 2026 and change daily. Star counts are approximate and move fast — they were read from the GitHub API on the day of recording. Licences are mentioned only where a repository clearly states one. New AI GitHub Top 10 every day — subscribe for tomorrow's list. #GitHub #AI #Agents #OpenSource #LLM #MachineLearning --- More AI content --- ⚡ AI in 60 Seconds: youtube.com 🤖 Hermes Agent News: youtube.com 🔬 Top 10 HF Models: youtube.com 💬 Join our Discord community: discord.gg

    1 comment · 142 views

Latest stargazers

The last 10 distinct accounts we observed this year.

Most active participants

PR, issue, comment & review events in the past year.

Packages

20
PackageVersionDownloads · 30dTrend · 30d
———
———
———
———
———
———
———
———
———
———
———
———
———
———
v0.14.7
≥1.9K
———
v0.9.99
≥4K
v0.9.99
≥2.2K
@kortix/uiv0.14.7
v0.14.7——
v3.0
≥28.1K

README badges

Embed a badge in your README or website.

  • kortix-ai/suna reached #1 in daily stars on gitwal · Apr 25, 2025
  • kortix-ai/suna reached #3 in weekly stars on gitwal · Week of Apr 21, 2025
  • kortix-ai/suna reached #2 in daily forks on gitwal · Apr 25, 2025
Live mentions · last 30 days
kortix-ai/suna mentions in the last 30 days