fix: 顶栏文案去重与文档/连库体验更新
顶栏定为:连接 · 新建连接 · 新建查询 · 查询历史 · 快捷键; 同步 docs/落地页、对象树与 connection-types 注册表整理。
This commit is contained in:
1 parent
f8740d27f7
commit
26f459d1b8
49 files changed
+2682
-492
No files matched your search
@@ -0,0 +1,40 @@
|
||||
OpsxDB 是一款**本地优先**的桌面数据库工作台,面向运维与开发:连库、写 SQL、看结果,全在本机完成。
|
||||
|
||||
主交付形态是可安装的桌面应用(Tauri 2),本地 Go 后端随应用自动启动;同一套界面也可用单个二进制在 Web / 内网部署。数据全部保存在本机,不经过任何第三方服务器。
|
||||
|
||||
## 功能总览
|
||||
|
||||
| 能力 | 说明 |
|
||||
| --- | --- |
|
||||
| 多驱动连库 | MySQL 族 / PostgreSQL 族 / SQL Server / Oracle / SQLite / Redis,native Go 驱动编译内置 |
|
||||
| 连接选择器 | 搜索 / 分类 / 最近 / 图标网格;粘贴连接 URL 一键填入表单 |
|
||||
| SQL 工作台 | CodeMirror 编辑器、⌘/Ctrl+Enter 执行语句或选区、多 Tab、可拖分栏 |
|
||||
| 对象树 | 懒加载库 / 表 / 列;点表名直接看前 100 行 |
|
||||
| 结果处理 | 一键复制 / CSV / 生成 INSERT;双击单元格复制;截断有提示 |
|
||||
| Redis 工作台 | 编辑器执行 PING / GET / SET / DEL / KEYS,键空间浏览 |
|
||||
| 安全通道 | 每连接独立配置 SSL/TLS 与 SSH 隧道;密码本机混淆存储 |
|
||||
| AI 面板 | 生成 / 解释 / 优化 / 修复 / 方言转换 / 样例 SQL |
|
||||
| 危险操作防护 | DROP / TRUNCATE / 无 WHERE 的 UPDATE·DELETE 执行前确认 |
|
||||
| 双形态 | 桌面 GUI(Tauri 2)与 Web(单二进制 + 静态页)共用一套界面 |
|
||||
|
||||
## 支持的数据库
|
||||
|
||||
| 家族 | 覆盖 | 默认端口 |
|
||||
| --- | --- | --- |
|
||||
| MySQL 族 | MySQL · MariaDB · TiDB · OceanBase · PolarDB · TDSQL | 3306 |
|
||||
| PostgreSQL 族 | PostgreSQL · GaussDB / openGauss · 人大金仓 | 5432 |
|
||||
| SQL Server | 原生协议直连 | 1433 |
|
||||
| Oracle | 纯 Go 驱动 go-ora(不引入 JVM) | 1521 |
|
||||
| SQLite | 本地文件库 | — |
|
||||
| Redis | 命令执行 + 键管理 | 6379 |
|
||||
|
||||
> **提示**:达梦 DM8、MongoDB、ZooKeeper、Elasticsearch、InfluxDB 已列入路线,规划 agent 按需接入。
|
||||
|
||||
## 为什么选 OpsxDB
|
||||
|
||||
- **数据主权**:连接配置与查询历史只存在本机;后端默认仅监听 127.0.0.1。
|
||||
- **开箱即用**:`./run.sh web` 一条命令起 Web 形态;桌面版双击即用,后端随应用拉起。
|
||||
- **为快设计**:点表即看数据、⌘Enter 即执行、结果三键取走(复制 / CSV / INSERT)。
|
||||
- **轻量克制**:一个 Go 二进制 + 一份前端,内网可部署,无遥测无账号。
|
||||
|
||||
> **提示**:想马上动手?直接看下一章《快速开始》,30 秒连上第一个库。
|
||||
@@ -0,0 +1,61 @@
|
||||
本章从零到出结果:起服务 → 建连接 → 执行第一条 SQL。
|
||||
|
||||
## 1. 启动
|
||||
|
||||
桌面版(主交付形态)双击 OpsxDB 应用即可,本地后端随应用自动拉起。
|
||||
|
||||
从源码跑 Web / 桌面形态:
|
||||
|
||||
```bash
|
||||
git clone <repo> opsxdb && cd opsxdb
|
||||
npm install
|
||||
|
||||
./run.sh web # Web 形态:Gin :8788 + Vite 开发壳 :5174
|
||||
./run.sh gui # 桌面形态:Tauri 2 窗口(复用同一套界面)
|
||||
```
|
||||
|
||||
> **注意**:浏览器里的 `:5174` 是 Vite 热更新开发壳,仅调试用;产品页面(官网 `/`、文档 `/docs`)由后端 `:8788` 直接提供。
|
||||
|
||||
## 2. 新建连接
|
||||
|
||||
1. 打开应用,进入**连接选择器**,选择数据库类型(如 MySQL);
|
||||
2. 或者直接粘贴连接 URL,点「填入」自动拆解字段:
|
||||
|
||||
```
|
||||
mysql://root:pass@127.0.0.1:3306/shop
|
||||
```
|
||||
|
||||
3. 点 **测试** 验证连通性,再点 **保存并连接**。
|
||||
|
||||
连接配置保存在本机,密码混淆存储;后续查询只携带会话 ID,不再上送账密。
|
||||
|
||||
## 3. 第一次查询
|
||||
|
||||
1. 左侧对象树展开库,**点表名**直接查看前 100 行(展开表可看列结构);
|
||||
2. 打开 SQL 编辑器,输入:
|
||||
|
||||
```sql
|
||||
SELECT * FROM orders ORDER BY id DESC LIMIT 100;
|
||||
```
|
||||
|
||||
3. 按 **⌘/Ctrl + Enter** 执行当前语句(或选中的片段);
|
||||
4. 结果面板支持**复制 / 导出 CSV / 生成 INSERT**,双击单元格即复制。
|
||||
|
||||
## 4. 验证服务
|
||||
|
||||
```bash
|
||||
curl -s http://127.0.0.1:8788/health
|
||||
# {"ok":true,"service":"opsxdb"}
|
||||
```
|
||||
|
||||
## 5. 手边没有数据库?
|
||||
|
||||
本地还没有可连的库?用仓库自带的辅助脚本一键起一个(需要 Docker,一次只起一个):
|
||||
|
||||
```bash
|
||||
./tests/dbctl.sh up a # MySQL
|
||||
./tests/dbctl.sh up c # PostgreSQL(用户 opsx)
|
||||
./tests/dbctl.sh up f # Redis
|
||||
```
|
||||
|
||||
各驱动的验收状态见《驱动支持》。
|
||||
@@ -0,0 +1,40 @@
|
||||
OpsxDB 的界面为「高频操作」设计:从打开应用到看到数据,路径越短越好。
|
||||
|
||||
## 连接选择器
|
||||
|
||||
启动后的第一个界面:
|
||||
|
||||
- **搜索**:按名称快速过滤已保存的连接;
|
||||
- **分类**:关系型 / NoSQL / 国产库 / 时序·搜索 分组浏览;
|
||||
- **最近**:最近使用的连接排在最前;
|
||||
- **图标网格**:按数据库类型直选,未就绪的类型会标注「未就绪」(仅可保存配置);
|
||||
- **URL 填入**:粘贴 `mysql://user:pass@host:3306/db` 点「填入」,字段自动拆解。
|
||||
|
||||
## 工作台布局
|
||||
|
||||
连接成功后进入工作台,三栏结构:
|
||||
|
||||
| 区域 | 内容 |
|
||||
| --- | --- |
|
||||
| 左侧 | 连接列表 + 对象树(库 → 表 → 列,懒加载) |
|
||||
| 中部 | SQL 编辑器(多 Tab)+ 结果面板,可拖动分栏 |
|
||||
| 右侧 | AI 面板(生成 / 解释 / 优化 / 修复 / 方言 / 样例) |
|
||||
|
||||
## 对象树
|
||||
|
||||
- 点**表名**:直接打开前 100 行数据;
|
||||
- 展开**表**:查看列结构;
|
||||
- 库列表懒加载,大实例也不卡。
|
||||
|
||||
## 编辑器与结果
|
||||
|
||||
- CodeMirror 语法高亮,⌘/Ctrl+Enter 执行**当前语句或选区**(不是整页脚本);
|
||||
- 多 Tab 并行查询,互不阻塞;
|
||||
- 结果面板:复制 / CSV / INSERT 三种取数方式,双击单元格复制;
|
||||
- 超过截断阈值时结果有明确提示。
|
||||
|
||||
## 个性化
|
||||
|
||||
- 深色 / 浅色主题切换;
|
||||
- Tab 布局与主题选择持久化,下次打开保持原样;
|
||||
- 查询历史本地留存,可回跳重跑。
|
||||
@@ -0,0 +1,42 @@
|
||||
本章说明各数据库类型的连接表单、URL 格式与高级选项(SSL / SSH 隧道)。
|
||||
|
||||
## 通用流程
|
||||
|
||||
1. 连接选择器点「新建」或选某个数据库类型;
|
||||
2. 填写表单(不同驱动表单不同,见下表);
|
||||
3. **测试** → 通过后 **保存并连接**。
|
||||
|
||||
支持直接粘贴 URL 自动填表:
|
||||
|
||||
```
|
||||
mysql://root:pass@127.0.0.1:3306/shop
|
||||
postgres://opsx:pass@127.0.0.1:5432/app
|
||||
```
|
||||
|
||||
## 各驱动表单
|
||||
|
||||
| 驱动 | 表单 | 特有字段 |
|
||||
| --- | --- | --- |
|
||||
| MySQL / PostgreSQL / SQL Server | standard | host · port · user · password · database · ssl · ssh |
|
||||
| Oracle | oracle | host · port · user · password · **service**(如 ORCL) |
|
||||
| SQLite | file | database 填本地文件路径(如 `~/data/demo.sqlite`) |
|
||||
| Redis | redis | host · port · password · database 序号 |
|
||||
|
||||
表单只收集服务端实际消费的字段;历史遗留的死参数不会出现在表单里。
|
||||
|
||||
## MySQL 族与 PostgreSQL 族
|
||||
|
||||
协议兼容的国产库无需单独驱动,直接复用家族驱动:
|
||||
|
||||
- **MySQL 族**:MariaDB(3307)、TiDB(4000)、OceanBase(2881)、PolarDB / TDSQL(3306)—— 表单里选对应类型即可;
|
||||
- **PostgreSQL 族**:GaussDB / openGauss、人大金仓 Kingbase(54321)—— 走 postgres 表单,注意默认库与用户名差异。
|
||||
|
||||
## SSL / TLS
|
||||
|
||||
连接表单中开启 **ssl** 即可;按连接独立配置,互不影响。内网自签证书场景按需放宽校验策略。
|
||||
|
||||
## SSH 隧道
|
||||
|
||||
数据库在跳板机后面时,开启 **ssh** 字段组,填写跳板机地址与凭据:OpsxDB 会先建 SSH 隧道,再把数据库连接走隧道转发,无需把库端口暴露到公网。
|
||||
|
||||
> **提示**:连接保存后,后续查询仅携带 `sessionId`,账密不会随每次请求上送;密码在本机混淆存储。
|
||||
@@ -0,0 +1,41 @@
|
||||
OpsxDB 的常用数据库驱动以 native Go 驱动编译内置,开箱即用;更多数据库在路线中。
|
||||
|
||||
## 内置驱动
|
||||
|
||||
| 驱动 | 连接库 | 说明 |
|
||||
| --- | --- | --- |
|
||||
| mysql | MySQL · MariaDB · TiDB · OceanBase · PolarDB · TDSQL | 协议族复用,默认端口 3306 |
|
||||
| postgres | PostgreSQL · GaussDB / openGauss · Kingbase | 协议族复用,默认端口 5432 |
|
||||
| sqlserver | SQL Server | 原生协议,默认端口 1433 |
|
||||
| oracle | Oracle | go-ora 纯 Go 驱动,不引入 JVM,端口 1521 |
|
||||
| sqlite | SQLite | 本地文件库,无端口 |
|
||||
| redis | Redis | 默认端口 6379 |
|
||||
|
||||
## 支持状态
|
||||
|
||||
以下为逐项实测的结果 —— 你可以按这个表判断「现在就能连什么」:
|
||||
|
||||
| 数据库 | 连接 | 库表浏览 | 数据操作 | 备注 |
|
||||
| --- | --- | --- | --- | --- |
|
||||
| MySQL / MariaDB | ✅ | ✅ | ✅ | MariaDB 默认端口 3307 |
|
||||
| PostgreSQL | ✅ | ✅ | ✅ | GaussDB / 金仓同样适用 |
|
||||
| SQL Server | ✅ | ✅ | ✅ | Apple Silicon 上连接稍慢属正常 |
|
||||
| SQLite | ✅ | ✅ | ✅ | 填本地文件路径即连 |
|
||||
| Redis | ✅ | ✅ | ✅ | 支持命令执行与键管理 |
|
||||
| Oracle | 代码就绪 | ✅ | 待实测 | 见下方说明 |
|
||||
|
||||
> **说明(Oracle)**:驱动已内置(纯 Go 实现,无需安装 Java),库表浏览可用;完整数据操作正在验收中 —— 在 Apple Silicon 的容器环境会遇到 Oracle 限制(ORA-00442),x86 环境或真实数据库不受影响。
|
||||
|
||||
## 暂不支持(规划中)
|
||||
|
||||
| 数据库 | 状态 |
|
||||
| --- | --- |
|
||||
| 达梦 DM8 | 规划中,暂不可用 |
|
||||
| MongoDB | 规划中,暂不可用 |
|
||||
| ZooKeeper / Elasticsearch / InfluxDB | 规划中,暂不可用 |
|
||||
|
||||
> **注意**:选择器中标注「未就绪」的类型仍可保存连接配置,但不能测试 / 连接;开放支持后会随版本更新自动可用。
|
||||
|
||||
## 后续驱动的接入方式
|
||||
|
||||
常用库继续以原生驱动内置;小众数据库(达梦、MongoDB 等)将通过**按需下载**方式接入 —— 首次使用时下载对应驱动组件,版本固定并校验完整性(sha256),不随包体膨胀。
|
||||
@@ -0,0 +1,46 @@
|
||||
SQL 工作台是日常使用率最高的界面,所有交互围绕「快」设计。
|
||||
|
||||
## 执行模型
|
||||
|
||||
- **⌘/Ctrl + Enter**:执行光标所在的**当前语句**;有选区时执行**选区**;
|
||||
- 不是「整页脚本」模式 —— 多条语句互不干扰,想跑哪句把光标放哪;
|
||||
- 执行在会话上运行,连接断开后自动提示。
|
||||
|
||||
## 多 Tab 与分栏
|
||||
|
||||
- 每个查询一个 Tab,并行执行互不阻塞;
|
||||
- 编辑器 / 结果区可拖动分栏,长查询时编辑器不被结果挤占;
|
||||
- Tab 与布局持久化,重开应用保持原样。
|
||||
|
||||
## 对象树联动
|
||||
|
||||
- 左侧对象树懒加载库 / 表 / 列;
|
||||
- **点表名 = 查询前 100 行**,自动生成对应 SQL;
|
||||
- 展开表看列名与类型,写 SQL 时可对照。
|
||||
|
||||
## 查询历史
|
||||
|
||||
- 本地留存最近 200 条(不上传、不同步);
|
||||
- **相同语句自动去重置顶** —— 历史即「最近用过的不同语句」,高频查询永远在第一条;
|
||||
- 点击条目回填编辑器;悬停出现 **▶** 按钮,回填并直接重跑;
|
||||
- 顶部过滤框支持按语句内容或连接名搜索;
|
||||
- 条目显示时间、连接名、行数与耗时;失败的语句红色标出。
|
||||
|
||||
## 危险 SQL 防护
|
||||
|
||||
执行以下语句前会弹确认框:
|
||||
|
||||
| 类型 | 规则 |
|
||||
| --- | --- |
|
||||
| 删除对象 | DROP / TRUNCATE |
|
||||
| 全表更新 | 无 WHERE 的 UPDATE / DELETE |
|
||||
|
||||
> **注意**:确认框只拦「明确危险」的模式,不替代事务与备份习惯;生产库操作请配合审批流程。
|
||||
|
||||
## 快捷键
|
||||
|
||||
| 快捷键 | 动作 |
|
||||
| --- | --- |
|
||||
| ⌘/Ctrl + Enter | 执行当前语句 / 选区 |
|
||||
| 双击结果单元格 | 复制单元格内容 |
|
||||
| Esc | 关闭弹层 / 取消确认 |
|
||||
@@ -0,0 +1,27 @@
|
||||
查询跑完只是开始,把结果带走才算完成 —— OpsxDB 给了三条最快路径。
|
||||
|
||||
## 三种取数方式
|
||||
|
||||
| 方式 | 用途 |
|
||||
| --- | --- |
|
||||
| **复制** | 直接进剪贴板,贴到群聊 / 文档 / 表格 |
|
||||
| **CSV** | 导出标准 CSV 文件,Excel / Numbers 直接打开 |
|
||||
| **INSERT** | 把结果行生成为 INSERT 语句,直接可在别的库回放 |
|
||||
|
||||
## 单元格操作
|
||||
|
||||
- **双击单元格**:复制该单元格内容;
|
||||
- 列头即字段名,长文本自动截断显示,完整内容在复制时保留。
|
||||
|
||||
## 截断提示
|
||||
|
||||
为保护界面与内存,超大结果集会按阈值截断展示:
|
||||
|
||||
- 结果面板顶部显示「已截断」提示与实际行数;
|
||||
- 需要完整数据时,缩小查询范围(加 LIMIT / WHERE)或使用导出。
|
||||
|
||||
> **提示**:默认「点表名看前 100 行」就是截断策略的一部分 —— 快速浏览用 100 行,精确取数写 WHERE。
|
||||
|
||||
## 与 AI 面板联动
|
||||
|
||||
写不出来的查询可以直接在 AI 面板用自然语言描述(「查最近 7 天下单但未支付的用户」),生成 SQL 后放回编辑器执行,见《AI 助手》。
|
||||
@@ -0,0 +1,34 @@
|
||||
Redis 连接使用专用表单(redis),连上后既是命令行又是键空间浏览器。
|
||||
|
||||
## 命令执行
|
||||
|
||||
SQL 编辑器同样适用于 Redis —— 直接输入命令,⌘/Ctrl + Enter 执行:
|
||||
|
||||
```bash
|
||||
PING
|
||||
SET demo:key "hello" EX 60
|
||||
GET demo:key
|
||||
KEYS demo:*
|
||||
DEL demo:key
|
||||
```
|
||||
|
||||
- 返回值直接显示在结果面板;
|
||||
- 集群 / 哨兵模式按各自连接方式配置(哨兵填写主节点名)。
|
||||
|
||||
## 键空间浏览
|
||||
|
||||
- **KEYS 扫描**:按模式浏览键(生产大库建议用前缀收窄范围);
|
||||
- 键类型视图:string / hash / list / set / zset 分类型展示;
|
||||
- **TTL 管理**:查看与设置过期时间,常用于缓存排障;
|
||||
- 批量操作:选中多个键批量删除。
|
||||
|
||||
> **注意**:`KEYS *` 在大库上会阻塞 Redis,OpsxDB 不做强制拦截 —— 生产环境请自觉使用带前缀的模式。
|
||||
|
||||
## 连接参数
|
||||
|
||||
| 字段 | 说明 |
|
||||
| --- | --- |
|
||||
| host / port | 默认 127.0.0.1:6379 |
|
||||
| password | ACL / requirepass |
|
||||
| database | 逻辑库序号(0-15 常见) |
|
||||
| ssl | 红色连接(TLS)开关 |
|
||||
@@ -0,0 +1,35 @@
|
||||
连生产库的工具,安全必须是默认项。OpsxDB 的安全设计围绕一句话:**数据不出你的机器。**
|
||||
|
||||
## 本地优先
|
||||
|
||||
- 连接配置、查询历史、主题偏好全部保存在本机;
|
||||
- 无账号体系、无遥测、无云端同步;
|
||||
- 后端默认只监听 `127.0.0.1`,对外服务需要显式配置(`OPSXDB_BIND_PUBLIC=1` 或 `OPSXDB_ADDR`)。
|
||||
|
||||
## 凭据保护
|
||||
|
||||
| 层面 | 机制 |
|
||||
| --- | --- |
|
||||
| 存储 | 连接密码在本机混淆存储,不落明文 |
|
||||
| 传输 | 连接建立后,后续查询只携带 `sessionId`,账密不再每次上送 |
|
||||
| 会话 | 会话在服务端维护,可主动关闭(连接断开即失效) |
|
||||
|
||||
## 加密通道
|
||||
|
||||
**SSL / TLS**:每个连接可独立开启;数据库支持 TLS 即可启用(MySQL、PostgreSQL、SQL Server、Redis、MongoDB 均支持)。
|
||||
|
||||
**SSH 隧道**:数据库在跳板机后时,配置 SSH 字段组,OpsxDB 先建隧道再转发数据库连接 —— 库端口不必暴露公网。
|
||||
|
||||
## 危险操作防护
|
||||
|
||||
- DROP / TRUNCATE 执行前确认;
|
||||
- 无 WHERE 的 UPDATE / DELETE 执行前确认;
|
||||
- 结果集按阈值截断,避免误操作拖垮界面。
|
||||
|
||||
## 内网部署形态
|
||||
|
||||
单二进制 + 内置静态页(官网 / 文档 / 工作台),无外部依赖:
|
||||
|
||||
- 任意内网主机可部署;
|
||||
- 无外联请求,可在纯内网环境运行;
|
||||
- 升级即替换一个二进制。
|
||||
@@ -0,0 +1,32 @@
|
||||
AI 面板的目标:让「写不出的 SQL」和「看不懂的 SQL」不再阻塞你。
|
||||
|
||||
## 六种动作
|
||||
|
||||
| 动作 | 用途 |
|
||||
| --- | --- |
|
||||
| 生成 | 自然语言 → SQL(「查最近 7 天下单但未支付的用户」) |
|
||||
| 解释 | 把一段复杂 SQL 翻译成中文说明 |
|
||||
| 优化 | 分析慢查询,给出索引 / 改写建议 |
|
||||
| 修复 | 报错信息 + SQL → 修正版本 |
|
||||
| 方言 | MySQL ↔ PostgreSQL 等跨方言转换 |
|
||||
| 样例 | 按表结构生成示例查询 |
|
||||
|
||||
## 使用方式
|
||||
|
||||
1. 连接库后打开右侧 AI 面板;
|
||||
2. 选择动作,输入需求或粘贴 SQL(可附上对象树上下文);
|
||||
3. 生成结果一键放回编辑器,⌘/Ctrl + Enter 执行。
|
||||
|
||||
> **提示**:生成的 SQL 依旧走危险语句确认流程 —— AI 产出与手写 SQL 同等对待,不放宽防护。
|
||||
|
||||
## 当前状态(v0.1)
|
||||
|
||||
AI 面板当前为**本地 stub**:六种动作的交互框架与 API 已就位(`POST /api/ai/chat`),模型服务接入版本会明确标注数据流向与开关位置。
|
||||
|
||||
## 数据流向承诺
|
||||
|
||||
接入模型服务时遵循三条原则:
|
||||
|
||||
- 默认只发送你明确提交的内容(不含连接凭据);
|
||||
- 可完全关闭 AI 功能;
|
||||
- 使用云端模型时在界面上明确标识。
|
||||
@@ -0,0 +1,40 @@
|
||||
## 产品形态
|
||||
|
||||
**Q:浏览器里的 5174 端口是什么?**
|
||||
Vite 热更新开发壳,仅开发调试用。产品形态是桌面应用(Tauri 2)或自托管 Web 服务,页面与 API 由后端 `:8788` 提供。
|
||||
|
||||
**Q:桌面版和 Web 版功能有差别吗?**
|
||||
没有。同一套 UI、同一份后端,桌面版只是多了应用壳(自动拉起本地后端、原生窗口、安装包形态)。
|
||||
|
||||
**Q:怎么打安装包?**
|
||||
`./run.sh package` 产出 Tauri 安装包(DMG)并内嵌 sidecar 后端二进制。
|
||||
|
||||
## 数据与安全
|
||||
|
||||
**Q:我的连接密码存在哪?**
|
||||
本机,混淆存储;查询只带会话 ID,密码不会随请求重复上送,也不会同步到云端。
|
||||
|
||||
**Q:会上传我的 SQL 或查询结果吗?**
|
||||
不会。没有遥测、没有账号、没有云依赖;AI 功能当前为本地 stub,接入模型服务时会明确标注数据流向。
|
||||
|
||||
**Q:能在公司内网用吗?**
|
||||
能。单二进制 + 内置静态页,无外部依赖;默认只监听回环地址,对外需显式配置。
|
||||
|
||||
## 驱动相关
|
||||
|
||||
**Q:Oracle 能用吗?**
|
||||
驱动代码就绪(go-ora 纯 Go 实现,无需 JVM),但本机 docker 验收在 Apple Silicon 上受镜像限制未通过(ORA-00442),需 x86 环境或真库完成验收,详见《驱动支持》。
|
||||
|
||||
**Q:达梦 / MongoDB 什么时候支持?**
|
||||
已列入路线:长尾库(达梦、MongoDB、ZooKeeper、ES、InfluxDB)规划 agent 按需接入,驱动分发走独立仓库并校验 sha256。
|
||||
|
||||
**Q:MySQL 族 / PG 族的国产库怎么连?**
|
||||
协议兼容直接复用家族驱动:TiDB / OceanBase / PolarDB / TDSQL 选对应类型(MySQL 协议);GaussDB / Kingbase 走 PostgreSQL 表单。注意各自默认端口与用户名差异。
|
||||
|
||||
## 其他
|
||||
|
||||
**Q:和 OpsxAPI 是什么关系?**
|
||||
同一团队的姊妹项目:OpsxAPI 是接口工作台,OpsxDB 是数据库工作台,共用一套 monorepo 脚手架(web + Gin + 可选 Tauri),产品面各自独立。
|
||||
|
||||
**Q:快捷键有哪些?**
|
||||
核心就一个:⌘/Ctrl + Enter 执行当前语句或选区;双击结果单元格复制。完整列表见《SQL 工作台》。
|
||||
@@ -1,7 +0,0 @@
|
||||
<h1>连库入门</h1>
|
||||
<p>在连库页选择驱动,填写主机 / 端口 / 账号,测试通过后保存并打开。</p>
|
||||
<ul>
|
||||
<li>密码仅存本机(本地加密存储)。</li>
|
||||
<li>会话由本地后端维护;后端未启动时顶部会提示,不会白屏。</li>
|
||||
<li>断线后可在底栏重连,恢复当前库上下文。</li>
|
||||
</ul>
|
||||
@@ -1,7 +0,0 @@
|
||||
<h1>常见问题</h1>
|
||||
<h2>打开后提示本地后端未就绪?</h2>
|
||||
<p>确认应用已拉起 sidecar;或手动 <code>./run.sh server</code> 后重试。默认只监听 <code>127.0.0.1:8788</code>。</p>
|
||||
<h2>浏览器也能用吗?</h2>
|
||||
<p>可以调试,但<strong>产品说明与对外沟通应以桌面版为准</strong>,不要暗示 Web 即产品。</p>
|
||||
<h2>官网 / 文档在哪?</h2>
|
||||
<p>本地后端提供:<code>http://127.0.0.1:8788/</code>(官网)、<code>/docs</code>(文档)。</p>
|
||||
@@ -1,13 +0,0 @@
|
||||
<h1>安装与启动</h1>
|
||||
<p>OpsxDB <strong>正式形态是桌面 GUI</strong>(Tauri)。开发态浏览器 <code>:5174</code> 只用于调试,不是产品交付。</p>
|
||||
<h2>桌面版</h2>
|
||||
<ol>
|
||||
<li>安装本机构建产物(macOS <code>.dmg</code> / <code>.app</code>,或 <code>npm run build:desktop</code> 产出)。</li>
|
||||
<li>双击启动:应用会拉起本地后端(默认 <code>127.0.0.1:8788</code>),进入工作台。</li>
|
||||
<li>无需手动执行 <code>./run.sh web</code>。</li>
|
||||
</ol>
|
||||
<h2>开发调试</h2>
|
||||
<pre><code>./run.sh gui # 或 ./run.sh web
|
||||
</code></pre>
|
||||
<p>开发壳地址:<code>http://127.0.0.1:5174</code>。</p>
|
||||
<p>改后端(<code>apps/server</code>)后请执行 <code>./run.sh restart</code>(或等价重启 Gin),避免 <code>:8788</code> 仍跑旧二进制。</p>
|
||||
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"productVersion": "0.1",
|
||||
"groups": [
|
||||
{
|
||||
"name": "开始使用",
|
||||
"pages": [
|
||||
{ "file": "01-intro.md", "slug": "intro", "title": "产品介绍", "updated": "2026-09-20" },
|
||||
{ "file": "02-quickstart.md", "slug": "quickstart", "title": "快速开始", "updated": "2026-09-20" },
|
||||
{ "file": "03-interface.md", "slug": "interface", "title": "界面导览", "updated": "2026-09-20" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "连接与驱动",
|
||||
"pages": [
|
||||
{ "file": "04-connect.md", "slug": "connect", "title": "新建连接", "updated": "2026-09-20" },
|
||||
{ "file": "05-drivers.md", "slug": "drivers", "title": "驱动支持", "updated": "2026-09-20" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "SQL 工作台",
|
||||
"pages": [
|
||||
{ "file": "06-workbench.md", "slug": "workbench", "title": "SQL 工作台", "updated": "2026-09-20" },
|
||||
{ "file": "07-results.md", "slug": "results", "title": "结果与导出", "updated": "2026-09-20" },
|
||||
{ "file": "08-redis.md", "slug": "redis", "title": "Redis 工作台", "updated": "2026-09-20" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "安全与 AI",
|
||||
"pages": [
|
||||
{ "file": "09-security.md", "slug": "security", "title": "安全设计", "updated": "2026-09-20" },
|
||||
{ "file": "10-ai.md", "slug": "ai", "title": "AI 助手", "updated": "2026-09-20" }
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "参考",
|
||||
"pages": [
|
||||
{ "file": "11-faq.md", "slug": "faq", "title": "常见问题", "updated": "2026-09-20" }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
<h1>工作台简介</h1>
|
||||
<p>深色密度布局:左侧连接与对象树,中间编辑器与多结果 Tab,可选 AI 侧栏。</p>
|
||||
<ul>
|
||||
<li>多结果集:成功结果保留;失败不盖掉已有成功集。</li>
|
||||
<li>执行计划:有则展示,无则禁用。</li>
|
||||
<li>书签:紧凑列表,回填 SQL,本地持久化。</li>
|
||||
</ul>
|
||||
Reference in new issue
Block a user