用途:pythia 的一次性环境配置流程,按连接、最小权限用户、SQLcl MCP 的顺序完成。
主要能力与用法:一、连接。在项目根创建 .pythia/connections.json,可由 pythia install 脚手架生成(pip install pythia-plsql),或复制 examples/connections.example.json。单条目直接使用;多条时按项目根下第一段路径选择,或用顶层 default 指定,歧义即报错。--conn NAME、PYTHIA_CONNECTION 及 PYTHIA_USER/PYTHIA_PASSWORD/PYTHIA_DSN 可覆盖。该文件含凭据且已被 gitignore。用 pythia check 验证。二、代理用户。完整布局含 admin、owner、agent 三个账户,核心是代理认证:仅能登录的 agent 通过 schema owner 连接,agent 不知道 owner 密码,撤销只需一条语句,审计可追溯。执行 pythia agent-user --save,一次运行同时生成三句代理 SQL 与匹配凭据(连接 <conn>_agent),密码每次重新生成,--json 输出机器可读结果。三、SQLcl MCP(可选,只读)。需 SQLcl 25.2+,客户端配置为 {"mcpServers": {"sqlcl": {"command": "sql", "args": ["-mcp"]}}},保持默认限制级别;写操作只走 pythia apply。审计记录写入 DBTOOLS$MCP_LOG。四、.pythia/ 内容:仅 connections.json 由安装写入,journal/、conventions.json、conventions.md、policy.json、settings.json 按需产生。五、验证:pythia doctor 检查钩子、审批入口与环境;pythia doctor --db 检查数据库详情。生产类连接标 protected: true 可让 autopilot 拒绝。完成标准为 pythia check 无权限警告、doctor 无失败行、policy 正常打印,且凭据文件未被 git 跟踪。限制:Oracle 无干净的单对象 PL/SQL 编辑授权形式,编入其他 schema 需要 CREATE ANY PROCEDURE;不要对生产库使用 LLM。