From 32b480ce85debc356bc255abff86fefd13d174bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9A=E7=AB=A0=E6=B5=A9?= Date: Fri, 9 Oct 2026 14:41:55 +0800 Subject: [PATCH] =?UTF-8?q?docs(acceptance):=20A1=20=E8=A1=A5=E9=92=89?= =?UTF-8?q?=E9=92=89=E5=8F=96=E4=BB=B6=E8=B5=B0=20dws=20=E7=9A=84=E5=AE=9E?= =?UTF-8?q?=E7=8E=B0=E4=B8=8E=E5=A4=8D=E6=A0=B8=E7=BB=93=E8=AE=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 记录开关/路由/平台侧判定保留、凭据共享与续期 runbook 依赖 - 本人复核:worker 内 dws v1.0.63 接线、鉴权(须 HOME=DWS_HOME,否则误报未登录)、 真实调用 ok、回归测试 18 项 + 19 断言、CI #6/#7/#8 全 success --- docs/USER_FLOWS_ACCEPTANCE.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/docs/USER_FLOWS_ACCEPTANCE.md b/docs/USER_FLOWS_ACCEPTANCE.md index 66a0e49..8cb84eb 100644 --- a/docs/USER_FLOWS_ACCEPTANCE.md +++ b/docs/USER_FLOWS_ACCEPTANCE.md @@ -11,12 +11,27 @@ ## A. 内容进入 ### A1 取件(钉钉知识库 / PP 清单) -- 入口:**来源与目录 → 内容来源**(勾选条目;钉钉扫码会话失效时先刷新会话) +- 入口:**来源与目录 → 内容来源**(勾选条目;钉钉**扫码会话失效时先刷新会话**——注意:走 dws 取件后钉钉这条不再依赖浏览器会话) - 步骤:选来源 → 展开目录 → 勾选 → 取件(后台入队) - 期望:解析监控出现"处理中";失败进**死信**,可重排 - 证据:`解析监控 → 死信` 队列;重排轮次键 `artifact-fetch::r` - 状态:✅(死信重排修复 `cddc4c9`) +#### A1 补充:钉钉取件改走 dws(`f4e1ecc` / `6496ee3` / `9155bd3`,2026-10-09) +- 开关:`ARTIFACT_DINGTALK_FETCHER=dws|auto|legacy`,线上为 **auto**(先 dws;**仅可重试错误**回落老路径)。 +- 路由:`adoc`→doc export docx;`axls`→sheet 读取转 xlsx;其余→drive 直下;`dlink/hlink`→missing;`amind/appt`→unsupported(详见 `docs/DINGTALK_DWS_FETCHER.md`)。 +- 平台侧判定全部保留:后缀路由、PPT 必须 PDF 双胞胎、magic、大小上限、sha256、spool 原子写、空壳检查 → dws 只负责"取字节"。 +- 本人复核(2026-10-09,在**已部署 worker** 内): + - 接线:`dws` v1.0.63(`Edition: open`)在 `/usr/local/bin/dws`;`DWS_HOME=/data/home`、`DWS_CONFIG_DIR=/data/dws`、`DWS_DISABLE_KEYCHAIN=1`;宿主两份 state 已按文档挂载 ✓ + - 鉴权(**必须带 `HOME=DWS_HOME`**,直接 `docker exec dws` 会误报"未登录"):`authenticated:true`、`refresh_token_valid:true`、`refresh_expires_at 2026-11-08`、账号 姚章浩 / 深圳市越疆科技股份有限公司 ✓ + - 真实调用:`dws wiki +space-list --limit 1` → `ok:true`,返回"公司级技术支持知识库" ✓ + - 回归测试:`artifact_fetch_test.py` 18 项、`test_dws_error_map.py` 19 断言全绿 ✓ +- 运维依赖(验收时作为背景知识): + - **refresh token 30 天轮换**:到期前 7 天按 runbook `dws auth login --device` 续期(本人浏览器授权);出现 `code=credentials` **立即停批**,不要重试风暴,授权后 `--retry-failed` 续跑。 + - 在线文档并发建议 **≤4**(当前 `ingestion_concurrency=2` ✓ 满足);8 路混合时巨型文档曾现 `export_failed`(已判可重试)。 + - 回退开关:`ARTIFACT_DINGTALK_FETCHER=legacy` 可完全绕过 dws。 + - CI:Gitea Run **#6/#7/#8 全 success**(#8 = 含本清单的 `b1b4ca5`)✓ + ### A2 标注与目录范围(路由到哪个库) - 入口:**来源与目录 → 勾选 → 标记**:`对内` / `对外` / `不需要`(目录级标记决定整目录) - 步骤:标注 → 生成修订