Skip to the content.

配置参考

所有配置基于 YAML 格式,存放在配置目录(默认 ~/.adb-link/conf/)。

配置目录

变量 默认值 说明
ADB_LINK_CONFIG_DIR ~/.adb-link/conf 配置目录路径

环境变量

变量 默认值 说明
ADB_LINK_API_HOST 0.0.0.0 API 绑定地址
ADB_LINK_API_PORT 8000 API 绑定端口
ADB_LINK_LOG_LEVEL INFO 日志级别(DEBUG, INFO, WARN, ERROR)
ADB_LINK_LOG_DIR ~/.adb-link/logs 日志目录
ADB_LINK_RELOAD true 启用热重载
ADB_LINK_ASYNC_QUERY_TTL 3600 异步结果 TTL(秒)

配置文件类型

每个 YAML 文件使用 kind: 字段作为标识:

Kind 用途 示例文件
datasource 数据库连接定义 datasource.yaml
users API Key 和用户账号 auth.yaml
permission RBAC 访问控制规则 permission.yaml
tool 自定义查询工具定义 tool-reports.yaml
metadata 列/表注释标注 metadata-mydb.yaml

数据源配置

kind: datasource
name: my-postgres
type: postgresql
description: "生产环境 PostgreSQL"
connection:
  host: 127.0.0.1
  port: 5432
  username: app_user
  password: ${PG_PASSWORD}
  default_database: mydb
options:
  pool_size: 10

支持的类型

mysql, postgresql, clickhouse, sqlite, mssql, hive, oracle, gaussdb, tidb, redis, mongodb, milvus, elasticsearch

连接字段

字段 说明
host 数据库主机
port 数据库端口
username 连接用户名
password 连接密码(支持 ${ENV_VAR}
default_database 默认连接的数据库
dsn 完整 DSN 字符串(替代各个独立字段)

选项

选项 说明
pool_size 连接池大小
max_idle 最大空闲连接数
max_lifetime 连接最大生存时间

认证配置(Users)

kind: users
users:
  - name: admin
    api_key: "your-secret-api-key"
    group: admin
    email: "admin@example.com"
    description: "管理员"
  - name: readonly
    api_key: "readonly-key"
    group: viewer
  - name: mcp_stdio_user
    group: mcp
    description: "MCP stdio 传输默认用户"

字段

字段 必填 说明
name 用户名
api_key Bearer Token(支持 ${ENV_VAR}
group 权限组
email 用户邮箱
description 用户描述

权限规则

kind: permission
groups: ["admin"]
enable: true
rules:
  - datasource: "*"
    databases: ["*"]
    tables: ["*"]
    fields: ["*"]
tools: ["*"]

字段

字段 说明
groups 此权限适用的组列表
enable 此权限集是否启用
rules 访问规则列表
rules[].datasource 数据源 Glob 模式
rules[].databases 数据库 Glob 模式
rules[].tables 表 Glob 模式
rules[].fields 字段 Glob 模式
tools 工具 Glob 模式

Glob 模式支持 *(匹配任意)和精确名称。


自定义工具

kind: tool
name: get_user_orders
description: "获取用户最近订单"
datasource: my-postgres
database: mydb
sql: "SELECT * FROM orders WHERE user_id = :user_id ORDER BY created_at DESC LIMIT :limit"
parameters:
  - name: user_id
    type: integer
    description: "用户 ID"
    required: true
  - name: limit
    type: integer
    description: "最大返回数"
    default: 10

工具字段

字段 说明
name 工具名称(用于 MCP tools/call
description 工具描述(展示给智能体)
datasource 目标数据源
database 目标数据库
sql SQL 模板,使用命名参数(:param
parameters 参数定义,使用 JSON Schema 类型

元数据标注

kind: metadata
datasource: my-postgres
database: mydb
tables:
  - name: users
    comment: "应用用户表"
    columns:
      - name: id
        comment: "主键"
      - name: status
        comment: "0=未激活, 1=正常, 2=封禁"

元数据标注为 Schema 发现提供可读的注释信息。


热重载

配置变更通过文件系统通知(fsnotify)自动检测,变更在数秒内生效,无需重启服务。

支持热重载的操作:


环境变量插值

所有 YAML 配置值支持 ${ENV_VAR} 语法:

connection:
  password: ${DB_PASSWORD}
  host: ${DB_HOST}

如果环境变量未设置,原始 ${VAR} 字符串保持不变。


MCP Stdio 组合配置

MCP stdio 模式下,单个文件可包含所有配置类型:

kind: users
users:
  - name: mcp_stdio_user
    group: admin
---
kind: permission
groups: ["admin"]
enable: true
rules:
  - datasource: "*"
    databases: ["*"]
    tables: ["*"]
    fields: ["*"]
tools: ["*"]
---
kind: datasource
name: local-sqlite
type: sqlite
connection:
  dsn: "/path/to/database.db"

支持多文档 YAML(以 --- 分隔)。