同步完整源码至远程:扁平化重构现状 + 未入库源文件
- 补入库:server/internal/db/dump.go、redis 分页/扫描预算测试、opsxdb-mcp main_test、 packages/opsxdb-mcp package-lock、docs 审计与对比文档等 37 个新文件 - 含结构扁平化进行中的 80 处修改与 155 处旧结构删除(server/ src/ src-tauri/ 为当前有效源) - 构建产物(bin/target/dist)与签名私钥仍按规则排除
This commit is contained in:
1 parent
5c0be49217
commit
2c0bfafd8d
269 files changed
+10372
-16435
No files matched your search
+17
-2
@@ -1,5 +1,7 @@
|
||||
# OpsxDB AI / MCP / Agent 任务书
|
||||
|
||||
> 当前行为(2026-10-15 更新):新配置默认启用读写与危险 SQL,连接仍需明确授权;旧配置沿用原权限,设置 → MCP 可一次性「使用默认权限」。设置页移除权限开关,改为紧凑状态展示。Agent 生成写命令后弹出确认框,展示连接、数据库和完整命令;仅确认当前一条,模型不能代确认。下文 P0 只读默认的描述属于历史阶段规划。
|
||||
|
||||
> 更新:2026-10-15 · 用户拍板:**先 MCP,再内部会话,最后 GUI 联动**
|
||||
> 对标:优先 [DBX MCP](https://github.com/t8y2/dbx)(`packages/mcp-server` / `crates/dbx-mcp`);架构思路参考 oh-my-pi;可选对照 Google MCP Toolbox for Databases、DBHub、官方 MCP SDK。
|
||||
|
||||
@@ -199,8 +201,8 @@ go build -o ../bin/opsxdb-mcp ./cmd/opsxdb-mcp
|
||||
|----|------|
|
||||
| Ask | 侧栏分段 **Ask**:走既有 `/api/ai/chat`,不调工具(生成/解释/优化) |
|
||||
| Agent | 分段 **Agent**:`POST /api/ai/agent` → `ai.RunAgent` → 进程内 `aitools.Runtime.Call`(与 MCP 同源) |
|
||||
| 协议 | Agent tool calling 目前仅 **openai-chat**(DeepSeek / OpenAI 兼容) |
|
||||
| 安全 | P0 只读;ConfirmDanger 永不 true;白名单 / 审计同 MCP |
|
||||
| 协议 | Agent tool calling 支持 openai-chat、Anthropic 与 OpenAI Responses;云模型真链路仍需实测 |
|
||||
| 安全 | 默认只读;工具限定当前连接/库,模型不能自行确认写入;白名单 / 审计同 MCP |
|
||||
| UI | 输入框上 Ask\|Agent;回复下可折叠步骤时间线(默认最近 3 步) |
|
||||
| 单测 | `go test ./internal/ai/ ./internal/aitools/`(含 mock tool loop) |
|
||||
| 真库冒烟 | `cd server && go run ./cmd/opsxdb-agent-accept/`(需 `~/.opsxdb/ai.json` 真 key) |
|
||||
@@ -211,6 +213,19 @@ go build -o ../bin/opsxdb-mcp ./cmd/opsxdb-mcp
|
||||
|
||||
MySQL 3306 demo + Redis 6379:`go run ./cmd/opsxdb-mcp-accept/` 全过。实践文档:`~/Downloads/AI-Agent接入GUI工具开发实践.md`。
|
||||
|
||||
### 本地回归 2026-10-15(当前隔离执行环境)
|
||||
|
||||
| 路径 | 结果 |
|
||||
| --- | --- |
|
||||
| `go test ./internal/ai/ ./internal/aitools/ ./internal/server/ -count=1` | 通过;补测 Ask 不强制生成 SQL、MySQL Agent 越界连接/库拒绝、Redis DB1 GET 与 SET 需确认 |
|
||||
| stdio MCP `initialize` / `tools/list` / `tools/call` | 7 个工具可列出;MySQL `DROP` 与 Redis `FLUSHDB` 均按只读策略拒绝 |
|
||||
| `opsxdb-mcp-accept` | 连接列表通过;MySQL `127.0.0.1:3306` 遇 `operation not permitted`,后续真库调用未运行 |
|
||||
| `opsxdb-crud-accept` | 只读拒写通过;MySQL 预检同样被本地连接权限拦截,未进入真实写操作;命令已改为预检失败立即停止并显示原因 |
|
||||
| `opsxdb-agent-accept` | 真模型请求在解析 `api.deepseek.com` 时失败(`no such host`),未得到模型与真库结果 |
|
||||
| 桌面交互 | Computer Use 自动审批拒绝访问 OpsxDB;未验证桌面按钮、视觉和真库操作 |
|
||||
|
||||
上述限制只影响本次环境的真库/云模型回归;不可将失败命令记为产品功能验收通过。实际真库重测仍执行本节 P0 命令,并核对唯一标记的数据写入与清理。
|
||||
|
||||
|
||||
## 会话产品层(阶段 5,2026-10-15)
|
||||
|
||||
|
||||
Reference in new issue
Block a user