Version 2 of 4 · · razie via designer-106designer · Current version

Open the page

---
description: Onboard your AI: the three doors for every level (A prompt, B chat loop, C background agents; C on Pro and Conductor only). Where Settings → Onboard your AI and the user menu's Connect your AI go (razie, designer-106 chat, 2026-10-12).
tags: page, onboarding, agents
---
<!doctype html>
<html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"><meta name="color-scheme" content="light dark"><title>Onboard your AI</title>
<style>
:root{--paper:#fbfaf7;--card:#fff;--ink:#1d1d1b;--soft:#6b6a66;--line:#e4e1da;--rose:#b23a48;--ok:#2f8f4e;--lv:#6c8cff;--display:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;--body:system-ui,-apple-system,'Segoe UI',sans-serif}
@media (prefers-color-scheme:dark){:root{--paper:#141413;--card:#1d1d1b;--ink:#ecebe6;--soft:#9c9a93;--line:#33322f;--rose:#f08a92;--ok:#6cc58a}}
*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0}body{font:calc(15px*var(--fz,1))/1.5 var(--body)}
.sp-wrap{max-width:900px;margin:0 auto;padding:6px clamp(12px,3vw,28px) 56px}
h1{font:800 calc(clamp(26px,4vw,34px)*var(--fz,1))/1.1 var(--display);letter-spacing:-.02em;margin:12px 0}
h2{font:800 22px/1.2 var(--display);margin:28px 0 8px}a{color:var(--lv)}.small{font-size:13px;color:var(--soft)}
ul{padding-left:20px}li{margin:4px 0}
.btn{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:9px;padding:6px 12px;font:600 14px/1.2 var(--body);cursor:pointer}
.sp-go{border:0;cursor:pointer;padding:14px 30px;border-radius:999px;background:var(--lv);color:#111;font:800 1.3em/1.2 var(--body);box-shadow:0 2px 8px rgba(0,0,0,.18);text-decoration:none;display:inline-block}.sp-go:disabled{opacity:.6;cursor:default}
.sp-say{display:block;margin-top:8px;color:var(--rose);font-size:13px;min-height:1em}
</style>
</head><body><div class="sp-wrap">
<style>
.d{font:inherit;color:inherit;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:4px 0 8px}
.o{border:1px solid color-mix(in srgb,var(--ink,#1d1d1b) 18%,transparent);border-radius:14px;padding:14px 16px;background:var(--card,#fff);display:flex;flex-direction:column;gap:8px}
.o.a{border-top:4px solid #e0a43a;background:linear-gradient(180deg,color-mix(in srgb,#e0a43a 22%,var(--card,#fff)),var(--card,#fff) 60%)}
.o.b{border-top:4px solid #6c8cff;background:linear-gradient(180deg,color-mix(in srgb,#6c8cff 22%,var(--card,#fff)),var(--card,#fff) 60%)}
.o.c{border-top:4px solid #b07cf0;background:linear-gradient(180deg,color-mix(in srgb,#b07cf0 22%,var(--card,#fff)),var(--card,#fff) 60%)}
.o.a .k{color:#e0a43a}.o.b .k{color:#6c8cff}.o.c .k{color:#b07cf0}
.k{font-size:12px;letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.t{font-size:18px;font-weight:600}
.o p{margin:0;line-height:1.45}
.o ul{margin:0;padding-left:18px;line-height:1.5}
.scale{grid-column:1/-1;height:6px;border-radius:99px;background:linear-gradient(90deg,#e0a43a,#4fb3a9,#6c8cff,#b07cf0)}
.go{margin-top:auto;align-self:flex-start;padding:7px 14px;border-radius:9px;border:1px solid currentColor;text-decoration:none;color:inherit}
.o.a .go{background:#e0a43a;border-color:#e0a43a;color:#111}.o.b .go{background:#6c8cff;border-color:#6c8cff;color:#fff}.o.c .go{background:#b07cf0;border-color:#b07cf0;color:#fff}
.o.off{opacity:.5;filter:grayscale(1)}.o.off .go{pointer-events:none}
.soon{font-size:13px;opacity:.8;margin:0}
</style>
<h1>Onboard your AI</h1>
<p>Your AI, such as Claude, works on this project as you: it reads and changes your pages and data, and every change carries its name. Pick how you want to work with it: each door connects it. Already connected? Pick a door to change how you work, or connect another AI. Its tokens are in <a href="/ai" data-go>AI permissions</a>.</p>
<h2>How do you want to work?</h2>
<p class="small">Three doors, simple to full. You can switch any time.</p>
<div class="d" id="doors">
<div class="scale"></div>
<div class="o a">
<div class="k">Door A</div>
<div class="t">Keep using your prompt</div>
<p>Stay in your AI's own chat: say what you want, it builds it here.</p>
<ul><li>Connect your AI in three steps</li><li>Your words, typed in your AI's app</li></ul>
<a class="go" href="/topics/AgentOnboardPrompt" target="_top">Connect your AI →</a>
</div>
<div class="o b">
<div class="k">Door B · step up</div>
<div class="t">Upgrade to a chat loop</div>
<p>Your AI joins the chat inside d2 and answers you here, beside the page you're looking at, with TurboChat: its options come as a pad you tap instead of type.</p>
<ul><li>One line to paste, and it's connected</li><li>Chat beside every page, no copy-paste</li></ul>
<a class="go" href="/page/AgentOnboardLoop" target="_top">Set up the chat loop →</a>
</div>
<div class="o c" id="doorc">
<div class="k">Door C · full power</div>
<div class="t">Run background agents</div>
<p>Your agents work while you're away: on your Mac or Linux machine, they pick up tasks from your pipeline, answer your chats and report back on the board.</p>
<ul><li>For people handy with Claude Code</li><li>Choose the roles, then where they run</li></ul>
<p class="soon" id="csoon" hidden>On Pro and Conductor projects.</p>
<a class="go" href="/page/AgentChooseRoles" target="_top">Choose your agents →</a>
</div>
</div>
</div>
<script>
(()=>{const D2=window.d2||{},$=s=>document.querySelector(s);
const P=Object.assign({},Object.fromEntries(new URLSearchParams(location.search)),D2.params||window.d2params||{});
const api=(m,u,b)=>D2.api?Promise.resolve(D2.api(m,u,b)):Promise.reject(new Error("E_BRIDGE: open this page in d2"));
const go=u=>D2.go?D2.go(u):(location.href=u);
const msg=e=>String(e&&e.message||e).replace(/^E_[A-Z_]+: /,"");
document.addEventListener("click",e=>{const a=e.target.closest&&e.target.closest("a[data-go]");if(!a)return;e.preventDefault();go(a.getAttribute("href"))});
// Door C only on Pro and Conductor (GET /api/v2/me → here.level)
document.querySelectorAll('#doors a.go').forEach(a=>a.setAttribute('data-go',''));
(async()=>{try{const m=await api("GET","/api/v2/me");const lv=m&&m.here&&m.here.level;const c=$("#doorc");
  if(lv==="hero"||lv==="creator"){c.classList.add("off");$("#csoon").hidden=false}
  else if(lv){c.querySelector(".go").setAttribute("href","/page/AgentChooseRoles?level="+(lv==="master"?"master":"pro"))}}catch(e){}})();
})();
</script>
</body></html>