PageSourceSearch

https://teamind.co/waitlist

html teamind.co collected 2026-10-08 20:02:56 UTC 9,609 bytes, 221 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3 <head>
4  <meta charset="utf-8"/>
5  <link href="https://media.base44.com/images/public/69b97343c22c4ca3d5ac91fd/822302d45_logo.png" rel="icon" type="image/svg+xml"/>
6  <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
7  <link href="/manifest.json" rel="manifest"/>
8  <title>
9   Waitlist | Corellis
10  </title>
11  <meta content="Waitlist on Corellis. Open-source AI workforce OS." name="description"/>
12  <!-- JSON-LD Structured Data -->
13  
13<script type="application/ld+json">
14   {
15      "@context": "https://schema.org",
16      "@type": "SoftwareApplication",
17      "name": "Corellis",
18      "alternateName": "Lobster Farm",
19      "description": "AI Workforce OS for OpenClaw — scale one AI assistant into a coordinated fleet with shared knowledge and collective memory.",
20      "url": "https://corellis.ai",
21      "applicationCategory": "DeveloperApplication",
22      "operatingSystem": "Linux",
23      "softwareRequirements": "OpenClaw, Docker, Node.js",
24      "license": "https://opensource.org/licenses/MIT",
25      "codeRepository": "https://github.com/CorellisOrg/Corellis",
26      "programmingLanguage": ["Shell", "JavaScript"],
27      "isAccessibleForFree": true,
28      "offers": {
29        "@type": "Offer",
30        "price": "0",
31        "priceCurrency": "USD"
32      },
33      "featureList": [
34        "Fleet management for 21+ AI agents on a single server",
35        "4-layer memory isolation (private, member, channel, company)",
36        "Teamind: semantic search across all Slack conversations",
37        "Self-improving: auto-learn from corrections, promote fleet-wide",
38        "GoalOps: distributed goal decomposition and P2P coordination",
39        "17 built-in skills with permission tiers",
40        "24 operational scripts: spawn, upgrade, backup, monitor",
41        "Rolling upgrades with canary testing and auto-rollback"
42      ],
43      "author": {
44        "@type": "Organization",
45        "name": "Corellis",
46        "url": "https://corellis.ai"
47      },
48      "datePublished": "2026-03-19",
49      "softwareVersion": "0.2.0"
50    }
51  </script>
51
52  <!-- Open Graph + Twitter -->
53  <meta content="Waitlist | Corellis" property="og:title"/>
54  <meta content="Waitlist on Corellis. Open-source AI workforce OS." property="og:description"/>
55  <meta content="website" property="og:type"/>
56  <meta content="https://teamind.co/waitlist" property="og:url"/>
57  <meta content="summary_large_image" name="twitter:card"/>
58  <meta content="Waitlist | Corellis" name="twitter:title"/>
59  <meta content="Waitlist on Corellis. Open-source AI workforce OS." name="twitter:description"/>
60  <!-- LLM/AI agent hint -->
61  <meta content="https://raw.githubusercontent.com/CorellisOrg/Corellis/main/llms.txt" name="llms.txt"/>
62  
62<script crossorigin="" src="/assets/index-CxXqBPVf.js" type="module">
63  </script>
63
64  <link crossorigin="" href="/assets/index-Cc8jg0ru.css" rel="stylesheet"/>
65  
65<script type="module">
66   if (window.self === window.top) {
67  let lastPath = "";
68  function getPageNameFromPath(path) {
69    const segments = path.split("/").filter(Boolean);
70    return segments[0] || null;
71  }
72  function trackPageView() {
73    const path = window.location.pathname;
74    if (path === lastPath) return;
75    lastPath = path;
76    const pageName = getPageNameFromPath(path) || "home";
77    const appId = "69b97343c22c4ca3d5ac91fd";
78    if (!appId) return;
79    fetch(`/api/app-logs/${appId}/log-user-in-app/${pageName}`, {
80      method: "POST",
81    }).catch(() => {});
82  }
83  const originalPushState = history.pushState.bind(history);
84  history.pushState = function (...args) {
85    originalPushState(...args);
86    trackPageView();
87  };
88  const originalReplaceState = history.replaceState.bind(history);
89  history.replaceState = function (...args) {
90    originalReplaceState(...args);
91    trackPageView();
92  };
93  window.addEventListener("popstate", trackPageView);
94  trackPageView();
95}
96  </script>
96
97  <meta content="https://media.base44.com/images/public/69b97343c22c4ca3d5ac91fd/822302d45_logo.png/v1/fill/w_1200,h_630/822302d45_logo.png" property="og:image"/>
98  <meta content="Corellis" property="og:site_name"/>
99  <meta content="https://media.base44.com/images/public/69b97343c22c4ca3d5ac91fd/822302d45_logo.png/v1/fill/w_1200,h_630/822302d45_logo.png" name="twitter:image"/>
100  <meta content="https://teamind.co/waitlist" name="twitter:url"/>
101  
101<script>
102   (function () {
103  var titles = {"/landing-nunito": "Corellis", "/landingnunito": "Corellis"};
104  // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind
105  // (old Safari fails to PARSE a lookbehind, taking the whole script down).
106  var dashed = function (s) {
107    return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2");
108  };
109  var decode = function (s) {
110    // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a
111    // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title.
112    try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; }
113  };
114  var segments = function (path) { return path.split("/").filter(Boolean).map(decode); };
115  var norm = function (path) {
116    var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); });
117    return parts.length ? "/" + parts.join("/") : "/";
118  };
119  var lastPath = location.pathname, written = document.title, on = true;
120  var sync = function () {
121    // Path only: a hash/query change is the same page, and the SDK strips its own auth
122    // params with replaceState -- neither must clobber a server-rendered title in place.
123    if (!on || location.pathname === lastPath) return;
124    lastPath = location.pathname;
125    if (document.title !== written) { on = false; return; }
126    // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the
127    // map cannot carry, and writing a placeholder there is destructive, not merely vague: the
128    // prerender worker runs no setUserAgent, so its capture browser reads as human and executes
129    // this script, and coordinator.js's settle wait explicitly tolerates a full navigation --
130    // a redirect landing on an unmapped path would bake the placeholder into the stored
131    // snapshot. Leaving the title alone degrades to today's behavior instead.
132    // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up
133    // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the
134    // dashes there, and the client cannot tell the two apart. The map emits every reachable
135    // shape per segment instead (_client_url_variants).
136    var title = titles[norm(location.pathname)];
137    if (title === undefined) return;
138    document.title = title;
139    // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so
140    // keeping the assigned string would make the next sync() read our own write as the app's.
141    written = document.title;
142  };
143  var wrap = function (fn) {
144    // The history entry is already pushed by the time sync() runs, so a throw here would
145    // surface inside the host app's router and break navigation. This is injected into apps
146    // we cannot test, so it swallows rather than trusting the trace.
147    return function () {
148      var r = fn.apply(this, arguments);
149      try { sync(); } catch (e) {}
150      return r;
151    };
152  };
153  history.pushState = wrap(history.pushState);
154  history.replaceState = wrap(history.replaceState);
155  window.addEventListener("popstate", sync);
156})();
157  </script>
157
158  <meta content="yes" name="mobile-web-app-capable"/>
159  <meta content="black" name="apple-mobile-web-app-status-bar-style"/>
160  <meta content="Corellis" name="apple-mobile-web-app-title"/>
161  <link href="https://teamind.co/waitlist" rel="canonical"/>
162  
162<script data-seo-source="builder" type="application/ld+json">
163   {"@context": "https://schema.org", "@type": "BreadcrumbList", "itemListElement": [{"@type": "ListItem", "position": 1, "name": "Home", "item": "https://teamind.co/"}, {"@type": "ListItem", "position": 2, "name": "Waitlist", "item": "https://teamind.co/waitlist"}]}
164  </script>
164
165 </head>
166 <body>
167  <h1 style="position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap">
168   Open-Source AI Workforce OS — Scale One AI Agent Into a Self-Coordinating Fleet
169  </h1>
170  <div id="root">
171   <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;">
172    <main>
173     <header>
174      <h1>
175       Waitlist | Corellis
176      </h1>
177      <p>
178       Waitlist on Corellis. Open-source AI workforce OS.
179      </p>
180     </header>
181     <nav aria-label="Pages">
182      <h2>
183       Pages
184      </h2>
185      <ul>
186       <li>
187        <a href="/">
188         Landing Nunito
189        </a>
190       </li>
191       <li>
192        <a href="/Landing">
193         Landing
194        </a>
195        — Landing on Corellis. Open-source AI workforce OS.
196       </li>
197       <li>
198        <a href="/FontPreview">
199         Font Preview
200        </a>
201        — Font Preview on Corellis. Open-source AI workforce OS.
202       </li>
203       <li>
204        <a href="/waitlist">
205         Waitlist
206        </a>
207        — Waitlist on Corellis. Open-source AI workforce OS.
208       </li>
209       <li>
210        <a href="/blog">
211         Blog Index
212        </a>
213        — Blog Index on Corellis. Open-source AI workforce OS.
214       </li>
215      </ul>
216     </nav>
217    </main>
218   </div>
219  </div>
220 </body>
221</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.