feat(lzwcai-agile-db): 更新版本至0.4.4并优化数据库管理技能文档 - 更新版本号从0.4.2到0.4.4 - 优化API密钥权限管理说明,明确grant_api_key_permissions仅支持追加不支持撤销 - 新增add_sql_tool_to_datasource工具,提供一键创建SQL工具功能 - 调整create_sql_tool说明,强调需技能已存在 - 强化数据写操作安全机制,插入/更新/删除前必须预览并等待用户确认 - 完善导入数据功能说明,详细解释confirm_import_data参数传递方式 - 补充技能与工具管理流程,提供更清晰的操作指引 - 新增数字员工平台数据库技能配置指南文档 ```
344 lines
7.5 KiB
Markdown
344 lines
7.5 KiB
Markdown
# 数字员工平台数据库技能配置指南
|
||
|
||
## 概述
|
||
|
||
本文档介绍两种使用数字员工平台数据库技能的方法:
|
||
- **方法一**:通过数字员工对话直接使用
|
||
- **方法二**:通过 AI 编辑器的 Skills + MCP 搭配使用
|
||
|
||
---
|
||
|
||
## 方法一:通过数字员工对话使用
|
||
|
||
### 配置说明
|
||
|
||
此方法通过配置 MCP Server 来连接数字员工平台。
|
||
|
||
### MCP 配置示例
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"lzwcai-mcp-agile-db": {
|
||
"command": "uvx",
|
||
"type": "stdio",
|
||
"args": [
|
||
"lzwcai-mcp-agile-db"
|
||
],
|
||
"timeout": 600,
|
||
"env": {
|
||
"API_KEY": "eyJhbGciOiJIUzUxMiJ9.eyJ0b2tlbl90eXBlIjoiTE9HSU4iLCJsb2dpbl91c2VyX2tleSI6IjljMDllMjZhLWFkNzgtNGNmMi05YzQ5LWQzY2Y5NjI5MGRjYyJ9.v5ZffkvM2CnMkoWqc-Xy-0gN2oLBjyfJlm_YnCE6TWBwfKVmpuakoRXFMTiHQG8LOphv7JlEmZHcYpzwM52D0Q"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### 注意事项
|
||
|
||
- 配置中的 `API_KEY` 是数字员工平台的密钥
|
||
- 存在单点登录问题,请使用不会过期的账号密钥
|
||
- Skills 配置参考:`lzwcai-agile-db`
|
||
|
||
---
|
||
|
||
## 方法二:通过 AI 编辑器使用
|
||
|
||
### 配置说明
|
||
|
||
此方法通过下载 Skills 和 MCP 配置,在 AI 编辑器中搭配使用,支持直接对话操作。
|
||
|
||
### MCP 配置示例
|
||
|
||
```json
|
||
{
|
||
"mcpServers": {
|
||
"lzwcai_mcp_agile_db": {
|
||
"command": "uvx",
|
||
"args": [
|
||
"lzwcai-mcp-agile-db"
|
||
],
|
||
"env": {
|
||
"UV_INDEX_URL": "http://192.168.2.236:3141/lzwc/dev/+simple/",
|
||
"API_KEY": "eyJhbGciOiJIUzUxMiJ9.eyJ0b2tlbl90eXBlIjoiTE9HSU4iLCJsb2dpbl91c2VyX2tleSI6IjljMDllMjZhLWFkNzgtNGNmMi05YzQ5LWQzY2Y5NjI5MGRjYyJ9.v5ZffkvM2CnMkoWqc-Xy-0gN2oLBjyfJlm_YnCE6TWBwfKVmpuakoRXFMTiHQG8LOphv7JlEmZHcYpzwM52D0Q",
|
||
"backendBaseUrl": "http://192.168.2.236:8088"
|
||
}
|
||
}
|
||
}
|
||
}
|
||
```
|
||
|
||
### 环境变量说明
|
||
|
||
| 变量名 | 说明 | 示例值 |
|
||
|--------|------|--------|
|
||
| `UV_INDEX_URL` | Python 包索引地址 | `http://192.168.2.236:3141/lzwc/dev/+simple/` |
|
||
| `API_KEY` | 数字员工平台 API 密钥 | (见配置示例) |
|
||
| `backendBaseUrl` | 后端服务基础地址 | `http://192.168.2.236:8088` |
|
||
|
||
---
|
||
|
||
## 使用建议
|
||
|
||
1. **选择方法**:根据实际使用场景选择合适的方法
|
||
- 数字员工对话:适合快速使用
|
||
- AI 编辑器:适合更灵活的配置和使用
|
||
|
||
2. **密钥管理**:妥善保管 `API_KEY`,避免泄露
|
||
|
||
3. **网络配置**:确保网络可以访问配置的后端地址
|
||
|
||
---
|
||
|
||
## 相关资源
|
||
|
||
- Skills 目录:`lzwcai-agile-db/`
|
||
- 详细技能文档:`lzwcai-agile-db/SKILL.md`
|
||
|
||
---
|
||
|
||
## 对话使用场景示例
|
||
|
||
以下是配置好技能后,您可以直接使用的对话示例:
|
||
|
||
### 📊 场景 1:浏览数据源和表
|
||
|
||
**用户:** "帮我看看有哪些数据源"
|
||
|
||
**AI 回复:**
|
||
```
|
||
共找到 3 个数据源:
|
||
1. HMD产品(PostgreSQL, 运行中)
|
||
2. 测试数据库(MySQL, 运行中)
|
||
3. 历史数据(Oracle, 已停止)
|
||
|
||
请告诉我您想看哪个数据源?
|
||
```
|
||
|
||
---
|
||
|
||
**用户:** "看看HMD产品有哪些表"
|
||
|
||
**AI 回复:**
|
||
```
|
||
HMD产品 数据源包含以下数据库和表:
|
||
|
||
order_db:
|
||
- orders (订单表, 15 个字段, 2568 条记录)
|
||
- users (用户表, 8 个字段, 156 条记录)
|
||
- products (商品表, 12 个字段, 892 条记录)
|
||
|
||
analytics_db:
|
||
- daily_stats (日报表, 10 个字段, 365 条记录)
|
||
```
|
||
|
||
---
|
||
|
||
### 🔍 场景 2:查询表数据
|
||
|
||
**用户:** "查一下users表前10条数据"
|
||
|
||
**AI 回复:**
|
||
```
|
||
users 表共 156 条记录,当前显示第 1-10 条:
|
||
|
||
| id | username | email | status | created_at |
|
||
|----|----------|-----------------|--------|---------------------|
|
||
| 1 | admin | admin@test.com | active | 2024-01-01 00:00:00 |
|
||
| 2 | user1 | user1@test.com | active | 2024-01-02 10:30:00 |
|
||
| 3 | user2 | user2@test.com | inactive| 2024-01-03 15:45:00 |
|
||
...
|
||
|
||
注:默认查询测试环境,如需查询生产环境请说明。
|
||
```
|
||
|
||
---
|
||
|
||
### 📝 场景 3:执行 SQL 查询
|
||
|
||
**用户:** "统计每个地区的订单数量"
|
||
|
||
**AI 回复:**
|
||
```
|
||
各地区订单统计:
|
||
|
||
| 地区 | 订单数 |
|
||
|------|--------|
|
||
| 华东 | 1,250 |
|
||
| 华南 | 980 |
|
||
| 华北 | 756 |
|
||
| 西南 | 432 |
|
||
| 东北 | 289 |
|
||
```
|
||
|
||
---
|
||
|
||
### ➕ 场景 4:插入数据
|
||
|
||
**用户:** "新增一个用户,用户名是test_user,邮箱test@test.com"
|
||
|
||
**AI 回复:**
|
||
```
|
||
即将向 users 表插入以下数据:
|
||
username = test_user
|
||
email = test@test.com
|
||
(id 自动生成)
|
||
|
||
确认插入吗?
|
||
```
|
||
|
||
**用户:** "确认"
|
||
|
||
**AI 回复:**
|
||
```
|
||
✅ 已成功插入用户 test_user (ID: 157)
|
||
```
|
||
|
||
---
|
||
|
||
### ✏️ 场景 5:更新数据
|
||
|
||
**用户:** "把ID为5的用户邮箱改成new@test.com"
|
||
|
||
**AI 回复:**
|
||
```
|
||
即将更新 users 表 ID=5 的记录:
|
||
email: old@test.com → new@test.com
|
||
|
||
确认更新吗?
|
||
```
|
||
|
||
**用户:** "确认"
|
||
|
||
**AI 回复:**
|
||
```
|
||
✅ 已更新用户 ID=5 的邮箱为 new@test.com
|
||
```
|
||
|
||
---
|
||
|
||
### 🗑️ 场景 6:删除数据
|
||
|
||
**用户:** "删除ID为10的订单"
|
||
|
||
**AI 回复:**
|
||
```
|
||
⚠️ 安全提醒:此操作存在删除风险。
|
||
具体说明:数据将永久删除,不可恢复。
|
||
|
||
确认要删除以下记录吗?
|
||
订单 ID=10, 订单号=ORD-2024-0010, 金额=¥1,250.00
|
||
|
||
请回复"确认删除"继续。
|
||
```
|
||
|
||
**用户:** "确认删除"
|
||
|
||
**AI 回复:**
|
||
```
|
||
✅ 已成功删除订单 ID=10
|
||
```
|
||
|
||
---
|
||
|
||
### 🤖 场景 7:AI 生成表结构
|
||
|
||
**用户:** "帮我设计一个商品表,包含名称、价格、库存、分类"
|
||
|
||
**AI 回复:**
|
||
```
|
||
AI 已生成表结构设计:
|
||
|
||
表名: products (商品表)
|
||
字段:
|
||
- id (SERIAL, 主键) - 主键ID
|
||
- name (VARCHAR(200), 非空) - 商品名称
|
||
- price (DECIMAL(10,2)) - 价格
|
||
- stock (INTEGER) - 库存数量
|
||
- category (VARCHAR(50)) - 分类
|
||
- created_at (TIMESTAMP) - 创建时间
|
||
|
||
是否需要在此基础上修改或直接创建?
|
||
```
|
||
|
||
**用户:** "直接创建到order_db数据库"
|
||
|
||
**AI 回复:**
|
||
```
|
||
✅ 已成功创建表 products (商品表)
|
||
```
|
||
|
||
---
|
||
|
||
### 📥 场景 8:导入 Excel 数据
|
||
|
||
**用户:** "帮我导入这个Excel文件:https://example.com/data.xlsx"
|
||
|
||
**AI 回复:**
|
||
```
|
||
AI 已识别 Excel 文件内容:
|
||
|
||
表名: customers (客户表)
|
||
字段:
|
||
- id (SERIAL, 主键)
|
||
- name (VARCHAR(100)) - 客户名称
|
||
- phone (VARCHAR(20)) - 电话
|
||
- address (TEXT) - 地址
|
||
|
||
预览数据(前3条):
|
||
| id | name | phone | address |
|
||
|----|--------|------------|----------------|
|
||
| 1 | 张三 | 13800138000| 北京市朝阳区 |
|
||
| 2 | 李四 | 13900139000| 上海市浦东新区 |
|
||
| 3 | 王五 | 13700137000| 广州市天河区 |
|
||
|
||
共 50 条数据待导入。
|
||
|
||
⚠️ 安全提醒:此操作可能涉及数据安全风险。
|
||
说明:导入的数据将写入数据库,请确认数据来源合法合规。
|
||
请确认是否继续?
|
||
```
|
||
|
||
**用户:** "继续"
|
||
|
||
**AI 回复:**
|
||
```
|
||
✅ 成功导入 50 条数据到 customers 表
|
||
```
|
||
|
||
---
|
||
|
||
### 🔑 场景 9:API 密钥管理
|
||
|
||
**用户:** "帮我创建一个新的API密钥"
|
||
|
||
**AI 回复:**
|
||
```
|
||
请输入密钥名称:
|
||
```
|
||
|
||
**用户:** "测试密钥"
|
||
|
||
**AI 回复:**
|
||
```
|
||
✅ 已创建 API 密钥:
|
||
名称: 测试密钥
|
||
密钥: lzwc_sk_xxxxxxxxxxxx
|
||
状态: 启用
|
||
过期时间: 2025-06-18
|
||
|
||
请妥善保管密钥,丢失后无法找回。
|
||
```
|
||
|
||
---
|
||
|
||
## ⚠️ 重要使用提示
|
||
|
||
1. **环境选择:** 默认使用测试环境(`test`),操作生产环境需要明确说明"查询生产环境"或"操作生产环境"
|
||
|
||
2. **安全确认:** 所有写操作(增删改)都会先预览并等待您的确认
|
||
|
||
3. **多选原则:** 有多个数据源/数据库/表可选时,AI会列出让您选择,不会擅自做主
|
||
|
||
4. **分步执行:** 复杂任务会分步完成,每一步都会确认后再继续
|