SuperAPI AI 工具集

plsql-setup

部署与运维

查看项目

更新于 10-16 06:14

技能介绍

用途:为 Pythia 项目或机器配置数据库访问,按连接、最小权限用户、SQLcl MCP 的顺序设置。

连接:在项目根目录创建 .pythia/connections.json,可复制 examples/connections.example.json 填写。单一配置项直接使用;多项时由项目根下路径段选择(如 root/DEV/... 选 DEV),否则用顶层 "default" 指定。歧义视为错误。--conn NAME 与 PYTHIA_CONNECTION 覆盖一切;PYTHIA_USER/PYTHIA_PASSWORD/PYTHIA_DSN 绕过文件。文件含凭据,应保持 gitignore 且不进入聊天与截图。用 pythia check 验证,会打印当前连接身份与对象数量。

最小权限用户:策略文件只是应用侧围栏,Oracle 授权才是代理无法绕过的一层。代理认证模式:仅登录用户通过 schema 所有者连接,代理不掌握所有者密码,撤销只需一条语句,审计可见真实连接者。以 DBA 运行 examples/agent-user-setup.example.sql,再将连接用户设为 "agent_user[schema_owner]"。pythia check 在会话持有 %ANY% 权限或以所有者直接运行时给出警告,目标是无警告。

SQLcl MCP(可选,只读):SQLcl 25.2+ 可用命令 sql -mcp,客户端配置为 {"mcpServers": {"sqlcl": {"command": "sql", "args": ["-mcp"]}}}。保持默认限制级别 -R 4,其不阻止 run-sql 内的 DML/DDL,因此写入不走 MCP。审计记录于 DBTOOLS$MCP_LOG,V$SESSION.MODULE 显示 MCP 客户端,V$SESSION.ACTION 显示 LLM 名称。

完成标准:pythia check 连接成功、schema 正确且无权限警告;pythia policy 打印写入策略与回滚表;凭据文件未被 git 跟踪。限制:官方指导为授予最小权限、不要让 LLM 指向生产数据库、定期审计;Oracle 无逐对象的“可编辑该 schema 的 PL/SQL”形式,编译到其他 schema 需 CREATE ANY PROCEDURE。定价、平台支持等暂未提供。