跳到主要内容

Skill

NineData-Skill 是面向 AI Agent 和 Vibe Coding 工具的技能能力集合。通过 Skill,AI Agent 可以在 NineData 的身份验证、权限检查、SQL 规则检查、数据掩码、限流和审计日志约束下,调用 NineData 平台能力完成数据源查询、SQL 执行、SQL 审批提交流程等操作。

功能说明

  • SQL 执行:用于在具备权限的数据源上下文中执行明确的 SQL,或获取执行计划等信息。
  • SQL 任务:用于将 SQL 提交到安全审批流程,适合需要规则检查、审批和审计的变更场景。
  • 平台能力调用:支持 AI Agent 结合 NineData 的 OpenAPI 调用平台能力,例如列出数据源、检查数据库状态或验证开发数据。
  • 安全管控:Skill 调用会受到 NineData 账号身份、组织权限、SQL 规则、数据掩码、限流和审计日志等机制约束。

注意事项

  • 在让 AI Agent 调用 Skill 前,请先确认目标数据源、SQL 内容和账号权限符合预期。
  • 对于会修改数据或结构的 SQL,建议优先使用 SQL 任务能力提交审批流程。
  • 对于只读查询、执行计划查看或开发数据验证等场景,可根据组织权限和安全规则使用 SQL 执行能力。
  • Skill 返回的结果可作为 AI Agent 的辅助判断依据,正式执行变更前仍建议结合审批、审计和业务影响进行复核。
  • 不要让 Agent 直接连接数据库,也不要在 Skill 中保存数据库账号密码。
  • 不要在对话、日志或提交记录中暴露 accessKeySecret、Cookie、Token、签名或数据库凭证。
  • 当平台返回拒绝、失败、需要确认、需要 SQL 任务或需要审批时,不要绕过平台裁决重新提交。
  • approverejecttransfer-approval 等审批操作属于高风险操作,必须由用户明确指定具体动作后再执行。

前提条件

  • 已登录 NineData 控制台。
  • 当前账号已具备访问 Skill 页面的权限。
  • 如需通过 Skill 执行 SQL 或提交 SQL 任务,当前账号需具备目标数据源和相关 DevOps 流程的操作权限。

页面操作

NineData-Skill 页面右上角,可以使用以下操作:

操作说明
描述查看 NineData-Skill 的版本、工具 ID、调用方式、OpenAPI 端点、返回字段和使用边界。
下载下载 ninedata-skill.zip。压缩包中包含 Skill 说明、配置示例、客户端安装参考和调用脚本。
快速配置引导查看 Claude Code、Codex、Cursor、Hermes、OpenClaw、Trae、Qoder、Open Code 等客户端的安装目录和验证提示词。

查看 Skill 能力

  1. 登录 NineData 控制台

  2. 在左侧导航栏中,单击 Skill

  3. NineData-Skill 页面查看当前支持的 Skill 能力。

    页面会展示 Skill 的用途说明,并以列表形式展示功能名称、功能描述和发布时间。

下载并配置 Skill

  1. NineData-Skill 页面右上角,单击下载图标,下载 ninedata-skill.zip

  2. 解压压缩包,得到 ninedata-skill 目录。

  3. 将完整的 ninedata-skill 目录复制到目标 AI Agent 客户端的 Skill 目录。

    客户端安装目录示例
    Claude Code~/.claude/skills/ninedata-skill/
    Codex~/.codex/skills/ninedata-skill/
    Cursor~/.cursor/skills/ninedata-skill/
    Hermes Agent~/.hermes/skills/ninedata-skill/
    OpenClaw~/.openclaw/skills/ninedata-skill/
    Trae~/.trae/skills/ninedata-skill/
    Qoder~/.qoder/skills/ninedata-skill/
    Open Code~/.opencode/skills/ninedata-skill/
  4. 在 Skill 根目录中编辑 config.json

    {
    "endpoint": "https://your-ninedata-domain.example.com",
    "accessKeyId": "replace-with-access-key-id",
    "accessKeySecret": "replace-with-access-key-secret",
    "defaultDsId": "replace-with-default-datasource-id",
    "defaultDbName": "replace-with-default-database-name",
    "defaultSchemaName": "replace-with-default-schema-name",
    "source": "NINEDATA_SKILL",
    "defaultPageSize": 50,
    "defaultLanguage": "enus"
    }
    配置项说明
    endpointNineData 控制台访问地址。SaaS 可填写 https://console.ninedata.cloud,私有化或专属集群环境请填写实际控制台地址。
    accessKeyIdaccessKeySecretNineData OpenAPI 凭证。请妥善保管,不要写入对话、日志或代码仓库。
    defaultDsId默认数据源 ID。查询数据源列表时可不配置;执行 SQL 时如未通过参数指定数据源,则使用该值。
    defaultDbName默认数据库名称。
    defaultSchemaName默认 Schema 名称。不同数据库类型按需填写。
    source调用来源,建议保留 NINEDATA_SKILL
    defaultPageSize默认分页大小。
    defaultLanguage返回信息语言,例如 enus
  5. 设置配置文件权限。

    chmod 600 config.json
  6. 确认客户端允许执行 Skill 目录下的 scripts/*.sh 脚本,然后重启客户端或开启新的 Agent 会话。

  7. 在 Agent 对话中明确要求使用 NineData Skill。

    使用 ninedata-skill 查询我可访问的 MySQL 数据源。

使用 Skill 查询数据

Skill 配置完成后,您可以在 AI Agent 客户端中用自然语言描述查询需求。例如:

使用 ninedata-skill 查询生产 MySQL 数据源中的订单数量。

Agent 应先识别可访问的数据源,并向您展示将要执行的完整 SQL。确认 SQL 内容、目标数据源和查询目的无误后,再让 Agent 继续提交。

NineData 会根据平台规则返回执行结果或下一步建议。常见结果包括:

  • 查询已执行,并返回结果预览。
  • 需要再次确认完整 SQL。
  • 当前 SQL 被权限、规则或安全策略拒绝。
  • 当前 SQL 需要通过 SQL 任务或审批流程处理。
  • 数据库执行失败,并返回错误信息和请求 ID。

使用 Skill 提交 SQL 变更

如果需要执行会修改数据或结构的 SQL,例如 INSERTUPDATEDELETECREATEALTERDROP 等,Agent 应通过 NineData SQL 任务提交,而不是直接执行。

典型流程如下:

  1. 在 AI Agent 客户端中描述变更需求。

    使用 ninedata-skill 为测试库提交一条 SQL 任务,给 orders 表新增 remark 字段。
  2. Agent 展示目标数据源、数据库、完整 SQL 和可选回滚 SQL。

  3. 确认内容无误后,明确同意提交 SQL 任务。

  4. NineData 创建 SQL 任务并返回任务 ID、规则检查结果、审批状态和控制台任务链接。

  5. 根据任务状态继续提交审批、等待审批或执行任务。

对于审批、执行、暂停、恢复、终止、取消、驳回、转交审批等操作,Agent 应先展示当前任务状态和操作影响,并在获得您的明确确认后再继续。