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 任务或需要审批时,不要绕过平台裁决重新提交。
approve、reject、transfer-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 能力
登录 NineData 控制台。
在左侧导航栏中,单击 Skill。
在 NineData-Skill 页面查看当前支持的 Skill 能力。
页面会展示 Skill 的用途说明,并以列表形式展示功能名称、功能描述和发布时间。
下载并配置 Skill
在 NineData-Skill 页面右上角,单击下载图标,下载
ninedata-skill.zip。解压压缩包,得到
ninedata-skill目录。将完整的
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/在 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,私有化或专属集群环境请填写实际控制台地址。accessKeyId、accessKeySecretNineData OpenAPI 凭证。请妥善保管,不要写入对话、日志或代码仓库。 defaultDsId默认数据源 ID。查询数据源列表时可不配置;执行 SQL 时如未通过参数指定数据源,则使用该值。 defaultDbName默认数据库名称。 defaultSchemaName默认 Schema 名称。不同数据库类型按需填写。 source调用来源,建议保留 NINEDATA_SKILL。defaultPageSize默认分页大小。 defaultLanguage返回信息语言,例如 enus。设置配置文件权限。
chmod 600 config.json确认客户端允许执行 Skill 目录下的
scripts/*.sh脚本,然后重启客户端或开启新的 Agent 会话。在 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,例如 INSERT、UPDATE、DELETE、CREATE、ALTER、DROP 等,Agent 应通过 NineData SQL 任务提交,而不是直接执行。
典型流程如下:
在 AI Agent 客户端中描述变更需求。
使用 ninedata-skill 为测试库提交一条 SQL 任务,给 orders 表新增 remark 字段。Agent 展示目标数据源、数据库、完整 SQL 和可选回滚 SQL。
确认内容无误后,明确同意提交 SQL 任务。
NineData 创建 SQL 任务并返回任务 ID、规则检查结果、审批状态和控制台任务链接。
根据任务状态继续提交审批、等待审批或执行任务。
对于审批、执行、暂停、恢复、终止、取消、驳回、转交审批等操作,Agent 应先展示当前任务状态和操作影响,并在获得您的明确确认后再继续。