[{"data":1,"prerenderedAt":827},["ShallowReactive",2],{"navigation":3,"\u002Fen\u002Ftutorials\u002Fquickstart":129,"\u002Fen\u002Ftutorials\u002Fquickstart-surround":822},[4,68],{"title":5,"path":6,"stem":7,"children":8,"page":22},"En","\u002Fen","en",[9,13,23],{"title":10,"path":11,"stem":12},"Product Overview","\u002Fen\u002Fintroduction","en\u002F0.introduction",{"title":14,"path":15,"stem":16,"children":17,"page":22},"Tutorials","\u002Fen\u002Ftutorials","en\u002F1.tutorials",[18],{"title":19,"path":20,"stem":21},"Quick Start","\u002Fen\u002Ftutorials\u002Fquickstart","en\u002F1.tutorials\u002Fquickstart",false,{"title":24,"path":25,"stem":26,"children":27,"page":22},"How To","\u002Fen\u002Fhow-to","en\u002F2.how-to",[28,32,36,40,44,48,52,56,60,64],{"title":29,"path":30,"stem":31},"Canvas Workspace","\u002Fen\u002Fhow-to\u002Fcanvas","en\u002F2.how-to\u002Fcanvas",{"title":33,"path":34,"stem":35},"Configuration","\u002Fen\u002Fhow-to\u002Fconfigure","en\u002F2.how-to\u002Fconfigure",{"title":37,"path":38,"stem":39},"Scheduled Tasks","\u002Fen\u002Fhow-to\u002Fcron-jobs","en\u002F2.how-to\u002Fcron-jobs",{"title":41,"path":42,"stem":43},"Configuring System Service","\u002Fen\u002Fhow-to\u002Finstall","en\u002F2.how-to\u002Finstall",{"title":45,"path":46,"stem":47},"Managing Instructions","\u002Fen\u002Fhow-to\u002Finstructions","en\u002F2.how-to\u002Finstructions",{"title":49,"path":50,"stem":51},"MCP Servers","\u002Fen\u002Fhow-to\u002Fmcp-servers","en\u002F2.how-to\u002Fmcp-servers",{"title":53,"path":54,"stem":55},"Managing Profiles","\u002Fen\u002Fhow-to\u002Fprofiles","en\u002F2.how-to\u002Fprofiles",{"title":57,"path":58,"stem":59},"Configuring Runtimes","\u002Fen\u002Fhow-to\u002Fruntimes","en\u002F2.how-to\u002Fruntimes",{"title":61,"path":62,"stem":63},"Managing Skills","\u002Fen\u002Fhow-to\u002Fskills","en\u002F2.how-to\u002Fskills",{"title":65,"path":66,"stem":67},"VS Code Integration","\u002Fen\u002Fhow-to\u002Fvscode","en\u002F2.how-to\u002Fvscode",{"title":69,"path":70,"stem":71,"children":72,"page":22},"Zh","\u002Fzh","zh",[73,77,85],{"title":74,"path":75,"stem":76},"产品概述","\u002Fzh\u002Fintroduction","zh\u002F0.introduction",{"title":14,"path":78,"stem":79,"children":80,"page":22},"\u002Fzh\u002Ftutorials","zh\u002F1.tutorials",[81],{"title":82,"path":83,"stem":84},"快速开始","\u002Fzh\u002Ftutorials\u002Fquickstart","zh\u002F1.tutorials\u002Fquickstart",{"title":24,"path":86,"stem":87,"children":88,"page":22},"\u002Fzh\u002Fhow-to","zh\u002F2.how-to",[89,93,97,101,105,109,113,117,121,125],{"title":90,"path":91,"stem":92},"Canvas 工作区","\u002Fzh\u002Fhow-to\u002Fcanvas","zh\u002F2.how-to\u002Fcanvas",{"title":94,"path":95,"stem":96},"配置","\u002Fzh\u002Fhow-to\u002Fconfigure","zh\u002F2.how-to\u002Fconfigure",{"title":98,"path":99,"stem":100},"定时任务","\u002Fzh\u002Fhow-to\u002Fcron-jobs","zh\u002F2.how-to\u002Fcron-jobs",{"title":102,"path":103,"stem":104},"配置系统服务","\u002Fzh\u002Fhow-to\u002Finstall","zh\u002F2.how-to\u002Finstall",{"title":106,"path":107,"stem":108},"管理指令文件","\u002Fzh\u002Fhow-to\u002Finstructions","zh\u002F2.how-to\u002Finstructions",{"title":110,"path":111,"stem":112},"MCP 服务器","\u002Fzh\u002Fhow-to\u002Fmcp-servers","zh\u002F2.how-to\u002Fmcp-servers",{"title":114,"path":115,"stem":116},"管理 Profile","\u002Fzh\u002Fhow-to\u002Fprofiles","zh\u002F2.how-to\u002Fprofiles",{"title":118,"path":119,"stem":120},"配置 Runtime","\u002Fzh\u002Fhow-to\u002Fruntimes","zh\u002F2.how-to\u002Fruntimes",{"title":122,"path":123,"stem":124},"管理 Skill","\u002Fzh\u002Fhow-to\u002Fskills","zh\u002F2.how-to\u002Fskills",{"title":126,"path":127,"stem":128},"VS Code 集成","\u002Fzh\u002Fhow-to\u002Fvscode","zh\u002F2.how-to\u002Fvscode",{"id":130,"title":19,"body":131,"description":815,"extension":816,"links":817,"meta":818,"navigation":819,"path":20,"seo":820,"stem":21,"__hash__":821},"docs\u002Fen\u002F1.tutorials\u002Fquickstart.md",{"type":132,"value":133,"toc":798},"minimark",[134,138,143,164,169,172,267,271,274,295,298,304,312,315,320,323,329,332,337,340,346,349,354,357,363,368,371,377,380,386,390,393,406,409,492,503,507,522,525,531,546,553,580,584,587,593,596,600,634,651,654,660,663,673,676,682,691,697,706,712,723,759,763,769,773,794],[135,136,137],"p",{},"This tutorial walks you through the complete first-time Sink workflow:\ninitialize configuration, start the Web UI, and create and run your\nfirst AI task.",[139,140,142],"h2",{"id":141},"prerequisites","Prerequisites",[144,145,146,155],"ul",{},[147,148,149,150,154],"li",{},"The ",[151,152,153],"code",{},"sink"," binary is in your PATH (provided by the distribution)",[147,156,157,158,163],{},"At least one supported Agent Runtime is installed locally (see\n",[159,160,162],"a",{"href":161},"#runtime-requirements","Runtime requirements"," below)",[165,166,168],"h3",{"id":167},"runtime-requirements","Runtime Requirements",[135,170,171],{},"Each Builtin Runtime has specific prerequisites:",[173,174,175,191],"table",{},[176,177,178],"thead",{},[179,180,181,185,188],"tr",{},[182,183,184],"th",{},"Runtime",[182,186,187],{},"Requirements",[182,189,190],{},"Install hint",[192,193,194,216,235,251],"tbody",{},[179,195,196,200,209],{},[197,198,199],"td",{},"Claude Code",[197,201,202,205,206],{},[151,203,204],{},"claude >= 2.1.0"," + ",[151,207,208],{},"claude-agent-acp",[197,210,211],{},[159,212,213],{"href":213,"rel":214},"https:\u002F\u002Fcode.claude.com\u002Fdocs\u002Fen\u002Fquickstart#step-1-install-claude-code",[215],"nofollow",[179,217,218,221,229],{},[197,219,220],{},"Codex",[197,222,223,205,226],{},[151,224,225],{},"codex >= 0.125.0",[151,227,228],{},"codex-acp",[197,230,231],{},[159,232,233],{"href":233,"rel":234},"https:\u002F\u002Fdevelopers.openai.com\u002Fcodex\u002Fcli#cli-setup",[215],[179,236,237,240,245],{},[197,238,239],{},"Factory Droid",[197,241,242],{},[151,243,244],{},"droid >= 0.114.0",[197,246,247],{},[159,248,249],{"href":249,"rel":250},"https:\u002F\u002Fdocs.factory.ai\u002Fcli\u002Fgetting-started\u002Fquickstart#step-1-install-and-start-droid",[215],[179,252,253,256,261],{},[197,254,255],{},"OpenCode",[197,257,258],{},[151,259,260],{},"opencode >= 1.14.0",[197,262,263],{},[159,264,265],{"href":265,"rel":266},"https:\u002F\u002Fopencode.ai\u002Fdocs\u002Finstall",[215],[139,268,270],{"id":269},"step-1-initialize-configuration","Step 1: Initialize Configuration",[135,272,273],{},"Run the initialization command:",[275,276,281],"pre",{"className":277,"code":278,"language":279,"meta":280,"style":280},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","sink init\n","bash","",[151,282,283],{"__ignoreMap":280},[284,285,288,291],"span",{"class":286,"line":287},"line",1,[284,289,153],{"class":290},"sBMFI",[284,292,294],{"class":293},"sfazB"," init\n",[135,296,297],{},"init runs the following interactive flow:",[135,299,300],{},[301,302,303],"strong",{},"1. Detect Installed Runtimes",[275,305,310],{"className":306,"code":308,"language":309},[307],"language-text","◆ Sink Init\n⠋ Detecting installed agent runtimes...\n✔ Detected 2 available runtime(s)\n","text",[151,311,308],{"__ignoreMap":280},[135,313,314],{},"The system scans for locally installed Builtin Runtimes (Claude Code,\nCodex, Factory Droid, OpenCode). If no supported Runtime is found, the\ncommand prints install instructions and exits.",[135,316,317],{},[301,318,319],{},"2. Select Default Profile Runtime",[135,321,322],{},"The system displays available Runtimes with version hints. Use the arrow\nkeys to select, then press Enter:",[275,324,327],{"className":325,"code":326,"language":309},[307],"◆ Select runtime for the default profile\n│  ● claude-code   Claude Code (3.2.0 + claude-agent-acp)\n│  ○ codex         OpenAI Codex (0.130.0 + codex-acp)\n│  ○ factory-droid Factory Droid (0.120.0)\n│  ○ opencode     OpenCode (1.14.0)\n└\n",[151,328,326],{"__ignoreMap":280},[135,330,331],{},"Unavailable Runtimes are shown as disabled with a reason (e.g., “not\nfound” or “outdated”).",[135,333,334],{},[301,335,336],{},"3. Probe Runtime and Configure Default Profile",[135,338,339],{},"The system probes the selected Runtime via ACP to discover configuration\noptions (model, mode, etc.), then prompts you to configure the default\nProfile:",[275,341,344],{"className":342,"code":343,"language":309},[307],"◆ Profile name\n│  Default Profile (Claude Code)\n◆ Default model\n│  ● sonnet[1m]\n│  ○ opus\n│  ○ haiku\n◆ Profile description\n│  Generic agent using Claude Code\n◆ System prompt \u002F instructions (optional)\n│\n",[151,345,343],{"__ignoreMap":280},[135,347,348],{},"You can optionally create additional Profiles with different Runtimes.",[135,350,351],{},[301,352,353],{},"4. Review and Confirm",[135,355,356],{},"The system shows a diff preview of all files to be written:",[275,358,361],{"className":359,"code":360,"language":309},[307],"── Write Plan ─────────────────────────────────────────\nruntimes.json (create)\n  + {\"agentRuntimes\":{\"claude-code\":{...}}}\nsettings.json (create)\n  + {\"env\":{},\"logLevel\":\"info\"}\ngateway.json (create)\n  + {\"port\":5000,\"logLevel\":\"info\",\"authTokens\":[]}\nmcp.json (create)\n  + {\"mcpServers\":{}}\nprofiles\u002Fdefault.md (create)\n  + ---\n  + name: default\n  ...\nskills\u002F (create directory)\n────────────────────────────────────────────────────────\n◆ Proceed with write? (Y\u002Fn)\n",[151,362,360],{"__ignoreMap":280},[135,364,365],{},[301,366,367],{},"5. Optional: Install from Marketplace",[135,369,370],{},"If a default marketplace is configured, the system offers to install\nrecommended resources:",[275,372,375],{"className":373,"code":374,"language":309},[307],"◆ Install recommended resources from default marketplace [cclab\u002Fmarketplace]? (Y\u002Fn)\n",[151,376,374],{"__ignoreMap":280},[135,378,379],{},"When complete:",[275,381,384],{"className":382,"code":383,"language":309},[307],"✔ Sink is ready\n",[151,385,383],{"__ignoreMap":280},[139,387,389],{"id":388},"step-2-verify-the-default-profile","Step 2: Verify the Default Profile",[135,391,392],{},"After init completes, check the default Profile:",[275,394,396],{"className":277,"code":395,"language":279,"meta":280,"style":280},"cat ~\u002F.sink\u002Fprofiles\u002Fdefault.md\n",[151,397,398],{"__ignoreMap":280},[284,399,400,403],{"class":286,"line":287},[284,401,402],{"class":290},"cat",[284,404,405],{"class":293}," ~\u002F.sink\u002Fprofiles\u002Fdefault.md\n",[135,407,408],{},"The content will look similar to (the exact configDefaults depend on the\nRuntime’s ACP probe results):",[275,410,414],{"className":411,"code":412,"language":413,"meta":280,"style":280},"language-markdown shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","---\nname: default\ndescription: Generic agent using Claude Code\nruntime: claude-code\nconfigDefaults:\n  model:\n    type: string\n    value: sonnet[1m]\n    candidates:\n      - opus\n      - sonnet[1m]\n      - haiku\n---\n","markdown",[151,415,416,421,427,433,439,445,451,457,463,469,475,481,487],{"__ignoreMap":280},[284,417,418],{"class":286,"line":287},[284,419,420],{},"---\n",[284,422,424],{"class":286,"line":423},2,[284,425,426],{},"name: default\n",[284,428,430],{"class":286,"line":429},3,[284,431,432],{},"description: Generic agent using Claude Code\n",[284,434,436],{"class":286,"line":435},4,[284,437,438],{},"runtime: claude-code\n",[284,440,442],{"class":286,"line":441},5,[284,443,444],{},"configDefaults:\n",[284,446,448],{"class":286,"line":447},6,[284,449,450],{},"  model:\n",[284,452,454],{"class":286,"line":453},7,[284,455,456],{},"    type: string\n",[284,458,460],{"class":286,"line":459},8,[284,461,462],{},"    value: sonnet[1m]\n",[284,464,466],{"class":286,"line":465},9,[284,467,468],{},"    candidates:\n",[284,470,472],{"class":286,"line":471},10,[284,473,474],{},"      - opus\n",[284,476,478],{"class":286,"line":477},11,[284,479,480],{},"      - sonnet[1m]\n",[284,482,484],{"class":286,"line":483},12,[284,485,486],{},"      - haiku\n",[284,488,490],{"class":286,"line":489},13,[284,491,420],{},[135,493,494,495,498,499,502],{},"If adjustments are needed, edit this file directly. The ",[151,496,497],{},"runtime"," value\nmust match a Runtime ID in ",[151,500,501],{},"runtimes.json",".",[139,504,506],{"id":505},"step-3-start-the-gateway","Step 3: Start the Gateway",[275,508,510],{"className":277,"code":509,"language":279,"meta":280,"style":280},"sink gateway start\n",[151,511,512],{"__ignoreMap":280},[284,513,514,516,519],{"class":286,"line":287},[284,515,153],{"class":290},[284,517,518],{"class":293}," gateway",[284,520,521],{"class":293}," start\n",[135,523,524],{},"After successful startup, you will see JSON log output similar to:",[275,526,529],{"className":527,"code":528,"language":309},[307],"{\"level\":30,...,\"mode\":\"release\",\"version\":\"...\",\"msg\":\"Gateway starting\"}\n{\"level\":30,...,\"workspaceId\":\"default\",\"msg\":\"WorkspaceProxy connected to WorkspaceHost\"}\n{\"level\":30,...,\"workspaceId\":\"default\",\"transport\":\"local\",\"msg\":\"WorkspaceProxy connected\"}\n{\"level\":30,...,\"msg\":\"GatewayWorkspaceManager started: 1 workspaces\"}\n{\"level\":30,...,\"msg\":\"Boot checks passed\"}\n{\"level\":30,...,\"msg\":\"Gateway listening on port 5000\"}\n",[151,530,528],{"__ignoreMap":280},[135,532,533,536,537,540,541,545],{},[151,534,535],{},"Boot checks passed"," indicates configuration validation succeeded. If\nthis line is missing and a ",[151,538,539],{},"fatal"," error appears, the configuration has\nissues (see ",[159,542,544],{"href":543},"#faq","FAQ",").",[135,547,548,549,552],{},"The default listening address is ",[151,550,551],{},"127.0.0.1:5000",". To specify a\ndifferent port or address:",[275,554,556],{"className":277,"code":555,"language":279,"meta":280,"style":280},"sink gateway start --port 8080 --host 0.0.0.0\n",[151,557,558],{"__ignoreMap":280},[284,559,560,562,564,567,570,574,577],{"class":286,"line":287},[284,561,153],{"class":290},[284,563,518],{"class":293},[284,565,566],{"class":293}," start",[284,568,569],{"class":293}," --port",[284,571,573],{"class":572},"sbssI"," 8080",[284,575,576],{"class":293}," --host",[284,578,579],{"class":572}," 0.0.0.0\n",[139,581,583],{"id":582},"step-4-access-the-web-ui","Step 4: Access the Web UI",[135,585,586],{},"Open your browser and visit:",[275,588,591],{"className":589,"code":590,"language":309},[307],"http:\u002F\u002F127.0.0.1:5000\n",[151,592,590],{"__ignoreMap":280},[135,594,595],{},"You will see the Sink Web UI main interface, with the navigation bar on\nthe left and the workspace in the center.",[139,597,599],{"id":598},"step-5-create-and-run-your-first-task","Step 5: Create and Run Your First Task",[601,602,603,610,617,628],"ol",{},[147,604,605,606,609],{},"Click ",[301,607,608],{},"“New Task”"," in the top toolbar",[147,611,612,613,616],{},"Enter a task description (e.g.,\n",[151,614,615],{},"Analyze security issues in this Python code",")",[147,618,619,620,623,624,627],{},"Select ",[301,621,622],{},"“Default”"," from the ",[301,625,626],{},"Profile"," dropdown menu",[147,629,605,630,633],{},[301,631,632],{},"“Create”"," to create the task",[135,635,636,637,640,641,640,644,647,648,502],{},"After creation, the interface navigates to the task view, with the\nstatus progressing from ",[151,638,639],{},"created"," -> ",[151,642,643],{},"routing",[151,645,646],{},"generating"," ->\n",[151,649,650],{},"running",[135,652,653],{},"In the input box at the bottom, send your first message to the Agent:",[275,655,658],{"className":656,"code":657,"language":309},[307],"Hello, please introduce yourself and explain what you can help me with.\n",[151,659,657],{"__ignoreMap":280},[135,661,662],{},"Press Enter to send. The Agent begins streaming its response, and you\ncan watch its reasoning process in real time.",[135,664,665,666,669,670,502],{},"If the Agent needs to perform an action (such as running a command or\nwriting a file), a permission approval prompt will appear. Click\n",[301,667,668],{},"“Approve”"," or ",[301,671,672],{},"“Deny”",[139,674,544],{"id":675},"faq",[165,677,679],{"id":678},"fatal-no-runtimes-configured",[151,680,681],{},"fatal: No runtimes configured",[135,683,684,686,687,690],{},[151,685,501],{}," is empty or does not exist. Run ",[151,688,689],{},"sink init"," to detect\nand configure Runtimes. Ensure at least one Runtime (Claude Code, Codex,\nFactory Droid, or OpenCode) is installed locally.",[165,692,694],{"id":693},"fatal-no-default-profile-found",[151,695,696],{},"fatal: No default profile found",[135,698,699,702,703,705],{},[151,700,701],{},"profiles\u002Fdefault.md"," does not exist. Run ",[151,704,689],{}," to create it, or\nmanually create the file (see Step 2 above).",[165,707,709],{"id":708},"fatal-default-profile-references-unknown-runtime",[151,710,711],{},"fatal: Default profile references unknown runtime '...'",[135,713,149,714,716,717,719,720,722],{},[151,715,497],{}," field in ",[151,718,701],{}," does not match any ID in\n",[151,721,501],{},". Check that the IDs match on both sides:",[275,724,726],{"className":277,"code":725,"language":279,"meta":280,"style":280},"cat ~\u002F.sink\u002Fruntimes.json | head -10\ncat ~\u002F.sink\u002Fprofiles\u002Fdefault.md | head -8\n",[151,727,728,745],{"__ignoreMap":280},[284,729,730,732,735,739,742],{"class":286,"line":287},[284,731,402],{"class":290},[284,733,734],{"class":293}," ~\u002F.sink\u002Fruntimes.json",[284,736,738],{"class":737},"sMK4o"," |",[284,740,741],{"class":290}," head",[284,743,744],{"class":293}," -10\n",[284,746,747,749,752,754,756],{"class":286,"line":423},[284,748,402],{"class":290},[284,750,751],{"class":293}," ~\u002F.sink\u002Fprofiles\u002Fdefault.md",[284,753,738],{"class":737},[284,755,741],{"class":290},[284,757,758],{"class":293}," -8\n",[165,760,762],{"id":761},"agent-not-responding","Agent not responding",[135,764,765,766,768],{},"Check whether the selected Runtime is properly installed and executable.\nRun ",[151,767,689],{}," — it will probe the Runtime and report any issues\n(version too old, missing companion tools, etc.).",[139,770,772],{"id":771},"next-steps","Next Steps",[144,774,775,781,787],{},[147,776,777,780],{},[159,778,53],{"href":779},"..\u002Fhow-to\u002Fprofiles"," – Create dedicated Agent\npersona configurations",[147,782,783,786],{},[159,784,57],{"href":785},"..\u002Fhow-to\u002Fruntimes"," – Add more ACP Agents",[147,788,789,793],{},[159,790,792],{"href":791},"..\u002Fhow-to\u002Fmcp-servers","Configuring MCP Servers"," – Provide\nadditional tools for Agents",[795,796,797],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sbssI, html code.shiki .sbssI{--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":280,"searchDepth":287,"depth":423,"links":799},[800,803,804,805,806,807,808,814],{"id":141,"depth":423,"text":142,"children":801},[802],{"id":167,"depth":429,"text":168},{"id":269,"depth":423,"text":270},{"id":388,"depth":423,"text":389},{"id":505,"depth":423,"text":506},{"id":582,"depth":423,"text":583},{"id":598,"depth":423,"text":599},{"id":675,"depth":423,"text":544,"children":809},[810,811,812,813],{"id":678,"depth":429,"text":681},{"id":693,"depth":429,"text":696},{"id":708,"depth":429,"text":711},{"id":761,"depth":429,"text":762},{"id":771,"depth":423,"text":772},"Initialize Sink and run your first AI task","md",null,{},true,{"title":19,"description":815},"oRVBSlfcbQ37a8TmzfByWjAvw76lHIxKv7XE3cAt0Es",[823,825],{"title":10,"path":11,"stem":12,"description":824,"children":-1},"What Sink is, what problems it solves, core concepts, and typical use cases",{"title":29,"path":30,"stem":31,"description":826,"children":-1},"Use the Canvas whiteboard for visual multi-task management",1778225992148]