产品概述

Sink 是什么、解决什么问题、核心概念和典型使用场景

Sink 产品概述

什么是 Sink?

SecFlow is an AI-powered security testing platform that automates penetration testing, code audits, and security validation by letting AI agents (such as Claude Code, Codex, Goose, etc.) interact with your systems.

核心特点:

  • Web UI + CLI:既能通过浏览器交互式操作,也能通过命令行自动化执行
  • 多 Agent 支持:不绑定单一 AI 服务商,通过标准 ACP 协议(Agent Client Protocol)接入 Claude Code、Codex、Factory Droid 等多种 Agent
  • 实时协作:看到 Agent 的每一步思考、工具调用和决策,随时可以审批或终止
  • 工作区隔离:每个项目是独立的工作区,拥有自己的配置、技能库和执行历史

解决什么问题?

许多知识密集型工作仍然高度依赖人工。Sink 把 AI Agent 的通用推理能力和执行能力结合起来:

  1. 快速定义任务:一句话描述你想完成什么,AI Agent 自动分解为具体步骤
  2. 透明的执行过程:不是黑盒结果,而是实时看到 Agent 如何思考、调用了哪些工具、做了什么决策
  3. 人机协作:当 Agent 需要执行敏感操作(如修改文件、执行命令)时,必须经过你的审批
  4. 跨项目复用:把通用的工作流程、经验和技巧保存为”Skill”(Agent 的能力库),在多个项目间共用

核心概念

Task(任务)

一个 Task 是 AI Agent 的一次执行会话。你描述一个目标或问题,Agent 就开启一个 Task 来完成它。

每个 Task 包含:

  • 目标描述:你对 Agent 的指示
  • 执行状态:Agent 当前在做什么(分析中、等待审批、已完成等)
  • 会话历史:用户和 Agent 的交互记录
  • 工具调用:Agent 执行的具体操作(代码执行、文件操作等)

Profile(Agent 人格)

Profile 定义了一个 AI Agent 在你的平台上的”人格”和”能力”。它包括:

  • System Prompt:告诉 Agent 它是什么、应该怎样思考和行动
  • Runtime:如何启动这个 Agent 进程(使用哪个 AI 服务、什么参数)
  • Skills:这个 Agent 有权访问哪些能力和工具库
  • MCP 配置:这个 Agent 能调用哪些外部工具和数据源

一个 Profile 就像一个”角色模板”。你可以为不同的任务场景创建不同的 Profile——比如”代码审查员”Profile 专注于代码质量分析,“DevOps 工程师”Profile 专注于基础设施和部署流程。

Runtime(运行时)

Runtime 定义了如何启动一个 AI Agent 进程。它包括:

  • Agent 类型:是 Claude Code、Codex、Factory Droid 还是 OpenCode
  • 启动命令:运行什么命令来启动 Agent
  • 环境变量和参数:传给 Agent 进程的配置

多个 Profile 可以共享同一个 Runtime,但使用不同的 System Prompt 来改变 Agent 的行为。

Skill(能力)

Skill 是 AI Agent 能够使用的一个特定功能或工具库。每个 Skill 包含:

  • 说明文档:告诉 Agent 这个 Skill 是什么、怎样使用
  • 参考资料:Skill 的技术细节和选项文档
  • 自定义工具(可选):Skill 可以定义 MCP 工具供 Agent 调用

你可以:

  • 使用 Sink 内置的 Skills(如代码执行、文件操作等)
  • 从技能库下载社区 Skills
  • 为特定项目或团队编写自己的 Skills

MCP Server(工具集)

MCP(Model Context Protocol)是一个开放标准,允许 AI Agent 调用外部工具和访问数据。Sink 可以接入任何兼容 MCP 的工具:

  • 代码工具:语言服务器、编译器、代码分析工具
  • 系统工具:shell 命令、文件操作、进程管理
  • API 工具:数据库查询、网络请求、第三方服务调用
  • 自定义工具:你自己编写的工具

Workspace(工作区)

一个 Workspace 就是一个项目目录。它包含:

  • 项目代码和文件
  • Sink 的本地配置:这个工作区用哪些 Profile、Skill、MCP Server
  • 执行历史:在这个工作区执行过的所有 Task 和结果

多个工作区可以共享用户级的配置(如 Agent Runtime、通用 Skills),但每个工作区有独立的 Profile 定义、本地 Skills 和执行历史。

Gateway(网关)

Gateway 是 Sink 的服务进程。它:

  • 提供网页 UI 和 REST API
  • 管理用户身份和权限
  • 协调多个工作区间的 Agent 执行
  • 处理 Task 的实时状态推送(用 Server-Sent Events)

基本工作流程

1. 初始化平台

sink init

首次使用时运行这个命令,它会:

  • 检测本地已安装的 Agent Runtime(Claude Code、Codex、Factory Droid、OpenCode)
  • 交互式配置默认 Profile(名称、模型、系统提示词)
  • 创建配置文件(settings.json、gateway.json、runtimes.json、mcp.json、默认 Profile)

2. 启动网关服务

sink gateway start

启动 Gateway 进程,打开网页界面(通常在 Task 了。

3. 创建一个 Task

在网页上或通过 CLI,描述你的目标。比如:

“审查这个 Node.js 应用的认证模块,检查错误处理和最佳实践的遵循情况”

Sink 会:

  • 根据你的工作区配置选择合适的 Profile(比如”代码审查员”)
  • 启动对应的 Agent
  • 把你的描述发给 Agent 作为初始指示

4. 实时监督

网页 UI 实时显示:

  • Agent 的思考过程:Agent 现在在做什么、想到了什么
  • 待审批的操作:当 Agent 要执行敏感操作时,UI 会弹出审批框
  • 工具调用历史:Agent 执行了哪些命令、文件操作等

你可以:

  • 继续对话:输入新的指示、提问或提醒
  • 审批/拒绝:对敏感操作做出决定
  • 停止任务:觉得不对时可以随时中止

5. 查看结果

Task 完成后,网页会显示:

  • 执行总结:Agent 做了什么、发现了什么
  • 详细报告:包括代码、日志、截图等具体结果
  • 下载:可以导出报告或中间产物

典型使用场景

场景 1:自动化代码审查

任务:定期审查新提交的代码,检查正确性、可维护性和编码规范的遵循情况。

  1. 创建一个”代码审查员” Profile,配置好代码读取、静态分析等 Skills
  2. 创建 Task,指示 Agent 审查 src/ 目录的代码
  3. Agent 会自动:
    • 读取代码文件
    • 运行 linter、类型检查和测试套件
    • 识别潜在问题和反模式
    • 指出具体行号和修复建议
  4. 你审批 Agent 的建议,生成审查报告

场景 2:项目工作流自动化

任务:搭建好新服务后,需要验证其配置、测试和部署就绪状态。

  1. 创建一个”DevOps 工程师” Profile,配置好文件系统、命令执行等 Skills
  2. 创建 Task,指示 Agent 验证服务搭建和部署就绪状态
  3. Agent 会:
    • 检查配置文件和环境设置
    • 运行测试,检查常见的配置错误
    • 验证部署清单和 CI/CD 流水线
    • 生成包含可操作建议的就绪报告
  4. 你审批高风险操作,收集验证报告

场景 4:重复性任务

任务:每次发版前都要跑一遍相同的检查清单。

  1. 把常用的检查流程保存为一个 Skill
  2. 创建一个参数化的 Profile,引用这个 Skill
  3. 每次发版时,只需创建 Task 并传入参数(比如要检查的模块)
  4. Agent 自动执行标准化流程,生成可对比的报告


后续步骤