数据库访问服务
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-rn88lg3j/db-access
技能介绍
要解决的问题
大模型本身不能直连数据库,也没有统一的元数据发现手段。当你需要回答「这个库里有哪些表」「某张表的字段定义是什么」「这条业务数据存在哪张表」这类问题时,模型只能去猜,或者把 DDL 整段贴进上下文。表多了以后,既浪费 token,也不可靠。
它是怎么工作的
数据库访问服务把模型限定为路由层:理解意图、选工具、抽参数;真正的查询由 scripts.tools 中的函数完成。核心能力有三个:
scripts.tools.list_tables:列出库中所有表scripts.tools.get_table_schema:获取指定表的列信息,参数table必填scripts.tools.sql_query:执行客户端提供的 SQL,参数query必填
一次调用的标准流程是:先确认 scripts.config.settings.api_key 非空,缺省时通过 AskUserQuestion 拿到密钥并用 scripts.config.set_api_key(api_key) 保存;再按用户意图选工具、补参数,参数不全同样走 AskUserQuestion 询问;最后以关键字参数调用工具,例如 scripts.tools.sql_query(query="select * from t")。返回值是 dict:result["raw"] 是 API 原始 JSON,整理后展示给用户;result["success"] 表示成败;result["message"] 给出状态消息。
适用边界
- API 密钥为必需项,未配置时不能继续,也不能自行搜索或编造数据。
- 模型只负责意图识别与参数组装,执行环节交给后端 API,不在本地拼连接串。
- 工具仅覆盖表列表、表结构与 SQL 执行三类操作,不含写入、迁移或 DDL 变更。
get_table_schema与sql_query均有必填参数,调用前需确认参数完整。
使用场景
- 接手新数据库,先列出所有表,再逐张确认列名和类型。
- 拿到已有 SQL 需求,直接通过 SQL 执行工具取回原始 JSON 结果。
- 查询前需要确认表结构,读取指定表的列信息以构造正确语句。
- 模型集成工具调用时,需要根据用户意图自动选择并补齐参数。
适合人员
- 需要用大模型查询数据库结构和数据的后端开发者。
- 负责把自然语言问题转成 SQL 的工程师。
- 搭建 Agent 工具路由、需要标准化工具调用的架构师。
- 想快速了解新库表结构和字段含义的数据分析人员。