[{"data":1,"prerenderedAt":808},["ShallowReactive",2],{"navigation":3,"\u002Fen\u002Fintroduction":129,"\u002Fen\u002Fintroduction-surround":805},[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":10,"body":131,"description":798,"extension":799,"links":800,"meta":801,"navigation":802,"path":11,"seo":803,"stem":12,"__hash__":804},"docs\u002Fen\u002F0.introduction.md",{"type":132,"value":133,"toc":770},"minimark",[134,139,144,148,151,180,183,187,190,217,219,223,228,231,234,260,264,267,293,296,300,303,323,326,330,333,353,356,367,371,374,399,403,406,425,428,432,435,449,451,455,459,482,485,496,500,515,525,529,532,538,541,552,556,559,579,581,601,605,608,628,630,634,638,644,676,680,685,713,717,722,736,738,740,744,766],[135,136,138],"h1",{"id":137},"sink-product-overview","Sink Product Overview",[140,141,143],"h2",{"id":142},"what-is-sink","What is Sink?",[145,146,147],"p",{},"SecFlow is an AI-powered security testing platform that automates\npenetration testing, code audits, and security validation by letting AI\nagents (such as Claude Code, Codex, Goose, etc.) interact with your\nsystems.",[145,149,150],{},"Core features:",[152,153,154,162,168,174],"ul",{},[155,156,157,161],"li",{},[158,159,160],"strong",{},"Web UI + CLI",": Interact through a browser or automate via command\nline",[155,163,164,167],{},[158,165,166],{},"Multi-Agent support",": Not locked to a single AI provider; connect\nClaude Code, Codex, Factory Droid, and more via the standard ACP\nprotocol (Agent Client Protocol)",[155,169,170,173],{},[158,171,172],{},"Real-time collaboration",": Watch every step of the Agent’s\nreasoning, tool calls, and decisions; approve or terminate at any time",[155,175,176,179],{},[158,177,178],{},"Workspace isolation",": Each project is an independent workspace with\nits own configuration, skills library, and execution history",[181,182],"hr",{},[140,184,186],{"id":185},"what-problems-does-it-solve","What Problems Does It Solve?",[145,188,189],{},"Many knowledge-intensive workflows remain heavily manual. Sink combines\nAI Agent reasoning with execution capabilities:",[191,192,193,199,205,211],"ol",{},[155,194,195,198],{},[158,196,197],{},"Quick task definition",": Describe what you want to accomplish in\none sentence; the AI Agent automatically breaks it down into\nconcrete steps",[155,200,201,204],{},[158,202,203],{},"Transparent execution",": Not a black box — see in real time how\nthe Agent thinks, which tools it calls, and what decisions it makes",[155,206,207,210],{},[158,208,209],{},"Human-in-the-loop",": When the Agent needs to perform sensitive\noperations (like modifying files or executing commands), it must go\nthrough your approval",[155,212,213,216],{},[158,214,215],{},"Cross-project reuse",": Save common workflows, experience, and\ntechniques as “Skills” (the Agent’s capability library) and share\nthem across projects",[181,218],{},[140,220,222],{"id":221},"core-concepts","Core Concepts",[224,225,227],"h3",{"id":226},"task-任务","Task (任务)",[145,229,230],{},"A Task is a single AI Agent execution session. You describe a goal or\nproblem, and the Agent starts a Task to accomplish it.",[145,232,233],{},"Each Task contains:",[152,235,236,242,248,254],{},[155,237,238,241],{},[158,239,240],{},"Goal description",": Your instructions to the Agent",[155,243,244,247],{},[158,245,246],{},"Execution status",": What the Agent is currently doing (analyzing,\nawaiting approval, completed, etc.)",[155,249,250,253],{},[158,251,252],{},"Session history",": Interaction records between user and Agent",[155,255,256,259],{},[158,257,258],{},"Tool calls",": Concrete operations the Agent has executed (code\nexecution, file operations, etc.)",[224,261,263],{"id":262},"profile-agent-persona","Profile (Agent Persona)",[145,265,266],{},"A Profile defines an AI Agent’s “persona” and “capabilities” on your\nplatform. It includes:",[152,268,269,275,281,287],{},[155,270,271,274],{},[158,272,273],{},"System Prompt",": Tells the Agent what it is, how it should think and\nact",[155,276,277,280],{},[158,278,279],{},"Runtime",": How to launch this Agent process (which AI service, what\nparameters)",[155,282,283,286],{},[158,284,285],{},"Skills",": Which capabilities and tool libraries this Agent has\naccess to",[155,288,289,292],{},[158,290,291],{},"MCP configuration",": Which external tools and data sources this\nAgent can call",[145,294,295],{},"A Profile is like a “role template.” You can create different Profiles\nfor different task scenarios — for example, a “Code Reviewer” Profile\nfocused on code quality analysis, or a “DevOps Engineer” Profile focused\non infrastructure and deployment workflows.",[224,297,299],{"id":298},"runtime-运行时","Runtime (运行时)",[145,301,302],{},"A Runtime defines how to launch an AI Agent process. It includes:",[152,304,305,311,317],{},[155,306,307,310],{},[158,308,309],{},"Agent type",": Claude Code, Codex, Factory Droid, or OpenCode",[155,312,313,316],{},[158,314,315],{},"Launch command",": What command to run to start the Agent",[155,318,319,322],{},[158,320,321],{},"Environment variables and parameters",": Configuration passed to the\nAgent process",[145,324,325],{},"Multiple Profiles can share the same Runtime but use different System\nPrompts to change the Agent’s behavior.",[224,327,329],{"id":328},"skill-能力","Skill (能力)",[145,331,332],{},"A Skill is a specific capability or tool library that an AI Agent can\nuse. Each Skill contains:",[152,334,335,341,347],{},[155,336,337,340],{},[158,338,339],{},"Documentation",": Tells the Agent what this Skill is and how to use\nit",[155,342,343,346],{},[158,344,345],{},"Reference materials",": Technical details and option documentation\nfor the Skill",[155,348,349,352],{},[158,350,351],{},"Custom tools"," (optional): A Skill can define MCP tools for the\nAgent to call",[145,354,355],{},"You can:",[152,357,358,361,364],{},[155,359,360],{},"Use Sink’s built-in Skills (such as code execution, file operations,\netc.)",[155,362,363],{},"Download community Skills from the skills library",[155,365,366],{},"Write your own Skills for specific projects or teams",[224,368,370],{"id":369},"mcp-server-工具集","MCP Server (工具集)",[145,372,373],{},"MCP (Model Context Protocol) is an open standard that allows AI Agents\nto call external tools and access data. Sink can connect to any\nMCP-compatible tool:",[152,375,376,382,388,394],{},[155,377,378,381],{},[158,379,380],{},"Code tools",": Language servers, compilers, code analysis tools",[155,383,384,387],{},[158,385,386],{},"System tools",": Shell commands, file operations, process management",[155,389,390,393],{},[158,391,392],{},"API tools",": Database queries, network requests, third-party service\ncalls",[155,395,396,398],{},[158,397,351],{},": Tools you write yourself",[224,400,402],{"id":401},"workspace-工作区","Workspace (工作区)",[145,404,405],{},"A Workspace is a project directory. It contains:",[152,407,408,413,419],{},[155,409,410],{},[158,411,412],{},"Project code and files",[155,414,415,418],{},[158,416,417],{},"Sink local configuration",": Which Profiles, Skills, and MCP Servers\nthis workspace uses",[155,420,421,424],{},[158,422,423],{},"Execution history",": All Tasks executed in this workspace and their\nresults",[145,426,427],{},"Multiple workspaces can share user-level configuration (such as Agent\nRuntimes and common Skills), but each workspace has independent Profile\ndefinitions, local Skills, and execution history.",[224,429,431],{"id":430},"gateway-网关","Gateway (网关)",[145,433,434],{},"Gateway is Sink’s service process. It:",[152,436,437,440,443,446],{},[155,438,439],{},"Provides the web UI and REST API",[155,441,442],{},"Manages user identity and permissions",[155,444,445],{},"Coordinates Agent execution across multiple workspaces",[155,447,448],{},"Handles real-time Task state pushing (using Server-Sent Events)",[181,450],{},[140,452,454],{"id":453},"basic-workflow","Basic Workflow",[224,456,458],{"id":457},"_1-initialize-the-platform","1. Initialize the Platform",[460,461,466],"pre",{"className":462,"code":463,"language":464,"meta":465,"style":465},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","sink init\n","bash","",[467,468,469],"code",{"__ignoreMap":465},[470,471,474,478],"span",{"class":472,"line":473},"line",1,[470,475,477],{"class":476},"sBMFI","sink",[470,479,481],{"class":480},"sfazB"," init\n",[145,483,484],{},"Run this command on first use. It will:",[152,486,487,490,493],{},[155,488,489],{},"Detect locally installed Agent Runtimes (Claude Code, Codex, Factory\nDroid, OpenCode)",[155,491,492],{},"Interactively configure the default Profile (name, model, system\nprompt)",[155,494,495],{},"Create configuration files (settings.json, gateway.json,\nruntimes.json, mcp.json, default Profile)",[224,497,499],{"id":498},"_2-start-the-gateway-service","2. Start the Gateway Service",[460,501,503],{"className":462,"code":502,"language":464,"meta":465,"style":465},"sink gateway start\n",[467,504,505],{"__ignoreMap":465},[470,506,507,509,512],{"class":472,"line":473},[470,508,477],{"class":476},[470,510,511],{"class":480}," gateway",[470,513,514],{"class":480}," start\n",[145,516,517,518,524],{},"Starts the Gateway process and opens the web interface (usually at\n",[519,520,521],"a",{"href":521,"rel":522},"http:\u002F\u002Flocalhost:5000",[523],"nofollow","). You can now begin creating Tasks.",[224,526,528],{"id":527},"_3-create-a-task","3. Create a Task",[145,530,531],{},"On the web UI or via CLI, describe your objective. For example:",[533,534,535],"blockquote",{},[145,536,537],{},"“Review the authentication module in this Node.js application for\ncorrectness, error handling, and adherence to best practices.”",[145,539,540],{},"Sink will:",[152,542,543,546,549],{},[155,544,545],{},"Select an appropriate Profile based on your workspace configuration\n(e.g., “Code Reviewer”)",[155,547,548],{},"Launch the corresponding Agent",[155,550,551],{},"Send your description to the Agent as the initial instruction",[224,553,555],{"id":554},"_4-monitor-in-real-time","4. Monitor in Real Time",[145,557,558],{},"The web UI displays in real time:",[152,560,561,567,573],{},[155,562,563,566],{},[158,564,565],{},"Agent’s reasoning process",": What the Agent is currently doing and\nthinking",[155,568,569,572],{},[158,570,571],{},"Pending approvals",": When the Agent wants to perform a sensitive\noperation, the UI displays an approval dialog",[155,574,575,578],{},[158,576,577],{},"Tool call history",": Which commands, file operations, etc. the Agent\nhas executed",[145,580,355],{},[152,582,583,589,595],{},[155,584,585,588],{},[158,586,587],{},"Continue the conversation",": Enter new instructions, ask questions,\nor provide reminders",[155,590,591,594],{},[158,592,593],{},"Approve\u002FDeny",": Make decisions on sensitive operations",[155,596,597,600],{},[158,598,599],{},"Stop the task",": Abort at any time if something seems wrong",[224,602,604],{"id":603},"_5-view-results","5. View Results",[145,606,607],{},"When a Task completes, the web UI displays:",[152,609,610,616,622],{},[155,611,612,615],{},[158,613,614],{},"Execution summary",": What the Agent did and what it found",[155,617,618,621],{},[158,619,620],{},"Detailed report",": Specific results including code, logs,\nscreenshots, etc.",[155,623,624,627],{},[158,625,626],{},"Download",": Export reports or intermediate artifacts",[181,629],{},[140,631,633],{"id":632},"typical-use-cases","Typical Use Cases",[224,635,637],{"id":636},"scenario-1-automated-code-review","Scenario 1: Automated Code Review",[145,639,640,643],{},[158,641,642],{},"Task",": Regularly review newly committed code for correctness,\nmaintainability, and adherence to coding standards.",[191,645,646,649,656,673],{},[155,647,648],{},"Create a “Code Reviewer” Profile with code reading and static\nanalysis Skills configured",[155,650,651,652,655],{},"Create a Task instructing the Agent to review the ",[467,653,654],{},"src\u002F"," directory",[155,657,658,659],{},"The Agent will automatically:\n",[152,660,661,664,667,670],{},[155,662,663],{},"Read code files",[155,665,666],{},"Run linters, type checkers, and test suites",[155,668,669],{},"Identify potential issues and anti-patterns",[155,671,672],{},"Point out specific line numbers and suggest fixes",[155,674,675],{},"You approve the Agent’s suggestions and generate a review report",[224,677,679],{"id":678},"scenario-2-project-workflow-automation","Scenario 2: Project Workflow Automation",[145,681,682,684],{},[158,683,642],{},": After setting up a new service, verify its configuration,\ntests, and deployment readiness.",[191,686,687,690,693,710],{},[155,688,689],{},"Create a “DevOps Engineer” Profile with filesystem and command\nexecution Skills configured",[155,691,692],{},"Create a Task instructing the Agent to verify service setup and\ndeployment readiness",[155,694,695,696],{},"The Agent will:\n",[152,697,698,701,704,707],{},[155,699,700],{},"Check configuration files and environment settings",[155,702,703],{},"Run tests and check for common configuration errors",[155,705,706],{},"Validate deployment manifests and CI\u002FCD pipelines",[155,708,709],{},"Generate a readiness report with actionable recommendations",[155,711,712],{},"You approve high-risk operations and collect the verification report",[224,714,716],{"id":715},"scenario-4-repetitive-tasks","Scenario 4: Repetitive Tasks",[145,718,719,721],{},[158,720,642],{},": Run the same checklist before every release.",[191,723,724,727,730,733],{},[155,725,726],{},"Save common verification workflows as a Skill",[155,728,729],{},"Create a parameterized Profile referencing this Skill",[155,731,732],{},"Each release, just create a Task and pass parameters (e.g., which\nmodules to check)",[155,734,735],{},"The Agent automatically executes the standardized workflow and\ngenerates comparable reports",[181,737],{},[181,739],{},[140,741,743],{"id":742},"next-steps","Next Steps",[152,745,746,753,759],{},[155,747,748,749,752],{},"Read ",[519,750,41],{"href":751},".\u002Fhow-to\u002Finstall"," to learn how to\nconfigure Sink as a system service that starts on login",[155,754,748,755,758],{},[519,756,19],{"href":757},".\u002Ftutorials\u002Fquickstart"," to complete your first\nTask",[155,760,748,761,765],{},[519,762,764],{"href":763},".\u002Fhow-to\u002Fconfigure","Configuring the Gateway"," to learn how to\ncustomize Agents and Skills",[767,768,769],"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);}",{"title":465,"searchDepth":473,"depth":771,"links":772},2,[773,774,775,785,792,797],{"id":142,"depth":771,"text":143},{"id":185,"depth":771,"text":186},{"id":221,"depth":771,"text":222,"children":776},[777,779,780,781,782,783,784],{"id":226,"depth":778,"text":227},3,{"id":262,"depth":778,"text":263},{"id":298,"depth":778,"text":299},{"id":328,"depth":778,"text":329},{"id":369,"depth":778,"text":370},{"id":401,"depth":778,"text":402},{"id":430,"depth":778,"text":431},{"id":453,"depth":771,"text":454,"children":786},[787,788,789,790,791],{"id":457,"depth":778,"text":458},{"id":498,"depth":778,"text":499},{"id":527,"depth":778,"text":528},{"id":554,"depth":778,"text":555},{"id":603,"depth":778,"text":604},{"id":632,"depth":771,"text":633,"children":793},[794,795,796],{"id":636,"depth":778,"text":637},{"id":678,"depth":778,"text":679},{"id":715,"depth":778,"text":716},{"id":742,"depth":771,"text":743},"What Sink is, what problems it solves, core concepts, and typical use cases","md",null,{},true,{"title":10,"description":798},"xD71quOIBUm4LwBlCxfwoD6T4VsozcM1MZHy5FOFXdA",[800,806],{"title":19,"path":20,"stem":21,"description":807,"children":-1},"Initialize Sink and run your first AI task",1778225992497]