From 728d0c5d2a8179c692dfbac682fd9e231ac4373b Mon Sep 17 00:00:00 2001 From: ThearchyHelios Date: Fri, 16 Oct 2026 18:51:02 +0800 Subject: [PATCH] =?UTF-8?q?README=EF=BC=9A=E7=AC=AC=203=20=E6=B3=A2?= =?UTF-8?q?=E7=9A=84=E5=8D=87=E7=BA=A7=E8=AF=B4=E6=98=8E=EF=BC=88=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E5=8F=98=E5=8C=96=E4=B8=8E=E5=8F=96=E5=80=BC=E8=A7=82?= =?UTF-8?q?=E5=AF=9F=E3=80=81=E5=AE=9A=E6=97=B6=E7=BB=B4=E6=8A=A4=E3=80=81?= =?UTF-8?q?=E6=8C=89=E5=8F=A3=E5=BE=84=E8=87=AA=E5=8A=A8=E5=87=BA=E5=85=B7?= =?UTF-8?q?=E3=80=81=E6=9C=80=E8=BF=91=E4=B8=80=E6=AC=A1=E5=B0=81=E5=AD=98?= =?UTF-8?q?=E7=9A=84=E6=9D=A5=E6=BA=90=E7=99=BD=E5=90=8D=E5=8D=95=E3=80=81?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=E8=80=85=E7=9A=84=E5=8E=9F=E5=A7=8B=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E8=AE=B0=E5=BD=95=E3=80=81=E9=82=AE=E4=BB=B6=E4=B8=8E?= =?UTF-8?q?=E5=BE=85=E5=8A=9E=E6=B1=87=E6=80=BB=E3=80=81=E5=AF=86=E9=92=A5?= =?UTF-8?q?=E5=88=B0=E6=9C=9F=E6=8F=90=E9=86=92=EF=BC=89=EF=BC=9B=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E4=B8=80=E8=8A=82=E5=8A=A0=E3=80=8C=E5=88=86=E4=BA=AB?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E3=80=8D=EF=BC=88=E5=BC=80=E5=85=B3=E3=80=81?= =?UTF-8?q?=E4=B8=A4=E7=A7=8D=E6=A8=A1=E5=BC=8F=E3=80=81/s#key=E3=80=81?= =?UTF-8?q?=E5=88=B0=E6=9C=9F=E4=B8=8E=E6=92=A4=E9=94=80=E3=80=81=E5=B5=8C?= =?UTF-8?q?=E5=85=A5=E3=80=81=E7=95=99=E7=97=95=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/README.md b/README.md index fcd95b8f..cdb551fe 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,30 @@ http://127.0.0.1:8000 。前端产物不存在或比源码旧时才重新构建 - 报告导出和可验证报告下载各记一条审计 `report.exported`。问数据发起的运行带上所在对话和轮次(`origin_ref`), 「在画布里打开」建的工作流记下来自哪一轮。 +**从旧版本升级(2026-10 下一轮第 3 波)**: + +- 探查结构时每张表记一个结构版本,和上一次读到的结构比:加删列、改类型、改可空、改注释、主键 / 唯一约束 / 外键的增删 + 记进数据源的变化记录(疑似改名只说「可能是改名」,不下结论)。升级后第一次探查每张表只建基线、不出变化。从发布版本发起 + 的正式运行,这一版引用的表结构在发布之后变了时,运行里多一条「表结构变化」提醒(`schema.drift`,在封存范围内)。 +- 剖析多了取值观察:行数、码值分布(包括人工确认过的码值列)、最新业务日期、最近 35 天每天的行数,和同一口径的历史比出 + 新码值、比例剧变、断档、缺天、量跌、行数大起大落。只在剖析范围是「取值观察」或定时维护时做。标了「已列全」的码值表出现目录 + 里没有的取值时,系统撤销「已列全」(目录升一版),这是机器唯一会写进目录的事;新取值的含义仍要人填。遮罩列不观察。 +- 数据源可以设定时维护(探查 → 剖析需要的表 → 取值观察,可多选),就是一条目标为数据源的定时任务,缺省没有。定时任务的 + 目标也可以是评测题集。这两种目标不收 Webhook(回 422),通知走「设置 → 通知」的渠道订阅。 +- 变化记录、评测、口径出具与对账这一波只有接口(`/api/datasources/{id}/changes`、`/api/evals/…`、 + `/api/ledger/answers/{run_id}/…`),界面随下一波上线。 +- 问数据的答案整题等价于一份已发布的受管口径时(SQL 被证明等价、版本受管、图里没有人工节点和写入),系统按口径自动发起 + 一次正式运行,来源记为「按口径正式出具」。「设置」的 `ledger` 一组可以关掉自动出具(`auto_issue`),自动和一键合计每天最多 + 20 次。画布试跑、个人应用刷新这类不是问数据的答案不自动出具。 +- 应用视图、趋势、分享链接、视图数据接口取「最近一次封存」时,只认定时任务、应用入口、按需视图、画布或版本页上的「正式运行」、 + 入站钩子和访问密钥发起的正式运行;按口径出具、补算出来的运行不会顶替看板上的数。 +- 开了登录时,使用者能读原始运行记录、事件和实时流的,只剩自己的问数据运行;别的运行(包括替他发起的口径对账)经应用页 + 和证据接口读,展示的 SQL 里写着的遮罩值换成「已遮罩」。 +- 通知多了邮件:管理员在「设置 → 通知 → 邮件服务」配 SMTP(口令加密存),之后可以建邮件格式的渠道。邮件只确认交给了邮件 + 服务器,退信不追踪。每天的待办汇总按 `notify.digest_at`(缺省 09:00,服务端时区)发给订阅了它的个人渠道;访问密钥到期前 + 7 天、1 天各提醒一次。关登录时这两项都不发。 +- 分享链接(只读、不用登录的视图页)缺省关,见[分享链接](#分享链接)。 + --- ## 核心能力 @@ -370,6 +394,20 @@ flowchart LR **验收用的假外部系统**:`python scripts/fake-erp.py --port 8765`,可以切换「正常 / 写成功后超时 / 500 / 4xx」,接口见 脚本开头。 +### 分享链接 + +要给没有账号的人看一个看板时,用分享链接:管理员先在「设置 → 偏好设置」的「应用」一节打开「允许建分享链接」(缺省关), +再由能管理这个应用的人在应用编辑的「岗位与授权」里建。 + +- **看什么**:只看定时出数的视图(最近一次封存的正式运行)。可选「始终最新」或「固定这一期」(建分享时的那一期);按需视图、实例、 + 入口表单不显示,也不会因为有人打开而发起运行。流程组件、报告正文换成说明块,正文和出处在「下载报告」里。 +- **链接**:`/s#`,key 在 `#` 后面,不进服务器日志、不随 Referer 带出去;库里只存哈希。到期必填,最长 90 天,可撤销; + 撤销、到期、应用不再发布时打开回 410 并写明原因。管理员关掉开关后,已有的分享链接也一并打不开。 +- **嵌入**:分享页允许被哪些站点嵌由 `AGENTLAB_EMBED_ORIGINS` 定;建分享时没勾「允许嵌入到别的站点」的那一条,在 iframe 里不显示内容。 + 同站的门户(同一个可注册域名下)要嵌整站时用 `AGENTLAB_FRAME_ANCESTORS`,登录照常;跨站的门户嵌整站不支持(浏览器不把会话 + cookie 带进跨站的 iframe),请用分享链接。 +- **留痕**:建、撤销写审计,打开只计次数;访问密钥调不了分享接口。 + ## 身份与权限 三种登录方式,环境变量 `AGENTLAB_AUTH_MODE`(`off` / `local` / `oidc`)优先于「设置 → 身份」: