Files
oracle-jump-query-public/CHANGELOG.md
T

389 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
## 1.5.36 (2026-08-14)
### Public mirror safety
- Removed the hard-coded `"123"` fallback for the Agent update administrator token.
- `agent_update` now fails locally with a clear configuration error when neither `ORACLE_JUMP_UPGRADE_ADMIN_TOKEN` nor `upgrade_admin_token` is configured; it does not issue an update request without a token.
## 1.5.35 (2026-08-14)
### HTTPS transit endpoint
- Changed the default Skill transit endpoint from `http://bos.henlo.net:6357` to `https://ts.henlo.net`.
- Updated runtime defaults, configuration templates, examples, direct HTTP examples, and capability metadata to use the HTTPS domain.
- Existing runtime tokens and selected clients are preserved when only `transit_url` is migrated.
## 1.5.34 (2026-07-21)
### AWR export function recovery
- Updated archived `SYS.HENLO_AWR_EXPORT` to v1.1: ignore null report rows before `DBMS_LOB.WRITEAPPEND` and preserve row boundaries with an explicit newline.
- Fixes production `ORA-06502` raised by the v1.0 function when Oracle's AWR report stream contains an empty row.
- The Skill continues to return the SQL for manual DBA execution only and never runs DDL.
## 1.5.33 (2026-07-21)
### AWR DBA preparation
- When `awr_status` reports `permission_required`, the Skill now resolves the target Agent's actual Oracle schema and returns the archived `HENLO_AWR_EXPORT` deployment/grant SQL for manual DBA execution.
- The SQL is never executed by the Skill and is only shown after reminding the operator to confirm Diagnostics Pack authorization.
- Added the explicit `DBA_HIST_SNAPSHOT` read grant required by Agent readiness checks; unresolved schemas never produce SQL containing the `<AGENT_SCHEMA>` placeholder.
## 1.5.32 (2026-07-21)
### AWR report delivery
- Added `awr_status`, `awr_list`, and `awr_download` commands using authenticated transit-server APIs.
- AWR HTML is downloaded byte-for-byte from the Agent and is never rendered locally; downloads are limited to 50 MB and use strict `yyyyMMdd` validation.
- Documented the mandatory Diagnostics Pack confirmation and Agent `awr.enabled` / `awr.license_confirmed` gates.
## 1.5.31 (2026-07-21)
### Client authorization refresh
- `clients` now replaces the local client cache with the transit server's current authorization snapshot, so newly authorized clients appear and revoked clients disappear without re-entering `secretKey`.
- Client refresh continues to use only the existing transit-server access token.
## 1.5.29 (2026-07-15)
### Inspection SYS deployment
- When inspection preflight fails, the Skill reads the target Agent's configured Oracle schema through the `version` action.
- SYS function SQL replaces `<AGENT_SCHEMA>` with the actual customer schema before it is shown to the user.
- If the schema cannot be determined or is invalid, the Skill stops with a configuration error and never emits placeholder authorization SQL.
- Updated `HENLO_ORA_MONITOR` to the complete v3.0 CLOB JSON contract used by Agent inspection actions.
## 1.5.28 (2026-07-13)
### Inspection preflight
- Restored mandatory `sys_function_check` before `inspection_report` creates a new report.
- Missing SYS/current-schema monitor functions now stop collection and return the complete deployment and grant SQL bundle.
- Reading an existing latest report no longer requires SYS preflight; `inspection_latest --refresh` still does.
## 1.5.26 (2026-07-13)
### Documentation
- Documented the Skill OSS release path and planned `skill_update` check/download/confirm workflow.
- Documented preservation of local `config.json`, `outputs/` and logs during updates.
- Marked the runtime `skill_update` command as not implemented yet.
---
## 1.5.25 (2026-07-13)
### HTML archive delivery
- Retry short-lived 404 responses while transit-server asynchronously commits the report archive.
- Return a readable error after retries instead of a traceback.
---
## 1.5.24 (2026-07-13)
### HTML download
- Fixed HTML URL construction when the local config does not contain a duplicate `transit_url` field.
- Network download failures now return a readable Skill error instead of a Python traceback.
---
## 1.5.23 (2026-07-13)
### Inspection preflight
- Fixed the missing `check_inspection_sys_functions` implementation.
- Inspection generation now stops before Agent collection when the SYS monitor function is unavailable and returns the complete grant SQL bundle.
- Protected HTML URLs must be downloaded through Skill authentication.
---
## 1.5.22 (2026-07-13)
### 发布规范
- 完善 Skill 版本号、CHANGELOG、项目 AGENTS.md 发布记录和实际提交的一致性要求。
---
## 1.5.21 (2026-07-13)
### SYS function deployment
- Added `sys_functions <schema> [--json]` to generate the complete SYS function deployment bundle for Agent installation.
- The command automatically includes every `.sql` file under `references/sys-functions/` and substitutes `<AGENT_SCHEMA>` with the customer Agent schema.
- Documented the rule that every future SYS function must be archived in that directory.
---
## 1.5.20 (2026-07-10)
### 功能
- 文档补充 Agent 版本查询命令: ersion agent <clientCode...>、--all、--json。
- 明确在线 Agent 直接确认版本,离线客户返回最后心跳版本和离线状态。
- 补充自然语言触发示例:查询所有客户的 Agent 版本号、查询指定客户版本号。
---
## 1.5.20 (2026-07-10)
### 功能
- 巡检 HTML/Markdown 支持服务器 IP、操作系统版本、启动时间、运行时长、关键进程和 TCP 连接统计。
- 巡检报告支持 Oracle ACTIVE/总会话数、Buffer Cache 与 Library Cache 命中率,并区分真实零值和采集失败。
- 修正慢 SQL 列映射、表空间容量/自动扩展上限映射和高内存事件误标为 OOM 的报告问题。
- AWR 明确列入未来开发计划,当前版本不采集、不生成 AWR 报告。
---
## 1.5.19 (2026-07-10)
### 功能
- 新版服务器巡检命令成功返回后默认生成固定格式 HTML 文件,无需再显式传入 `--html`。
- `inspection_report`、`inspection_latest`、`inspection_get` 增加 `--markdown [path]`(别名 `--md`),可在生成 HTML 的同时导出固定格式 Markdown 文件。
- `--json` 输出增加 `artifacts` 字段,返回已生成的 HTML/Markdown 文件路径,同时保持标准 JSON 输出。
---
## 1.5.18 (2026-07-10)
### 功能
- 移除旧版 `checkup` 对外命令能力,服务器体检统一走新版 `inspection_report` / `inspection_latest` / `inspection_get`。
- `inspection_report`、`inspection_latest`、`inspection_get` 增加 `--html [path]`,按固定 HTML 模板导出巡检报告;不传路径时写入 `outputs/`。
- `config.json` 读取兼容 UTF-8 BOM。
---
## 1.5.17 (2026-07-09)
### 功能
- 增加 `inspection_report [clientCode] [--json]` 命令,通过 transit-server 生成服务器巡检报告并归档。
- 增加 `inspection_latest [clientCode] [--refresh] [--json]` 命令,读取最近归档巡检报告;加 `--refresh` 时重新生成后返回。
- 增加 `inspection_get <id> [--json]` 命令,按 `TS_INSPECTION_REPORT.ID` 读取历史巡检报告。
---
## 1.5.16 (2026-07-08)
### 文档
- 记录 skill Git 源地址:`http://124.220.155.147:3000/qiangayi/oracle-jump-query`。
- 明确后续更新 skill 时以该 Git 地址为准,已安装目录只作为运行和验证目录。
---
## 1.5.15 (2026-07-08)
### 文档
- 补充 BOS 提交流程规则:生成提交 SQL 或说明提交流程时,如果已知 `userId`,调用 `AD_TABLE.PROC_SUBMIT` 前需要先更新主单据修改人和修改时间,再调用提交存储过程。
- 强调修改人、修改时间字段名必须先通过 `AD_COLUMN` 或表结构确认,不要凭经验硬写字段名。
---
## 1.5.14 (2026-07-08)
### 文档
- 补充 `AD_TABLE` 表单事件过程规则:`HAS_TRIG_BD='Y'` 时 `TRIG_BD` 为删除前触发过程(bd),`HAS_TRIG_AC='Y'` 时 `TRIG_AC` 为新增后触发过程(ac),`HAS_TRIG_AM='Y'` 时 `TRIG_AM` 为修改后触发过程(am)。
- 更新 BOS 元数据查询模板,分析业务表时同时查看 `PROC_SUBMIT` 和 `TRIG_BD/TRIG_AC/TRIG_AM`。
---
## 1.5.13 (2026-07-06)
### 功能
- 在 `SKILL.md`/README/命令说明中补充 `agent_update [clientCode] [timeout]` 能力,便于其他 Agent 通过 `capabilities` 发现并触发客户 Agent 更新。
- skill 默认中转机统一为 `http://bos.henlo.net:6357`,不再使用旧 IP 或 `zjhenlo.henlo.net`。
---
## 1.5.12 (2026-07-06)
### 功能
- 增加 `agent_update [clientCode] [timeout]` 命令,通过中转机触发 Agent 自动更新;升级包下载地址由中转机返回,按 OSS `latest.json` 方案下载。
- 默认中转机地址调整为 `http://bos.henlo.net:6357`。
---
## 1.5.11 (2026-07-02)
### 文档
- 增加商品明细常见字段说明:`M_PRODUCT_ID` 对应款号,`M_PRODUCTALIAS_ID` 对应条码,`M_ATTRIBUTESETINSTANCE_ID` 对应色码属性 ASI。
- 增加 ASI 色码属性规则:`M_ATTRIBUTESETINSTANCE.VALUE1/VALUE1_CODE/VALUE1_ID` 对应颜色,关联 `M_COLOR.ID`;`VALUE2/VALUE2_CODE/VALUE2_ID` 对应尺码,关联 `M_SIZE.ID`。
---
## 1.5.10 (2026-07-01)
### 功能
- `clients` 和 `status` 成功获取服务端 client 列表后,会同步刷新本地 `client_list` 缓存。
- `switch` 支持按 client code 或 client title/name 切换;找不到时自动刷新 client 列表后再匹配。
- client 名称模糊匹配到多个结果时,不自动切换,只列出候选项并要求用户指定更准确的 client code。
---
## 1.5.9 (2026-07-01)
### 文档
- 整理 `SKILL.md` 为执行入口和索引页,将详细说明拆分到 `references/`。
- 新增完整原文备份 `references/legacy-skill-v1.5.8.md`,确保整理过程不遗漏既有内容。
- 记录文档维护规则:精简主文档时只能移动内容到 references,删除内容必须先经过用户同意。
---
## 1.5.8 (2026-07-01)
### 文档
- 记录 `AD_TABLE_TEXT` 分析结论:可通过 BOS 元数据表反推出系统菜单、模块目录、业务表、字段、主子表、动作、权限目录和报表模板结构。
- 增加 BOS 系统地图分析链路:`AD_SUBSYSTEM -> AD_TABLECATEGORY -> AD_ACCORDION -> AD_TABLE -> AD_COLUMN / AD_REFBYTABLE / AD_ACTION`。
---
## 1.5.7 (2026-06-17)
### 文档
- 增加条码/SKU 查询优先字段:查询条码时首查 `M_PRODUCT_ALIAS.NO`,再根据条码关联商品和库存。
---
## 1.5.6 (2026-06-17)
### 文档
- 增加常用业务对象说明:商品/款号默认对应 `M_PRODUCT`,条码/SKU 默认对应 `M_PRODUCT_ALIAS`,款号与条码是一对多关系。
- 增加库存查询约束:库存通常查询 `V_FA_STORAGE`,该视图数据量大,必须通过店仓 + 款号/条码条件查询,并配合行数限制。
---
## 1.5.5 (2026-06-17)
### 文档
- 增加生产查询限制说明:直接查询业务表时必须带明确过滤条件和行数限制,不要执行无条件整表查询。
- 更新 `query` 示例,强调使用日期、状态、单号、门店、主键等业务条件,并配合 `ROWNUM` 或分页限制。
---
## 1.5.4 (2026-06-16)
### 文档
- 记录新增业务表单时的提交状态字段默认规则:如果表存在 `STATUS`、`STATUSERID`、`STATUSTIME`,新增草稿表单通常只设置 `STATUS='1'`,不对 `STATUSERID`、`STATUSTIME` 赋值。
- 记录“提交”语义:如果用户提到提交,通常指执行 `AD_TABLE.PROC_SUBMIT` 对应的提交存储过程,提交人和提交时间等字段由提交逻辑处理。
---
## 1.5.3 (2026-06-16)
### 文档
- 记录 `AD_COLUMN.OBTAINMANNER = 'select'` 的字段值域查询规则:通过 `AD_LIMITVALUE_GROUP_ID` 查询子表 `AD_LIMITVALUE`。
- 当用户使用显示值描述业务含义时,生成查询或新增记录 SQL 前必须先映射为数据库实际值。例如 `XH_ORDER_FTP.BILLTYPE` 显示值“券核销”对应实际入库值 `VOU_USED`。
---
## 1.5.2 (2026-06-15)
### 文档
- 记录新增业务表记录时的 SQL 生成规则:主键 `ID` 使用 `get_sequences('<表名称>')`。
- 如果表存在 `DOCNO` 字段,先查询 `AD_COLUMN` 中该字段的 `SEQUENCENAME` 单据编号生成器;有值时使用 `Get_SequenceNo('<SEQUENCENAME>', 37)` 生成单据编号。
- 如果表存在 `AD_CLIENT_ID` 字段,默认值为 `37`;如果存在 `AD_ORG_ID` 字段,默认值为 `27`。
- 子表的 `AD_CLIENT_ID` 和 `AD_ORG_ID` 默认继承父表对应字段值。
---
# 更新日志
## 1.5.1 (2026-06-15)
### 调整
- Oracle 运维监控函数调用增加当前账号兜底:优先调用 `SYS.HENLO_ORA_MONITOR`,失败后自动尝试 `HENLO_ORA_MONITOR`。
- 函数缺失提示增加双安装方案:可安装到 SYS 并授权,也可在当前 Agent 登录账号已有系统视图权限时安装到当前账号。
---
## 1.5.0 (2026-06-15)
### 新增
- 新增 `ops <item> [clientCode]`,用于单项 Oracle 日常运维监控。
- 新增 `ops_report [clientCode]`,用于生成 Oracle 运维日报。
- 支持通过中转机 `/api/oracle_ops` 和 `/api/oracle_ops_report` 调用 Agent 受控运维监控 action。
- 支持 `SYS.HENLO_ORA_MONITOR` 定义者权限函数方案,缺失时输出 SYS 函数源码和授权 SQL。
### 调整
- Oracle 运维监控不再由 skill 直接拼 SQL,而是由中转机鉴权、Agent 白名单 action、SYS 函数共同控制。
- 报告中单项失败不影响整体输出,失败项会在报告末尾汇总。
### 文档
- 更新 README、SKILL.md、agent.md,记录 Oracle 运维报告、单项命令和 SYS 权限函数方案。
---
## 1.4.0 (2026-06-11)
### 新增
- 新增低调入口 `checkup [clientCode]`,用于查询客户服务器体检报告。
- 服务器体检报告通过中转机 `/api/server_status` 获取,返回 Markdown 表格。
- 体检报告字段包括 `clientCode`、`info_cpu_rate`、`info_memory_rate`、`info_memory`、`bak_path`、`bak_lastdate`、`computer`。
- 支持用户自然语言询问“服务器体检报告 / 服务器状态 / 备份情况”时调用 `checkup`。
### 调整
- `login <secretKey> [clientCode]` 改为登录中转机,由中转机调用 BOS `ts_login` 并签发 `access_token`。
- `clientCode` 为客户服务器编号,改为非必填;不传时默认使用 BOS 返回的第一个可用 client。
- 本地配置不再保存 `secretKey`,只保存中转机 token、过期时间、当前 client 和可访问 client 列表。
- 同一个 `secretKey` 同时只允许一个设备在线;新设备登录后旧 token 立即失效。
### 文档
- 更新 `README.md` 和 `SKILL.md`,补充 `checkup` 服务器体检报告说明。
- 记录 `clientCode` 非必填,以及 token 失效后需要重新 login 的行为。
---
## 1.3.0 (2026-06-10)
### ✨ 新增
- 表空间查询 5 层自动降级策略
- 第 1 层:`DBA_DATA_FILES` + `DBA_FREE_SPACE` 直接查询(需 `SELECT_CATALOG_ROLE`)
- 第 2 层:`sys.get_tablespace_usage()` 专用函数(返回 `SYS_REFCURSOR`)
- 第 3 层:`HENLO_TS_USAGE` 授权 VIEW
- 第 4 层:`SYS.HENLO_TS_USAGE` 授权 VIEW(带 schema 前缀)
- 第 5 层:`USER_FREE_SPACE` 回退查询(始终可用)
- 自动输出 DBA 授权 SQL(无权限时自动打印 CREATE VIEW + GRANT 语句)
- 函数 `SYS_REFCURSOR` 返回值的正则解析,支持从 Go 结构体 dump 中提取表格数据
- `version` 命令:查看当前版本号
### 🔧 修复
- 视图创建在 `SYS` schema 下时,自动尝试 `sys.` 前缀查询
- 交互模式和 CLI 模式显示统一:区分 DBA 查询 / 函数查询 / VIEW 查询 / 降级回退
### 📝 文档
- `SKILL.md`:新增表空间查询文档(5 层降级 + 授权 SQL + schema 前缀说明)
- `docs/操作示例.md`:新增完整操作示例(含实际 HENLO 环境输出)
- 新增 `CHANGELOG.md`、`VERSION` 文件
---
## 1.2.0 (2026-06-09)
### ✨ 新增
- 表空间查询基础功能
- 支持 `DBA_DATA_FILES` + `DBA_FREE_SPACE` 查询
- 交互模式支持 `tablespace` / `tablespaces` 命令
- CLI 模式支持 `tablespace` / `tablespaces` 命令
### 🔧 修复
- 权限不足时自动降级到 `USER_FREE_SPACE` 查询
---
## 1.1.0 (2026-XX-XX)
### ✨ 新增
- 数据字典查询(AD_TABLE / AD_COLUMN / AD_REFBYTABLE)
- `get_tables` 命令:通过存储过程依赖发现表结构
- `describe_table` 命令:查询表结构(列、索引、行数、注释)
- `get_userspermsql` 命令:生成用户权限 SQL
- `perm` 命令:查询用户权限
- `permq` 命令:带权限过滤的查询
- 交互式模式
### 🔧 修复
- 各项命令的异常处理优化
---
## 1.0.0 (2026-XX-XX)
### ✨ 初始版本
- Oracle 跳板查询基础架构
- 通过中转服务 + Agent 查询远程 Oracle
- 支持存储过程源码分析、依赖查询、触发器查询
- 多租户授权验证(BOS ts_login / ts_client_check)
- 支持 `analyze`、`source`、`list`、`deps`、`trigger` 等命令
- 支持 `query` 命令直接执行 SELECT(只读)
## 1.5.30 (2026-07-21)
### Documentation
- Documented `AD_TABLE.MASK` as the table's declared business-action codes: `A` add, `M` modify, `D` delete, `Q` query, `U` cancel submission, `V` void, and `S` submit.
- Restored Git/Gitea as the only Skill update source; removed the OSS and `skill_update` release/update instructions.