# Changelog 本文件对应技能市场 **「更新日志」** Tab。 发布 CI 会按当前 tag 版本(如 `v1.0.46` → `1.0.46`)提取匹配的 `##` 小节,写入该版本的 `changelog`。 约定: - 每个正式版本一节,标题形如 `## 1.0.46` 或 `## [1.0.46] - YYYY-MM-DD` - 小节正文写用户能看懂的变化(新能力、修复、注意事项),避免堆砌内部实现细节 - 打 tag 前**必须**为即将发布的版本新增一节;找不到匹配小节时,本次发布不会更新 changelog 字段 ## 1.0.98 - 沉淀数据管理**列筛选与全局搜索**契约:`searchable` 同时控制列筛选字段列表与顶栏全局搜索;存库 value / 展示 label 分工;筛选栏枚举/boolean/lookup 用下拉 Select(与表单开关/分段单选区分) - 全局搜索:options label 映射、boolean 别名、lookup 多选 token、`datetime_unix_seconds` 日期区间 - `ACTIONS.md` 表单对照表补充「列筛选」脚注;`CHECKLIST` A6-11 / A6-12;`display_metadata_validator` 对未开 searchable 的枚举/boolean 列软 warning ## 1.0.97 - 沉淀数据管理 HTML 预览**布局契约**:`references/ACTIONS.md` 新增「宿主预览布局」(流体铺满 iframe、禁横向滚动、表格断行等) - 升级 `assets/html/example-report.html` 为通用布局基线;`test_html_page_service` 守护不退化 - `DEVELOPMENT.md` / `CHECKLIST`(S0-12、A6-10)/ `TESTING.md` 交叉引用 ## 1.0.96 - 在 `references/ACTIONS.md` 沉淀数据管理技能按钮中文名(`label`)参考表:同类通用动作用同一动词,不是白名单 - 打开类改为「打开目录 / 打开浏览器」,一点即开、成功不弹「执行成功」;示例不再使用「打开文件位置」 - 交活 Checklist A7-7;POLICY_MATRIX 软规则:不扫描 label 关键字 ## 1.0.95 - 正式沉淀「业务行生命周期」通用契约(`references/WORK_ITEM_STATUS.md`):用可操作/进行中/成功·失败·跳过类终态等**角色**约束处理队列,不绑死某一技能的状态名 - 默认只处理可操作态;开始抢占进行中;结束回写成功或失败(失败带原因);重做靠人工改回可操作 - REQUIREMENTS §0.3 状态→角色映射;CHECKLIST S0-11 / A6-7~A6-9;SKILL / ACTIONS / SCHEMA / references 索引交叉引用 ## 1.0.94 - 修正 1.0.93 更新日志重复小节 ## 1.0.93 - 沉淀 Lookup **多选**契约:同一 `lookup` / `options_json` 对象上加 `multiple: true`(平行扩展单选,不另造 display_type) - 多选存 `TEXT` 逗号分隔 id;列表展示映射为多个 label;控件由宿主按选项数量选择(短列表勾选 / 长列表 Chip+下拉) - 更新 SCHEMA / ACTIONS / skill-actions.schema / lookup 示例与 options_json 校验 ## 1.0.92 - 沉淀数据管理 `replaces: import`:导入 UI 统一宿主面板,确认后由技能写库 - ACTIONS / schema / 守护测试对齐 create·update·delete·import;补充可抄示例 `replaces-*.action.example.json` - 修正旧文档「宿主导入仍直写」的过时说明 ## 1.0.91 - 沉淀「表与表之间禁止 SQLite 外键」契约:只存业务 id,关联与级联在 repository/service;界面用 `lookup` - `display_metadata_validator` 扫描业务表 DDL,含 `FOREIGN KEY` / `REFERENCES` 时报错 - 交活 Checklist 新增 A6-6;`lookup` 文档用语改为「跨表引用 id」,避免与 SQLite 外键混淆 ## 1.0.90 - 沉淀数据管理表格说明契约:`_jiangchang_tables.grid_help` / `_jiangchang_columns.grid_help` - 有内容才显示表上方说明和列头「?」;不写则与今日一致 - 与新增/编辑表单的 `description` 独立,禁止互拷(见 `references/SCHEMA.md`) ## 1.0.89 - 仓库增加 MIT 许可证,版权归属深圳匠厂科技有限公司 - 增加 SECURITY.md:未公开漏洞请通过匠厂官网联系,不要发在公开 Issue - 模板 developer_ids 改为占位 12345,复制后请换成自己的匠厂用户 ID ## 1.0.88 - `release.ps1` 默认 tag 说明改为 UTF-8 字节写入,不再依赖脚本源码里的中文默认参数(Windows PowerShell 5.1 会把无 BOM 的 UTF-8 按系统代码页解析) - 不改写已发布 tag(v1.0.86 / v1.0.87 说明仍可能乱码) ## 1.0.87 - `release.ps1` 打 annotated tag / 自动 commit 改为 UTF-8 消息文件 + `git -F`,避免 `-m` 走控制台代码页 - 默认说明仍可能乱码(见 1.0.88) ## 1.0.86 - 去掉 `release.ps1` 里通过 `cmd /c` 调 git 的写法;中文 tag 说明在部分 Windows 控制台代码页下仍可能乱码,见 1.0.87 ## 1.0.85 - 新增开发主文 `development/PRODUCT_SURFACES.md`:说明对话 / 数据管理 / 定时任务平级关系、何时走哪个入口、如何做入口定位 - 需求与交活清单增加入口定位表;纠正「只做对话即可」与「Action 一概可选」的误导语气 - 数据管理明确为 UI 执行面 + 过程可见,与对话同内核 ## 1.0.84 - 沉淀 Action 参数表单字段条件显隐契约 `visibleWhen`(先选模式再出对应参数) - 文档入口:`ACTIONS.md` / `SKILL_ACTION_RUNTIME.md` / `CHECKLIST` A4-7;与 Policy L3 行态 `visibleWhen` 消歧 - 新增示例 `assets/examples/visible-when-action.example.json`;Schema 已支持该字段 ## 1.0.83 - 沉淀跨表 Lookup 契约:Action 可用内联 `lookup` 或绑列下拉,禁止让用户手填内部编号 - 统一展示:`编号 · 名称`,可选 `extra_column` 时为 `编号 · 名称(额外)` - 更新 `ACTIONS.md` / `SCHEMA.md` / `skill-actions.schema.json`、示例与验收清单 ## 1.0.82 - 沉淀数据管理技能按钮可选悬停字段 `hoverHint`:短名看不懂或会覆盖数据时再写;不回退说明或确认黄条 - 宿主内置删除/刷新/新增/导入/导出不走该字段;默认 health/version/config-path 不加悬停 ## 1.0.81 - 模板默认不再创建或写入 `task_logs`:过程看运行日志,进度看任务中心,业务结果看业务表 - `run` 录屏信息并入 `finish()`;去掉 CLI `logs` / `log-get` - 已安装技能的旧库不受影响 ## 1.0.80 - 沉淀数据管理「HTML 页面报告」契约:写入 `{skill_data}/html/*.html`,重新生成 Action id 固定为 `render-html` - 新增 `get_html_dir()`、薄写入 helper(`html_page_service`)、示例页与 Action 示例 JSON - 文档:`ACTIONS.md` / `DATA_PATHS.md` / `SKILL_ACTION_RUNTIME.md` 等已区分 HTML 报告与 `export-*` / 宿主表导出 ## 1.0.79 - 沉淀数据管理表级「默认展示列」契约:`_jiangchang_tables.default_visible_columns_json` - 已配置则宿主默认只显示名单列;未配置全显;用户改过「列」后以本机偏好为准 - 与 `_jiangchang_columns.visible=0` 硬隐藏区分:默认隐藏仍可在「列」面板勾回 - `upsert_table_metadata` / 旧库幂等 `ALTER` 已支持该字段(见 `references/SCHEMA.md`) ## 1.0.78 - 反哺 RPA 有界就绪等待约定:状态等待统一用 kit `poll_until`(需 `jiangchang-platform-kit>=1.2.11`) - 错误码表补充 `UI_NOT_READY` / `BROWSER_START_TIMEOUT` / `ENV_DEGRADED`,明确慢机器勿误判为配置错或频控 - 模板默认 `platform_kit_min_version` 上调至 `1.2.11`;`.env.example` 增加可选 `OPENCLAW_BROWSER_LAUNCH_TIMEOUT_MS` - `examples/real_browser_rpa` 搜索结果等待改为 `poll_until` 示例写法 ## 1.0.77 - 固化 Action / CRUD **对称**表单字段类型契约:text、textarea/json、number、boolean、enum/lookup、sensitive、date、datetime_unix_seconds、url/email(薄层) - 明确可编辑业务时间用 Unix **秒**读写;审计 `created_at`/`updated_at` 仍只读展示 - 明确本版**不做**文件上传、多选/标签数组、复杂 nested 表单,避免宿主反复扩面 - 更新 `SCHEMA.md`、`ACTIONS.md`、`skill-actions.schema.json`(`display_type`/`format`) ## 1.0.76 - 固化数据管理「新增/编辑」表单契约:列 `description` 须在标签下展示;创建默认值取自 SQLite 列 `DEFAULT`(见 `references/SCHEMA.md`) - 明确禁止把说明塞进 `display_name`;与 Skill Action 的 `inputSchema.description` / `default` 分工写清(见 `ACTIONS.md`) - 宿主须按该契约实现下发与预填;技能侧用元数据说明 + DDL DEFAULT 即可,第一期不新增表单默认值元数据列 ## 1.0.75 - 正式沉淀数据管理「单元格呈现」通用契约(`references/CELL_PRESENTATION.md`):技能声明某表某行某列的语义 tone,宿主映射主题样式 - 用途不限(超时未填、库存预警、状态异常、审核驳回等);推荐旁路表 `_jiangchang_cell_presentation`;填完后重算即取消强调 - 新增 Schema / 示例;`actions.json` 可选顶层 `cellPresentation.enabled` ## 1.0.74 - 沉淀宿主 Skill Action 编排契约:`hostEffects`(`onSuccess` / `onFailure`)与 `steps`(`before` / `afterSuccess` / `afterFailure`) - 支持成功后 `reloadTable` 等 UI 副作用与级联删除步骤;需匠厂宿主 ≥2.8.5;省略则不自动刷表 - 更新 `skill-actions.schema.json`、ACTIONS.md、SKILL_ACTION_RUNTIME ## 1.0.73 - 正式发布 Data Policy 契约(`references/POLICY.md` v1.0):可选身份授权,默认 L0 零配置 - 新增 Snapshot Schema 与示例;`actions.json` 支持顶层 `policy` 与 Action 可选 `authz` 提示 - ACTIONS 扩展为六职责正交(含 policy) ## 1.0.72 - 澄清 `placements: "row"` 契约:表示数据管理**行级入口**;技能配置决定菜单项,宿主可呈现为操作列、行右键和/或行内「⋯」(同一批 Action,无独立菜单 DSL / `row-context-menu` placement) - 更新 ACTIONS.md、SKILL_ACTION_RUNTIME、DEVELOPMENT 验收表与 skill-actions.schema 描述 ## 1.0.71 - 文档对齐:Skill Action `sync` 默认超时约 **60s**(`SKILL_ACTION_SYNC_TIMEOUT_MS`);接近或超过约 60s 的任务应标 `async` - 更新 `SKILL_ACTION_RUNTIME.md` ## 1.0.70 - 对齐宿主:数据管理表顶栏技能按钮全部直接展示,取消「更多操作」溢出菜单 - 补充宽窄布局说明:够宽左右横排一行;不够宽左右分栏、栏内竖排 - 更新 ACTIONS.md 与 skill-actions.schema.json ## 1.0.69 - 用户数据目录收敛为上行 `input/` 与下行 `output/`(取代 downloads / imports / exports 三分法) - `runtime_paths` 提供 `get_input_dir()` / `get_output_dir()`;相对输入路径解析到 `input/` - 更新 DATA_PATHS.md、CONFIG、`.env.example`;缓存 / 临时 / RPA 录屏目录仍为内部目录 ## 1.0.68 - 明确数据管理技能按钮顺序契约:同一 placement(toolbar / row / batch)下按 `actions` 数组相对顺序展示;调整数组先后即可改序 - 说明宿主内置刷新 / 导出 / 查看等不参与该顺序;无独立 `sortOrder` 字段 - 更新 ACTIONS.md 与 skill-actions.schema.json ## 1.0.67 - 移除模板内嵌的 `tools/ui_inspector`;UI 录制器产品迁至独立仓库 `jiangchang-ui-recorder` - 相关开发文档改为指向 Gitea 产品仓库入口 ## 1.0.66 - 数据管理支持表级默认排序:`_jiangchang_tables.default_sort_json`(多字段 JSON);宿主优先采用,未配置则仍按 updated_at → created_at → 主键 - 更新 SCHEMA.md 与 `upsert_table_metadata`;旧库幂等补列 ## 1.0.65 - `replaces` create/update 可复用表列 lookup:字段名对齐列名,或使用 `bind.columnMapping` / 字段 `column` - 更新 ACTIONS.md 与 skill-actions.schema.json ## 1.0.64 - Skill Action 新增可选 `replaces: create|update|delete`:接管数据管理默认新增/编辑/删除,无配置时宿主仍直写 SQLite - 更新 ACTIONS.md 与 skill-actions.schema.json;`replaces` 须配合 `bind.tables`,可与空 `placements` 并用 ## 1.0.63 - 数据管理支持字段级 lookup:`options_json` 可声明同库关联表(`ref_table` / `value_column` / `label_column`),宿主新建/编辑时渲染下拉 - 更新 SCHEMA.md 与元数据校验,兼容静态枚举数组与 lookup 对象两种形态 ## 1.0.62 - Skill Action 新增 `interaction` / `interactionByPlacement`:声明数据管理点击是直通、轻确认还是参数表单(与 `executionProfile` 正交) - 明确 `confirmation` 只负责风险文案;cron 触发与 agent 忽略 `interaction` - 补充 ACTIONS.md 示例(打开文件位置 = direct,打开浏览器 = confirm) ## 1.0.61 - 桌面 RPA 标准反哺:明确 Name≠Value、主窗最大化与禁止误 `SW_RESTORE`、同名叶子须绑父容器 - 更新 `real_desktop_rpa` example:activate/Value 定位、element-map 补全「新的客户/添加」、README 与契约测试 ## 1.0.60 - 强化日志规范:验收铁律、固定事件词表、失败须先写文件日志再 print - 新增 hard 门禁 POLICY-LOGGING-006/007/008(域模块有日志、RPA 事件词、ERROR 与 logger 共现) - 模板金样 `task_service` 示范 `entitlement_ok`、`rpa_start`/`stage=`、`task_failed error_code=` - 增加 `tests/samples/test_logging_contract.py.sample` 与交活 Checklist 日志 P0 项 ## 1.0.59 - 新增浏览器、Windows 桌面、Android/iOS 三端元素拾取与定位标准,要求先真实拾取、填写 element map、验证唯一性和业务后置状态 - 从已跑通的企业微信添加客户技能提炼真实 Windows UIA example,提供窗口唯一性、作用域定位、probe 和 dry-run/assisted 范式 - 手机 RPA 增加设备、Appium Inspector、Native/WebView、控件树和失败留证标准;在成功案例补齐前明确标为规格骨架 - 需求模板和交活 Checklist 增加禁止 AI 猜 selector、禁止 first/index 掩盖歧义、结构变化停止留证等门禁 ## 1.0.58 - 新增 account-manager 接入标准,说明一账号一 Profile、多账号矩阵、登录状态持久化与完整运行生命周期 - 明确账号创建后的查看位置:匠厂数据管理、account-manager CLI、本地用户数据目录及 Profile 目录 - 强制所有账号选择路径取得租约并在异常出口释放,修复模板中指定数字账号 ID 时缺少租约的问题 - 增加关闭重开保持登录、多账号隔离、租约冲突、异常释放和自助排障验收项 - 新增机器门禁,防止后续模板退回到裸浏览器、空租约或只做单账号冒烟测试 ## 1.0.57 - 新增 AI + RPA 技能开发总纲,明确 Agent 负责理解与编排、RPA 负责浏览器 / 桌面 / 手机的确定性执行 - 增加第三方软件自动化合规红线:禁止破解、逆向、私有协议、安全验证绕过、Hook / 注入、自动换号和无限重试 - 补齐工业级 RPA 风控、人工介入、状态等待、串行互斥、有限重试、结果核验与前后缓冲标准 - 真实业务默认步骤节奏统一为 1~3 秒,并增加自动测试守护 - 需求模板和交活 Checklist 增加授权、风险确认、不可逆操作、风控信号与结构化结果验收 ## 1.0.56 - 新增第三方交活验收清单 `development/CHECKLIST.md`(观察结果、不重复开发规范) - 验收报告强制写入仓库根目录 `acceptance-reports/YYYYMMDD-HHMMSS-acceptance.md`,便于技术人员按 FAIL 项整改 ## 1.0.55 - 模板 `.env.example` 默认 `OPENCLAW_TEST_TARGET=real_rpa`;四档保留;明确 mock 只保单测/CI,mock 通 ≠ 交活 - 验收要求 release 到匠厂并看用户体验(进度、失败提示、有头 RPA 等) ## 1.0.54 - 新增 `development/SHARED_REPOS.md`:可扩展的公开公共仓目录(skill-template / account-manager / jiangchang-platform-kit),含类型、Gitea 地址、clone 与红线 - 开发入口与 RUNTIME / RPA / tools 文档挂接该目录,便于技术人员与 AI 定位公共依赖 ## 1.0.53 - 宿主入口对齐:`row` / `batch` 升格为正式 placements;支持 `bind.inputMapping` 与 `readOnly`;已声明入口均须自测(含技能详情直调) - 开发文档:自建 Gitea(git.jc2009.com)与 scaffold 双来源;`developer_ids` 示例改为占位「你的用户ID」;压缩 AI 工具章节 ## 1.0.52 - 开发文档补齐全流程:Gitea 克隆与本地模板复制两种拿仓方式;`developer_ids` 作为开发期自测通行证(下载安装注册 → 设置复制用户 ID) - 发布后宿主验收明确覆盖新建任务、数据管理、定时任务与任务中心;`development/README` 增加步骤索引 ## 1.0.51 - 沉淀网页 RPA 首启标准:业务技能默认 `ensure-web`(有则用、无则登记);登记账号 ≠ 已登录目标站;租约全忙返回占用错误且不重复建号 - 明确会话依赖型采集须声明登录 `required` 并做登录门禁;配置留空 + 行尾说明不得当成假默认值;账号可用登录标识选择,展示优先登录名 - 最低共享库版本声明上调至 1.2.2(含配置空值解析修复);说明宿主按需升级、不因源上有更新自动追新 ## 1.0.50 - 沉淀网页 RPA 硬规则:必须先经账号管理取得 `profile_dir` 再开浏览器;生产有头;站点登录按平台约定(不全局强制);新增 `POLICY-RPA-004` 自动检测 - 用户教程 / 技能说明占位强调「先登记账号」;需求模板增加登录策略三选一(required / optional / not_needed) ## 1.0.49 - 明确 Skill Action 心智:默认按 sync;仅长任务 / RPA 显式 async 进任务中心;匠厂宿主省略 `executionProfile` 时按 sync;新技能仍须显式声明 ## 1.0.48 - 新增配置注释硬门禁 `POLICY-CONFIG-004`:`.env.example` 每个配置项必须有中文行头与行尾说明,禁止开发文档指向,测试不通过则无法发布 ## 1.0.47 - 规范 `.env.example` 注释:面向「数据管理 → 配置管理」用户,行头说明「是什么」、行尾说明「怎么填」 - 去掉注释中的开发文档指向与黑话;`CONFIG.md` / 发布检查清单同步约束,避免各技能注释写法不一致 ## 1.0.46 - 模板默认增加市场材料:`TUTORIAL.md`(使用教程)、`DEMO.md`(演示)、`CHANGELOG.md`(更新日志),与根 `README.md`(技能说明)组成四 Tab 内容源 - 发布 CI 同步 `tutorial_md` / `demo_md` / `demo_video_url` / 版本 `changelog` ## 1.0.45 - 沉淀通用 Agent 路由与 how-to 文档标准(见仓库提交说明)