产品概述
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 的通用推理能力和执行能力结合起来:
- 快速定义任务:一句话描述你想完成什么,AI Agent 自动分解为具体步骤
- 透明的执行过程:不是黑盒结果,而是实时看到 Agent 如何思考、调用了哪些工具、做了什么决策
- 人机协作:当 Agent 需要执行敏感操作(如修改文件、执行命令)时,必须经过你的审批
- 跨项目复用:把通用的工作流程、经验和技巧保存为”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:自动化代码审查
任务:定期审查新提交的代码,检查正确性、可维护性和编码规范的遵循情况。
- 创建一个”代码审查员” Profile,配置好代码读取、静态分析等 Skills
- 创建 Task,指示 Agent 审查
src/目录的代码 - Agent 会自动:
- 读取代码文件
- 运行 linter、类型检查和测试套件
- 识别潜在问题和反模式
- 指出具体行号和修复建议
- 你审批 Agent 的建议,生成审查报告
场景 2:项目工作流自动化
任务:搭建好新服务后,需要验证其配置、测试和部署就绪状态。
- 创建一个”DevOps 工程师” Profile,配置好文件系统、命令执行等 Skills
- 创建 Task,指示 Agent 验证服务搭建和部署就绪状态
- Agent 会:
- 检查配置文件和环境设置
- 运行测试,检查常见的配置错误
- 验证部署清单和 CI/CD 流水线
- 生成包含可操作建议的就绪报告
- 你审批高风险操作,收集验证报告
场景 4:重复性任务
任务:每次发版前都要跑一遍相同的检查清单。
- 把常用的检查流程保存为一个 Skill
- 创建一个参数化的 Profile,引用这个 Skill
- 每次发版时,只需创建 Task 并传入参数(比如要检查的模块)
- Agent 自动执行标准化流程,生成可对比的报告