|
26785
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"4a707c3d3 {"Commits":[{"Sha1":"4a707c3d3ec98b8ab45864a1b40b941589433914","Message":"chore(reports): 刷新治理证据至 b1510b5(clean,192 tests)\n\n静态 11 项门禁 + 治理棘轮 + lint + typecheck 全绿;\n真实 PG + Redis 验收 192 tests / 0 failures,provenance 绑定 clean commit b1510b5。\n\n⚠️ 作用域:本轮证据只覆盖静态与运行态两级。浏览器级 check:ui **未重跑**——\n本机无 Node 运行时(全部门禁在 node:22 容器内挂载工作树执行),而容器内没有\nLinux 版 Playwright 浏览器(宿主缓存的是 macOS 构建)。按事实作用域表,\n不得据此宣称 UI 层已验证。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T20:40:42-07:00"},{"Sha1":"b1510b5a203f7847dc99a0962cd30f36e6901dce","Message":"docs(standards): 修正与实现相悖的 API 标准 + 幽灵路径机器化(批次④·下)\n\n## api-standard 的四项核心约定与实现系统性相悖\n\nCLAUDE.md 真源地图把 docs/standards/*.md 列为「工程标准口径」,使用入口表还直接路由读者\n去读它。但 api-standard 的四项核心约定没有一项与两后端实际实现一致:\n`/api/v1/` 前缀(实际 `/api`,未版本化)、`{ data: ... }` 响应包裹(实际裸资源)、\n嵌套 `error.{code,statusCode,timestamp,path}` 错误体(实际是顶层扁平的 ApiErrorBody)、\n以及一个从不存在的 `packages/contracts/src/errors/error-codes.ts`。\n\n照着它落地新模块,会做出与 contracts `ApiErrorBody` 及 web `ApiError` 消费方直接冲突的接口。\n而 review-standard 的检查清单还会让 reviewer 去核对那个幽灵文件。\n\n- 按本仓既有的 C14「标准 vs 现状」惯例(frontend-standard / backend-standard / git-standard\n 都已有)在 api-standard 头部加对照表,逐项写明目标态与当前真相,并说明改动方向:\n 要落地目标态先改实现与契约,不要反过来照着文档改接口\n- 修正 review-standard 的检查项指向真实位置\n\n## 幽灵路径机器化(C14-⑤ 同族,扫描面扩到 standards)\n\n新增 docs-truth 断言:standards 引用的 `packages/contracts/src/**.ts` 路径必须真实存在,\n否则须在同一行显式标注「目标态 / 当前不存在」。扫描面用 readdirSync 覆盖 docs/standards 全量,\n不硬编码文件清单——旧的幽灵路径断言正是因为清单式扫描漏掉了 docs/README.md 本身而失守过。\n\n该断言上线即多抓到一处此前没人发现的幽灵路径(naming-standard 的\n`packages/contracts/src/store/store.types.ts`),已一并标注。\n负向测试:去掉 review-standard 的诚实标注即红。\n\n## owner-matrix 补录 OS 产品两张业务表\n\n「先登记后建表」是本仓自己立的规则,却被自己的 C20/G23 战役打破:OS 产品包新建了\n`juhai_baseframework_orders` / `..._order_events` 两张带状态机的表却从未登记。\n补录两行并写明 `products/` 下的对象同样要登记(归属真源是 product.manifest.json 的\npersistence.tenantModels,本表挂索引行)。\n\n验收:naming / docs-truth / governance-docs / 治理棘轮均 exit 0。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T20:39:02-07:00"},{"Sha1":"033e8159c23f4766493fd140ffa7aa923ebe1182","Message":"fix(ops): 优雅停机接线——Fastify 的 onClose 钩子此前全是死代码(批次④·中)\n\n## Fastify 从不优雅停机\n\nserver.ts 没有任何信号处理,也从不调用 app.close():进程收到 SIGTERM 走默认处理直接终止。\n后果是 prisma / redis / outbox / queue 四个插件里**精心写好的 onClose 钩子从未被执行过**——\nBullMQ worker 不 close(在途 job 只能靠 stalled 恢复)、outbox 轮询事务可能被拦腰砍断、\nWS/SSE 连接收不到 close 帧。而 NestJS 侧早有 enableShutdownHooks,两后端停机行为实质分叉。\n\n存在性门禁看得见「钩子写了」,看不见「它从来没被调用过」——这正是 G17 说的行为级盲区。\n\n- server.ts 补 SIGTERM/SIGINT → app.close()(Fastify 会按注册逆序执行全部 onClose),\n 带 10s 超时兜底(卡住的清理不能让容器一直不退)与重复信号防抖\n\n## NestJS 的 Redis 连接从不 quit,且注释谎称有人管\n\nREDIS_PUB / REDIS_SUB 由 useFactory 裸建,没有任何销毁钩子;而 event-bus.service.ts\n的注释写着「redisSub 连接由 RedisModule 统一关闭」——注释与行为相反,于是没人会去查。\n真实后果:停机时连接不回收(两个 acceptance 测试的 afterAll 至今还得手动 quit 才能让进程退出)。\n\n- RedisModule 实现 onApplicationShutdown,quit 两个连接\n- 修正 event-bus 的失实注释\n\n## 防回潮\n\ncheck:dual-backend 新增 4 条停机接线绊网(两后端各自的信号处理 / app.close /\nenableShutdownHooks / Redis 关闭钩子),负向测试已验证删掉信号处理即红。\n\n验收:真实 PG + Redis 192 tests / 0 failures;静态门禁 + 棘轮 + typecheck 5/5 + lint 2/2 全绿。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T20:35:43-07:00"},{"Sha1":"44cbbaeacf5f53e08e6e3f48a6d8bd2c3327d2de","Message":"fix(governance): 写链守护补齐五条已验证绕过(批次④·上)\n\ncheck:write-guard 守的是 P4「所有写显式带 tenant_id + 状态迁移乐观锁」这条最高优先级红线,\n但它自身存在五条可复现的绕过——每一条都能让违规代码拿到绿盘:\n\n1. **折行**:逐行匹配下 `await tx.order\\n .update({...})` 完全隐形。这甚至无需恶意——\n Prettier 对长链式调用本来就这样折行。\n2. **方括号访问**:`tx[\"order\"].update(` 用 `\\w+` 匹配不到,换个写法整条溜过去。\n3. **upsert 不在禁止模式里**:它与 update/delete 同源(同样只接受唯一键定位),\n TOCTOU 缝隙一模一样,却从未被拦。\n4. **where 里的 tenantId 从未被验证**:门禁 reason 一直宣称 where 是 `{ id, tenantId }`,\n 但只检查了方法名与 state 前置条件——`updateMany({ where: { id } })` 照样绿,\n 而那正是跨租户写。\n5. **0 行拒绝可被一行注释满足**:断言对原始源码做 includes,\n `// if (updated.count === 0)` 就能让一段被注释掉的防护报绿。\n\n修法:\n- 新增 scripts/lib/source-text.mjs 作为公共单源(stripComments / blankComments / lineOf)。\n 「注释掉的代码仍满足断言」这个形态 check-schema-sync 在 2026-08-15 已实锤并就地修过,\n 但同类断言散布在多个脚本里各自对原始源码匹配——按 P5,实锤过的教训必须推广,\n 否则只是把同一个洞留在别处。\n- A 部分改为「注释置空但保持字符偏移」后整体跨行匹配,再由偏移反推行号\n (逐行挡不住折行,整体匹配又需要能定位);禁止模式补 upsert 与方括号访问。\n- B 部分先提取 updateMany 的 where 块再逐项断言(state 前置条件 + tenantId),\n 且全部在剥注释后的源码上跑。\n\n验收:五条绕过逐一注入验证必红、逐一恢复现场;正向 10 项静态门禁 + 治理棘轮全绿。\nCLAUDE.md 基线表 write-guard 行同步为实际覆盖面(此前的描述比实际防线宽)。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T20:32:47-07:00"},{"Sha1":"c494fc7d2e6b1497647b2ca9601766626dd4775d","Message":"feat(auth): G8 生产级租户验签闭环——回退翻转 + 401 判责 + 降级通道清除(批次③)\n\nCLAUDE.md 里标注「动工前须用户点名」的最大 OPEN 缺口,验签半边落地。\n\n## 回退翻转(G8 的核心)\n\ndemo 期口径是 `Bearer 解析 ?? x-tenant-id`。接入验签后这个 `??` 会变成**降级攻击面**:\n伪造一个签名无效的 Bearer → 验签失败 → 自动落回客户端自报的 demo 头,等于没验。\n且只翻转这一处并不够——裸 `?tenantId=` 是另一条更彻底的通道,它连伪造 token 都不需要。\n\n- jwt 模式下:带 Authorization 或 ?access_token= 即**强制验签,失败一律 401,绝不回退**;\n x-tenant-id / ?tenantId= / `tenant:\u003cid\u003e` 简写整条不承认\n- demo 模式保留原型四级来源(本地与既有验收测试零改动),但**生产跑 demo 即拒绝启动**——\n 漏配鉴权应当是「起不来」,不是「起来了但谁都能进」\n\n## 架构切分:策略在 contracts,验签由后端注入\n\ncontracts 被 web 直接 import,把 jose 与密钥语义拉进去会泄漏到浏览器包。故:\n- `decideTenantResolution`(谁可信、失败怎么判)在 contracts,两后端共用,13 条单测覆盖\n- jose 验签在各后端(NestJS `src/auth/`、Fastify `src/plugins/auth.ts`)\n- `tenantFromBearerToken` 更名 `unsafeTenantClaimFromToken`:函数名里的 unsafe 是给 review 看的,\n 它只该用于浏览器 UI 预填与 demo 模式\n\nNestJS 的判定必须放 Guard 而非 `@TenantId()` 参数装饰器——后者的回调是同步的,\n判定留在那里就永远接不上异步的 JWKS 验签。\n\n## 顺带堵掉的三个额外攻击面(安全审计发现,均在已登记 G8 描述之外)\n\n1. **tenantId 是攻击者可控的自由文本**:无格式/长度约束时可凭空创建租户分区、\n 可用超长值撑爆 `@@unique([tenantId,email])` 的 btree 索引行打出稳定 500、\n 可用换行伪造日志行。现统一过 normalizeTenantId(≤128 + 受控字符集)。\n2. **重复查询参数的类型混淆**:Fastify 把 `?access_token=a\u0026access_token=b` 解析成数组,\n `typeof v === 'string'` 判定直接落空 → 静默跳过 token 分支 → 落到裸 ?tenantId=;\n 而 NestJS 的 `URLSearchParams.get()` 取第一个值。**同一条请求两后端两种身份判定**——\n 既是真实越权通道,也是 G17 行为分叉的活体实证。两侧统一取第一个值。\n3. **凭证进日志**:浏览器 EventSource/WS 无法自定义头,token 只能进 `?access_token=`,\n 而 pino 默认序列化器把完整 url 写进日志——接入真实验签后就是每次建连落盘一枚有效 JWT。\n Fastify logger 加 redact(authorization / cookie / req.url)。\n\n## 判责矩阵补上 401\n\n此前缺凭证一律回 400,把「未认证」伪装成「参数写错了」,客户端无从区分「该去登录」\n和「该改请求」。现 contracts 定义 UNAUTHENTICATED / INVALID_TOKEN / TENANT_FORBIDDEN;\n响应体**只回稳定错误码**,验签失败细节只进日志(区分「签名不对/已过期/issuer 不符」\n对攻击者是免费的探测反馈)。WS 保持 close(1008) 而非握手期 401——两后端同口径,\n且浏览器对握手 401 不暴露任何原因。\n\n## 验收\n\n真实 PG + Redis:**192 tests / 0 failures**(地板 161 → 192,只收紧)。\n两后端各 9 条 jwt 判责用例:正确签名放行 / 无凭证 401 / **伪造签名 + 合法 x-tenant-id 仍 401**\n/ 裸 demo 头 401 / 过期 401 / alg:none 401 / 无租户 claim 401 / health 免鉴权 / 重复参数不落 victim。\n新增 check:dual-backend 的 G8 绊网 5 条,每条均有负向红证据;其中「算法白名单」一条初版\n被自身的类型声明 `algorithms: string[]` 满足而无法变红,已改绑 jwtVerify 实参后重测。\n静态门禁 10/10 + 治理棘轮 + typecheck 5/5 + lint 2/2 全绿。\n\nRLS 未叠加(结构已就绪,阻碍在 CI 超级用户/单例 Prisma/dispatcher 跨租户扫描三处),\nweb 构建期内联 token 与 WS Origin 白名单同样登记为 G8 剩余项。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T20:27:41-07:00"}],"HeadCommit":{"Sha1":"4a707c3d3ec98b8ab45864a1b40b941589433914","Message":"chore(reports): 刷新治理证据至 b1510b5(clean,192 tests)\n\n静态 11 项门禁 + 治理棘轮 + lint + typecheck 全绿;\n真实 PG + Redis 验收 192 tests / 0 failures,provenance 绑定 clean commit b1510b5。\n\n⚠️ 作用域:本轮证据只覆盖静态与运行态两级。浏览器级 check:ui **未重跑**——\n本机无 Node 运行时(全部门禁在 node:22 容器内挂载工作树执行),而容器内没有\nLinux 版 Playwright 浏览器(宿主缓存的是 macOS 构建)。按事实作用域表,\n不得据此宣称 UI 层已验证。\n\nCo-Authored-By: Claude Opus 4.8 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T20:40:42-07:00"},"CompareURL":"luoanwu/base-framework/compare/53991090b821b76dff11eee3a2e92806ed3ab173...4a707c3d3ec98b8ab45864a1b40b941589433914","Len":10}...
|
1788064993
|
Edit
Delete
|
|
26786
|
5
|
5
|
5
|
54
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"a9e18b959 {"Commits":[{"Sha1":"a9e18b9599335b3ad128ac8c761fc93b83de8711","Message":"fix(governance): 收口实时顺序与验收缺口\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T22:20:28-07:00"}],"HeadCommit":{"Sha1":"a9e18b9599335b3ad128ac8c761fc93b83de8711","Message":"fix(governance): 收口实时顺序与验收缺口\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T22:20:28-07:00"},"CompareURL":"luoanwu/base-framework/compare/4a707c3d3ec98b8ab45864a1b40b941589433914...a9e18b9599335b3ad128ac8c761fc93b83de8711","Len":1}...
|
1788067980
|
Edit
Delete
|
|
26787
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"b664b431a {"Commits":[{"Sha1":"b664b431a778fdbbe13f215b51e5c6a00dd3e8a3","Message":"chore: finalize merged branch governance evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T22:40:58-07:00"},{"Sha1":"a3b474fa8fdc33eec023c604a3e1f996956874f4","Message":"merge: update production dependencies\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T22:05:56-07:00"},{"Sha1":"60aaa759c4baf87a7e7c43dd667499450ab74e85","Message":"merge: update development dependencies\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T21:59:36-07:00"},{"Sha1":"efb160ad2a49b454f110d99940287a31e0a1ea0b","Message":"merge: update actions setup-node\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T21:59:22-07:00"},{"Sha1":"714f2841d3d14119f0043e3ca666e934a55a6a54","Message":"merge: update actions checkout\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T21:59:22-07:00"}],"HeadCommit":{"Sha1":"b664b431a778fdbbe13f215b51e5c6a00dd3e8a3","Message":"chore: finalize merged branch governance evidence\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T22:40:58-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/735076e8aae29d8fcd1407bf9e49da69c2b9e61c...b664b431a778fdbbe13f215b51e5c6a00dd3e8a3","Len":12}...
|
1788068477
|
Edit
Delete
|
|
26788
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"52493ec74 {"Commits":[{"Sha1":"52493ec7434e28b4500178ec95b15522ae223ab6","Message":"fix(deps): C238 juhai.hr Host 构建链回退至与 apps/web 同源版本——b664b43 的版本策展只回退 apps/web,Host 留在 next16/tailwind4 令 web-production-build 红(run 33295243158)\n\n- products/juhai.hr/host/web:next 15.5.24 / tailwindcss ^3.4.17 / postcss 8.5.23 / autoprefixer ^10.4.20 逐字对齐 apps/web(Host 的 next.config/postcss.config/globals.css 全部 re-export apps/web 单源),本地 runner 同命令红→绿复现\n- pnpm-lock.yaml:重建 Host importer,消除 tailwind4/next16 残留与 b664b43 遗留的 postcss 清单/锁失同步\n- .github/dependabot.yml:next/tailwindcss 忽略 semver-major——共享构建链单源的 major 迁移必须显式立项\n- CLAUDE.md/经验库:C238 登记;C232 快照锚点刷新至 b664b43\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T23:26:51-07:00"}],"HeadCommit":{"Sha1":"52493ec7434e28b4500178ec95b15522ae223ab6","Message":"fix(deps): C238 juhai.hr Host 构建链回退至与 apps/web 同源版本——b664b43 的版本策展只回退 apps/web,Host 留在 next16/tailwind4 令 web-production-build 红(run 33295243158)\n\n- products/juhai.hr/host/web:next 15.5.24 / tailwindcss ^3.4.17 / postcss 8.5.23 / autoprefixer ^10.4.20 逐字对齐 apps/web(Host 的 next.config/postcss.config/globals.css 全部 re-export apps/web 单源),本地 runner 同命令红→绿复现\n- pnpm-lock.yaml:重建 Host importer,消除 tailwind4/next16 残留与 b664b43 遗留的 postcss 清单/锁失同步\n- .github/dependabot.yml:next/tailwindcss 忽略 semver-major——共享构建链单源的 major 迁移必须显式立项\n- CLAUDE.md/经验库:C238 登记;C232 快照锚点刷新至 b664b43\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-29T23:26:51-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/b664b431a778fdbbe13f215b51e5c6a00dd3e8a3...52493ec7434e28b4500178ec95b15522ae223ab6","Len":1}...
|
1788071233
|
Edit
Delete
|
|
26789
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"344b00b3f {"Commits":[{"Sha1":"344b00b3fd60c3495ae152f6a4c9576231880fb6","Message":"fix(gates): C239 UI runner 失败回放补 stdout 双路输出——Playwright 证据写 stdout,run 33296922738 的 CI 红只剩裸 ✗ 不可判责\n\n- scripts/check-ui-acceptance.mjs:失败回放 stderr/stdout 双路、统一 C133 同款脱敏;占用端口负向驱动失败循环验证\n- 判责链:本地同锁文件(Playwright 1.62.1)NestJS 单侧 31/31 绿、735076e 以来 web/e2e 源码零变化;红因悬置,待本轮 CI 携带完整回放判责\n- CLAUDE.md/经验库:C239 登记;C232 快照锚点刷新至 52493ec\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-30T00:07:41-07:00"}],"HeadCommit":{"Sha1":"344b00b3fd60c3495ae152f6a4c9576231880fb6","Message":"fix(gates): C239 UI runner 失败回放补 stdout 双路输出——Playwright 证据写 stdout,run 33296922738 的 CI 红只剩裸 ✗ 不可判责\n\n- scripts/check-ui-acceptance.mjs:失败回放 stderr/stdout 双路、统一 C133 同款脱敏;占用端口负向驱动失败循环验证\n- 判责链:本地同锁文件(Playwright 1.62.1)NestJS 单侧 31/31 绿、735076e 以来 web/e2e 源码零变化;红因悬置,待本轮 CI 携带完整回放判责\n- CLAUDE.md/经验库:C239 登记;C232 快照锚点刷新至 52493ec\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-30T00:07:41-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/52493ec7434e28b4500178ec95b15522ae223ab6...344b00b3fd60c3495ae152f6a4c9576231880fb6","Len":1}...
|
1788073667
|
Edit
Delete
|
|
26790
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/main
|
1
|
|
1788073796
|
Edit
Delete
|
|
26791
|
5
|
5
|
5
|
83
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"c652cd634 {"Commits":[{"Sha1":"c652cd634964e915a0a9895cc9a91be4381333b0","Message":"feat(hr): implement governed HR v2 product foundation\n\nAdd Personnel Core, enterprise identity, recruitment, workforce time and leave, payroll, performance, dual-backend parity, OS product distribution, browser workbenches, and provenance-bound acceptance evidence.\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-28T03:42:38-07:00"},{"Sha1":"76b19716eb3450c705c6379b459894437af03acb","Message":"chore(reports): refresh target static evidence\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:34:25-07:00"},{"Sha1":"9d8386e522a5d37e3a826470b66c8e82abce2468","Message":"docs: record target migration verification\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:34:08-07:00"},{"Sha1":"805763fbf9a354c7225c5e3106ff16171daa56e1","Message":"chore: bootstrap 巨嗨 AI 人事系统基础框架\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-25T18:32:35-07:00"}],"HeadCommit":{"Sha1":"c652cd634964e915a0a9895cc9a91be4381333b0","Message":"feat(hr): implement governed HR v2 product foundation\n\nAdd Personnel Core, enterprise identity, recruitment, workforce time and leave, payroll, performance, dual-backend parity, OS product distribution, browser workbenches, and provenance-bound acceptance evidence.\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-08-28T03:42:38-07:00"},"CompareURL":"","Len":4}...
|
1788073796
|
Edit
Delete
|
|
26792
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"cbcfd67ce {"Commits":[{"Sha1":"cbcfd67ceef8363033fd3eee23a144e1490114f9","Message":"docs(governance): 快照刷新至 344b00b——run 33298480195 15 job 全绿,C238 远端复验完成,33296922738 单次 UI 红按 C239 判责归档\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-30T00:39:14-07:00"}],"HeadCommit":{"Sha1":"cbcfd67ceef8363033fd3eee23a144e1490114f9","Message":"docs(governance): 快照刷新至 344b00b——run 33298480195 15 job 全绿,C238 远端复验完成,33296922738 单次 UI 红按 C239 判责归档\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-30T00:39:14-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/344b00b3fd60c3495ae152f6a4c9576231880fb6...cbcfd67ceef8363033fd3eee23a144e1490114f9","Len":1}...
|
1788075562
|
Edit
Delete
|
|
26793
|
5
|
5
|
5
|
76
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"89b2adeed {"Commits":[{"Sha1":"89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef","Message":"fix(e2e): C240 入职恢复用例余量对齐套件 10–15s 口径——依赖 minor 升级打穿默认 5s,两侧间歇红(33299722229 由 C239 回放实锤)\n\n- acceptance.spec.ts 1686/1690:跨视图重挂载 + Actor 状态到达的断言补显式 timeout,与 1656/1663/1668 同类先例同口径,业务断言零放宽\n- 本地全量 check:ui 双侧 31/31、共 62 次绿(报告随提交);flaky 判定教训(两个样本才归档)入经验库\n- CLAUDE.md/经验库:C240 登记;C232 快照锚点刷新至 cbcfd67\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-30T01:16:40-07:00"}],"HeadCommit":{"Sha1":"89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef","Message":"fix(e2e): C240 入职恢复用例余量对齐套件 10–15s 口径——依赖 minor 升级打穿默认 5s,两侧间歇红(33299722229 由 C239 回放实锤)\n\n- acceptance.spec.ts 1686/1690:跨视图重挂载 + Actor 状态到达的断言补显式 timeout,与 1656/1663/1668 同类先例同口径,业务断言零放宽\n- 本地全量 check:ui 双侧 31/31、共 62 次绿(报告随提交);flaky 判定教训(两个样本才归档)入经验库\n- CLAUDE.md/经验库:C240 登记;C232 快照锚点刷新至 cbcfd67\n\nCo-Authored-By: Claude Fable 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-30T01:16:40-07:00"},"CompareURL":"luoanwu/digital-employee-os/compare/cbcfd67ceef8363033fd3eee23a144e1490114f9...89b2adeeda1017b1ac4f66fb1ff5f89e0a21fcef","Len":1}...
|
1788077806
|
Edit
Delete
|
|
26794
|
16
|
5
|
16
|
88
|
0
|
0
|
refs/heads/feat/juhai-agent-control-plane
|
0
|
|
1788087343
|
Edit
Delete
|
|
26795
|
16
|
5
|
16
|
88
|
0
|
0
|
refs/heads/feat/juhai-agent-control-plane
|
0
|
{"Commits":[{"Sha1":"4749f3df3 {"Commits":[{"Sha1":"4749f3df37316e72da7314c4151971c91e233575","Message":"chore(reports): 绑定最终治理文档迁移证据\n\n实现内容:\n- 将 migrations.latest.json 的 provenance 更新到最终治理文档提交。\n- 不改变迁移检查指标和通过结果。\n\n验证:\n- node scripts/check-migrations.mjs 再次通过。\n- camelCase 标量与关系判定负向探针 2/2 通过。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T18:44:47+08:00"},{"Sha1":"3299c68752ab4c04f4f171cb15b7dea897029818","Message":"docs(governance): 区分稳定包登记与下游验收\n\n实现内容:\n- 保留 contracts 1.13.0 与 tool-runtime 2.2.0 的当前登记事实。\n- 明确下游 tarball 候选验收仍停留在 contracts 1.12.0 与 tool-runtime 2.1.0。\n\n验证:\n- git diff --cached --check 通过。\n- staged diff 仅包含 CLAUDE.md 的证据口径更正。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T18:44:09+08:00"},{"Sha1":"a068ed932c183b9ced5320765872c33e7c453fa1","Message":"chore(reports): 刷新远程读取迁移检查报告\n\n实现内容:\n- 重新生成 migrations.latest.json,并绑定完成源码与文档提交后的本地提交 SHA。\n- 保留迁移危险语句、双后端目录和 Prisma 字段映射检查结果。\n\n验证:\n- node scripts/check-migrations.mjs 通过。\n- camelCase 标量与关系判定负向探针 2/2 通过。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T18:43:17+08:00"},{"Sha1":"1c5d0e1885693aaa93630e3c73d79d7277583f1d","Message":"docs(agent): 记录报价只读工具与 GLM 执行语义\n\n实现内容:\n- 更新控制平面蓝图和 owner matrix,区分 Connector 发布审核与 REMOTE_READ 每次调用确认。\n- 记录 GLM Provider、SSE 聚合、reasoning_content 续执、任务思考深度和结构修复边界。\n- 将 DeepSeek 限定为历史事故记录,并同步稳定包版本真源。\n\n验证:\n- git diff --cached --check 通过。\n- 当前 Provider 文档漂移检索无未解释的 DeepSeek 或智谱兼容端点表述。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T18:42:31+08:00"},{"Sha1":"13bc0d17c7d9026aa17cbb2d5347620dd401119f","Message":"feat(api): 接入双后端报价远程读取与 GLM 执行链\n\n实现内容:\n- 在 NestJS 与 Fastify 执行前共同校验 Tool Activation、Assignment、Grant、CapabilityPack、ConnectorDefinition 和 ACTIVE Installation。\n- 对等实现 REMOTE_READ 调度、稳定错误映射、结果治理、推理续执和任务思考深度冻结。\n- 补充真实数据库 dispatcher 与 LLM acceptance 回归,并更新流式 smoke 传输。\n\n验证:\n- pnpm --filter api-nestjs typecheck 与 build 通过。\n- pnpm --filter api-fastify typecheck 与 build 通过。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T18:41:33+08:00"}],"HeadCommit":{"Sha1":"4749f3df37316e72da7314c4151971c91e233575","Message":"chore(reports): 绑定最终治理文档迁移证据\n\n实现内容:\n- 将 migrations.latest.json 的 provenance 更新到最终治理文档提交。\n- 不改变迁移检查指标和通过结果。\n\n验证:\n- node scripts/check-migrations.mjs 再次通过。\n- camelCase 标量与关系判定负向探针 2/2 通过。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T18:44:47+08:00"},"CompareURL":"pengzhiyu/digital-employee-os/compare/b6d0797b80846ca21150fbb900a59f495f6d2cd3...4749f3df37316e72da7314c4151971c91e233575","Len":10}...
|
1788087343
|
Edit
Delete
|
|
26796
|
16
|
5
|
16
|
89
|
0
|
0
|
refs/heads/feat/agent-connector-read-api
|
0
|
|
1788087354
|
Edit
Delete
|
|
26797
|
16
|
5
|
16
|
89
|
0
|
0
|
refs/heads/feat/agent-connector-read-api
|
0
|
{"Commits":[{"Sha1":"39edae8a9 {"Commits":[{"Sha1":"39edae8a93e2802b09b2b9c1815c0c6b8cc37e48","Message":"chore(git): 忽略 IDE 项目文件\n\n实现内容:\n\n- 在 `.gitignore` 增加 `.idea` 目录规则,排除 JetBrains 本地项目元数据。\n- 保持其余忽略规则和功能提交边界不变。\n\n验证:\n\n- `git check-ignore -v --stdin` 确认 `.idea/workspace.xml` 与 `.idea/modules.xml` 均命中新增规则。\n- 历史改写前执行 `git diff --check` 通过,工作区与暂存区均为空。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T12:01:47+08:00"},{"Sha1":"44a5ffe52d9f6eb259d0860604a3104aa21f1ab4","Message":"chore(reports): 刷新 Agent Connector 验收报告\n\n实现内容:\n\n- 刷新 22 份 `reports/*.latest.json`,记录本地 runtime、迁移与治理检查结果。\n- 保留既有 `approvalPayloadContractViolations=1`,并将报告限定为绑定 dirty worktree 的本地证据。\n\n验证:\n\n- `runtime-acceptance.latest.json` 记录 573/573,contracts 445、NestJS 62、Fastify 66,迁移 deploy/status 无失败。\n- 22 份 latest 报告均通过 `jq -e` JSON 解析检查,governance 中既有 violation 已复核为 1。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T11:56:53+08:00"},{"Sha1":"20ebc407598e39469546c9af5eb0861937542bf8","Message":"docs(agent-connector): 记录资源服务器领域边界\n\n实现内容:\n\n- 新增 Agent Connector 蓝图,记录只读 API、信任边界、窄投影、限流和非目标。\n- 在 owner matrix 登记无表窄读模型,明确 Connector 直接执行 tenant-scoped Prisma 查询且不虚构源域读服务。\n\n验证:\n\n- 文档事实复核确认 Quotation 投影来自 Connector 窄读模型,不经过写服务或不存在的读服务。\n- 最终文档工作区执行 `git diff --check` 与 `pnpm check:runtime` 均通过,运行态用例为 573/573。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T11:55:54+08:00"},{"Sha1":"d177c958eecde9b63edf166b483941e7bdfcc15e","Message":"test(agent-connector): 增加双后端运行与对等验收\n\n实现内容:\n\n- 为双后端真实 HTTP acceptance 增加五端点成功、400、401、403、404、429、受控 500、跨租户和 requestId 边界场景。\n- 增加黑盒 parity harness 与 `check:agent-parity` 脚本,归一化动态字段后比较两端状态码、错误结构和业务投影。\n\n验证:\n\n- 隔离 PostgreSQL、Redis 与 MinIO 环境执行 `pnpm check:runtime` 通过 573/573。\n- 黑盒 parity 实际通过五端点 200 及 400、401、403、404、429;受控 500 由双后端 acceptance 覆盖,409 由翻译层测试覆盖。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T11:55:12+08:00"},{"Sha1":"c091df374f28b8d3d246be8a164307a36f424d23","Message":"feat(web): 复用报价工作台 Hash 深链接规则\n\n实现内容:\n\n- 将 Web 根页面的工作台跳转改为消费 contracts 提供的 `buildWorkspaceHash`。\n- 统一报价深链接与 `quote-inbox` 工作台的 `focus` 定位规则,移除页面内重复拼接实现。\n\n验证:\n\n- Agent Connector contracts 定向测试 9/9 通过,并覆盖工作台 Hash 生成规则。\n- 最终提交前工作区执行 `git diff --check` 通过。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T11:54:28+08:00"}],"HeadCommit":{"Sha1":"39edae8a93e2802b09b2b9c1815c0c6b8cc37e48","Message":"chore(git): 忽略 IDE 项目文件\n\n实现内容:\n\n- 在 `.gitignore` 增加 `.idea` 目录规则,排除 JetBrains 本地项目元数据。\n- 保持其余忽略规则和功能提交边界不变。\n\n验证:\n\n- `git check-ignore -v --stdin` 确认 `.idea/workspace.xml` 与 `.idea/modules.xml` 均命中新增规则。\n- 历史改写前执行 `git diff --check` 通过,工作区与暂存区均为空。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T12:01:47+08:00"},"CompareURL":"pengzhiyu/juhai-quotation-system/compare/125c54d328d3da221b5d91c0a2dd0475712c6e96...39edae8a93e2802b09b2b9c1815c0c6b8cc37e48","Len":7}...
|
1788087354
|
Edit
Delete
|
|
26798
|
16
|
1
|
16
|
92
|
0
|
0
|
|
1
|
|
1788088113
|
Edit
Delete
|
|
26799
|
16
|
5
|
16
|
92
|
0
|
0
|
refs/heads/feat/control-plane-integration
|
1
|
|
1788088191
|
Edit
Delete
|
|
26800
|
16
|
5
|
16
|
92
|
0
|
0
|
refs/heads/feat/control-plane-integration
|
1
|
{"Commits":[{"Sha1":"7d6ff2bc1 {"Commits":[{"Sha1":"7d6ff2bc19598ac1f04a78e5dd3fe2b1600bc358","Message":"feat(desktop): 恢复控制平面任务结果\n\n实现内容:\n\n- 新增受限的任务 Runtime 结果 IPC,并校验任务标识。\n- 已完成任务在桌面端恢复结果,运行中任务定时刷新任务状态和事件。\n- 补充开源 Codex 架构与许可证适配分析文档。\n\n验证:\n\n- `npm run typecheck`\n- `npm run build`\n- `git diff --cached --check`\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T19:03:49+08:00"},{"Sha1":"daf1fbb473a8aa37c85254c8e6f7f9f271a712a0","Message":"docs(desktop): 补充 GLM 与本地联调说明\n\n实现内容:\n\n- 记录 GLM 流式配置、思考深度选项与本地安全存储约定\n- 记录控制平面、数字员工前端和报价系统前后端的本地联调地址\n- 明确当前报价能力为只读查询,报价草稿写入仍未实现\n\n验证:\n\n- 执行 `git diff --cached --check`,暂存差异检查通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T18:28:25+08:00"},{"Sha1":"e7f2e44358a1bf62b52fef160748366db1e18c4e","Message":"feat(desktop): 接入 GLM 流式对话与控制平面任务执行\n\n实现内容:\n\n- 接入 GLM 5.3 Flash 配置、思考深度选择与 SSE 流式会话\n- 接入控制平面远程只读任务,并支持安全取消本地模型请求\n- 归一化任务结果并将报价信息整理为普通员工可读的中文摘要\n\n验证:\n\n- 执行 `npm run typecheck`,类型检查通过\n- 执行 `npm run build`,桌面应用构建通过\n- 执行 `git diff --check`,检查通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T18:27:36+08:00"},{"Sha1":"63a02249246072d314e5f0ff8d93f66affaecdb9","Message":"feat(desktop): 接入控制平面任务只读界面\n\n实现内容:\n\n- 增加固定 Actor、Task 和 Task Event 路由的受限控制平面客户端\n- 支持本地租户与 Bearer 开发会话,并通过 Electron `safeStorage` 保存访问令牌\n- 增加控制平面连接状态、Actor 切换、任务摘要和持久事件时间线界面\n- 限制远程地址协议、响应体大小和列表数量,避免 Renderer 发起任意远程请求\n\n验证:\n\n- 执行 `npm run typecheck`,类型检查通过\n- 执行 `npm run build`,桌面应用构建通过\n- 执行 `git diff --check`,检查通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T11:51:10+08:00"},{"Sha1":"e8f764ed19b3dfcfafb751df109fd44772dfaa0d","Message":"docs(plan): 固化首期本地试点执行口径\n\n实现内容:\n\n- 记录两个企业内部 Fork 的固定基线、检出状态和本地联调入口\n- 明确本地测试账号、Docker 依赖、最少测试数据和报价草稿人工确认要求\n- 补充首批报价知识来源、跨仓任务交付流程和桌面端批次进展\n\n验证:\n\n- 核对两份方案文档的启动条件与用户确认内容一致\n- 执行 `git diff --cached --check`,检查通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T11:50:38+08:00"}],"HeadCommit":{"Sha1":"7d6ff2bc19598ac1f04a78e5dd3fe2b1600bc358","Message":"feat(desktop): 恢复控制平面任务结果\n\n实现内容:\n\n- 新增受限的任务 Runtime 结果 IPC,并校验任务标识。\n- 已完成任务在桌面端恢复结果,运行中任务定时刷新任务状态和事件。\n- 补充开源 Codex 架构与许可证适配分析文档。\n\n验证:\n\n- `npm run typecheck`\n- `npm run build`\n- `git diff --cached --check`\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T19:03:49+08:00"},"CompareURL":"","Len":10}...
|
1788088191
|
Edit
Delete
|
|
26801
|
16
|
5
|
16
|
92
|
0
|
0
|
refs/heads/feat/control-plane-integration
|
1
|
{"Commits":[{"Sha1":"0067cfab7 {"Commits":[{"Sha1":"0067cfab73f714ab76cf495f2900a0041a15dd8c","Message":"feat(desktop): 按 Codex Desktop 重做工作区界面\n\n实现内容:\n- 建立项目对话与普通对话并存的侧栏导航,仅会话保留选中态\n- 重做聊天画布、欢迎页和底部输入器,并提供模型、权限与技能入口\n- 将右侧工作详情改为占用布局的浮动检查器,支持左右栏独立收起\n- 当前聊天仍使用 GLM 5.3 Flash,Codex 模型仅只读展示\n\n验证:\n- 执行 npm run typecheck,类型检查通过\n- 执行 npm run build,桌面应用构建通过\n- 执行 git diff --cached --check,检查通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T21:23:49+08:00"},{"Sha1":"92082b3f30d821cb4de716c14986fd4e4e2b3362","Message":"chore(desktop): 忽略桌面 UI 参考截图\n\n实现内容:\n\n- 将 `docs/images/` 加入 Git 忽略规则,避免 Codex 桌面参考截图进入仓库。\n\n验证:\n\n- 核对 `.gitignore` 包含 `docs/images/`。\n- `git diff --cached --check`\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T21:23:37+08:00"},{"Sha1":"af725a29d76fca02a7aae3aa43bb76817a3db687","Message":"feat(desktop): 接入 Codex 项目工作区与 App Server 基础\n\n实现内容:\n\n- 新增 Codex App Server 侧车进程、JSON-RPC 生命周期与安全 IPC 接口。\n- 建立项目工作区、项目内会话、模型技能目录和 Agent 运行时界面。\n- 记录 Juhai 与 Codex 的架构边界及后续实施顺序。\n- 保留现有 GLM 聊天链路作为迁移期间的回退。\n\n验证:\n\n- `npm run typecheck`\n- `npm run build`\n- `git diff --check`\n- 实机连接 `codex-cli` 0.146.0,读取 5 个模型和 19 个技能。\n- 验证旧版缺少 `project/list` 时降级使用 Juhai 工作区。\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T20:00:38+08:00"}],"HeadCommit":{"Sha1":"0067cfab73f714ab76cf495f2900a0041a15dd8c","Message":"feat(desktop): 按 Codex Desktop 重做工作区界面\n\n实现内容:\n- 建立项目对话与普通对话并存的侧栏导航,仅会话保留选中态\n- 重做聊天画布、欢迎页和底部输入器,并提供模型、权限与技能入口\n- 将右侧工作详情改为占用布局的浮动检查器,支持左右栏独立收起\n- 当前聊天仍使用 GLM 5.3 Flash,Codex 模型仅只读展示\n\n验证:\n- 执行 npm run typecheck,类型检查通过\n- 执行 npm run build,桌面应用构建通过\n- 执行 git diff --cached --check,检查通过\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T21:23:49+08:00"},"CompareURL":"pengzhiyu/juhai-agent-desktop/compare/7d6ff2bc19598ac1f04a78e5dd3fe2b1600bc358...0067cfab73f714ab76cf495f2900a0041a15dd8c","Len":3}...
|
1788096511
|
Edit
Delete
|
|
26802
|
16
|
5
|
16
|
92
|
0
|
0
|
refs/heads/feat/control-plane-integration
|
1
|
{"Commits":[{"Sha1":"f96b235c8 {"Commits":[{"Sha1":"f96b235c8d1be7df3ed967725acdfc622031eb81","Message":"feat(desktop): 接入 GPT 模型与 Codex 会话\n\n实现内容:\n- 将普通聊天切换为 Codex App Server\n- 为本地会话持久化 Codex Thread ID\n- 接入 GPT-5.6 Sol、Terra、Luna 和动态思考深度选择\n- 更新 JUHAI 模型设置与运行状态展示\n\n验证:\n- npm run typecheck\n- npm run build\n- macOS Electron 界面检查\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T22:29:50+08:00"},{"Sha1":"b0e051a64b1f6ca428d0342afb4715f089d18313","Message":"feat(runtime): 接入 Codex App Server 对话主链路\n\n实现内容:\n- 使用固定 Codex 版本生成并引入 App Server TypeScript 协议类型\n- 接入 thread start/resume、turn start/interrupt 和流式事件处理\n- 增加命令与文件修改审批,并保留显式 GLM 回退链路\n- 将项目目录、GPT 模型和思考深度传入 Codex turn\n\n验证:\n- npm run typecheck\n- npm run build\n- GPT-5.6 Sol App Server V2 真实对话\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T22:29:08+08:00"},{"Sha1":"c80256d577efe53349daf44e55fff0c3b81f1dac","Message":"docs(plan): 记录三仓联调与验收进展\n\n实现内容:\n- 更新三仓试点分支、联调端口与阶段状态\n- 记录 GLM 对话、控制平面 Tool Calling 和报价链路验收结果\n- 补充后续批次与未完成事项\n\n验证:\n- 检查 Markdown 差异和提交边界\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T22:28:12+08:00"},{"Sha1":"7e506063c1f6e504a4e6621fe4c4bdd9c9f66e16","Message":"chore(git): 忽略本地临时目录\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T22:26:39+08:00"}],"HeadCommit":{"Sha1":"f96b235c8d1be7df3ed967725acdfc622031eb81","Message":"feat(desktop): 接入 GPT 模型与 Codex 会话\n\n实现内容:\n- 将普通聊天切换为 Codex App Server\n- 为本地会话持久化 Codex Thread ID\n- 接入 GPT-5.6 Sol、Terra、Luna 和动态思考深度选择\n- 更新 JUHAI 模型设置与运行状态展示\n\n验证:\n- npm run typecheck\n- npm run build\n- macOS Electron 界面检查\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T22:29:50+08:00"},"CompareURL":"pengzhiyu/juhai-agent-desktop/compare/0067cfab73f714ab76cf495f2900a0041a15dd8c...f96b235c8d1be7df3ed967725acdfc622031eb81","Len":4}...
|
1788100254
|
Edit
Delete
|
|
26803
|
16
|
5
|
16
|
92
|
0
|
0
|
refs/heads/feat/control-plane-integration
|
1
|
{"Commits":[{"Sha1":"0b971bcd4 {"Commits":[{"Sha1":"0b971bcd460dce801591f038077501d28c6d8d11","Message":"feat(desktop): 优化会话列表折叠与侧栏拖动\n\n实现内容:\n- 将项目外会话归入最近列表,并支持独立展开收起\n- 项目会话列表与最近列表使用同一套折叠交互,并加入展开收起动画\n- 会话列表支持拖动调宽,限制在 200px 至 480px\n- 右侧工作详情改为过渡出现,避免直接弹出\n- 仅会话保留选中态,项目行不再同时高亮\n\n验证:\n- npm run typecheck\n- git diff --check\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T23:08:44+08:00"}],"HeadCommit":{"Sha1":"0b971bcd460dce801591f038077501d28c6d8d11","Message":"feat(desktop): 优化会话列表折叠与侧栏拖动\n\n实现内容:\n- 将项目外会话归入最近列表,并支持独立展开收起\n- 项目会话列表与最近列表使用同一套折叠交互,并加入展开收起动画\n- 会话列表支持拖动调宽,限制在 200px 至 480px\n- 右侧工作详情改为过渡出现,避免直接弹出\n- 仅会话保留选中态,项目行不再同时高亮\n\n验证:\n- npm run typecheck\n- git diff --check\n","AuthorEmail":"ngotruc672498@gmail.com","AuthorName":"xp","CommitterEmail":"ngotruc672498@gmail.com","CommitterName":"xp","Timestamp":"2026-08-30T23:08:44+08:00"},"CompareURL":"pengzhiyu/juhai-agent-desktop/compare/f96b235c8d1be7df3ed967725acdfc622031eb81...0b971bcd460dce801591f038077501d28c6d8d11","Len":1}...
|
1788102662
|
Edit
Delete
|
|
26804
|
5
|
5
|
5
|
91
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"a525a82e0 {"Commits":[{"Sha1":"a525a82e040047e8158104b3fd1b2800a1943132","Message":"Add one-command project startup workflow\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-30T16:23:16-07:00"}],"HeadCommit":{"Sha1":"a525a82e040047e8158104b3fd1b2800a1943132","Message":"Add one-command project startup workflow\n","AuthorEmail":"hillao@juhailaoluodeMacBook-Pro.local","AuthorName":"juhailaoluo pro","CommitterEmail":"hillao@juhailaoluodeMacBook-Pro.local","CommitterName":"juhailaoluo pro","Timestamp":"2026-08-30T16:23:16-07:00"},"CompareURL":"luoanwu/qwen3-8-flash-next/compare/c1d59277c1c321407babdaf3ad6fe26c73e7cb55...a525a82e040047e8158104b3fd1b2800a1943132","Len":1}...
|
1788132201
|
Edit
Delete
|
|
26805
|
4
|
1
|
4
|
93
|
0
|
0
|
|
1
|
|
1788140145
|
Edit
Delete
|
|
26806
|
4
|
5
|
4
|
93
|
0
|
0
|
refs/heads/main
|
1
|
|
1788140153
|
Edit
Delete
|
|
26807
|
4
|
5
|
4
|
93
|
0
|
0
|
refs/heads/main
|
1
|
{"Commits":[{"Sha1":"bece2b2de {"Commits":[{"Sha1":"bece2b2de37158c904f7dfa2dddc83197bf744fb","Message":"Initial commit: 特斯拉车载 Web 无损音乐播放器\n\n前端直接调用 OSS API 浏览目录/播放,本地歌单管理,覆盖核心功能的自动化测试套件。\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","CommitterName":"laiqiaojie","Timestamp":"2026-08-31T09:35:39+08:00"}],"HeadCommit":{"Sha1":"bece2b2de37158c904f7dfa2dddc83197bf744fb","Message":"Initial commit: 特斯拉车载 Web 无损音乐播放器\n\n前端直接调用 OSS API 浏览目录/播放,本地歌单管理,覆盖核心功能的自动化测试套件。\n\nCo-Authored-By: Claude Sonnet 5 \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","AuthorName":"laiqiaojie","CommitterEmail":"laiqiaojie@laiqiaojiedeMacBook-Pro.local","CommitterName":"laiqiaojie","Timestamp":"2026-08-31T09:35:39+08:00"},"CompareURL":"","Len":1}...
|
1788140153
|
Edit
Delete
|
|
26808
|
1
|
5
|
1
|
68
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"f252662ad {"Commits":[{"Sha1":"f252662ad4adf1fb041824eae73326080a40dbf0","Message":"1111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-08-31T10:42:36+08:00"}],"HeadCommit":{"Sha1":"f252662ad4adf1fb041824eae73326080a40dbf0","Message":"1111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-08-31T10:42:36+08:00"},"CompareURL":"luoanwu/juhai-official-website/compare/67a7f56e99ce4a8897a98d1fefbd2d95415bfb9a...f252662ad4adf1fb041824eae73326080a40dbf0","Len":1}...
|
1788144174
|
Edit
Delete
|
|
26809
|
5
|
5
|
1
|
68
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"f252662ad {"Commits":[{"Sha1":"f252662ad4adf1fb041824eae73326080a40dbf0","Message":"1111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-08-31T10:42:36+08:00"}],"HeadCommit":{"Sha1":"f252662ad4adf1fb041824eae73326080a40dbf0","Message":"1111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-08-31T10:42:36+08:00"},"CompareURL":"luoanwu/juhai-official-website/compare/67a7f56e99ce4a8897a98d1fefbd2d95415bfb9a...f252662ad4adf1fb041824eae73326080a40dbf0","Len":1}...
|
1788144174
|
Edit
Delete
|
|
26810
|
1
|
5
|
1
|
68
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"93d927dba {"Commits":[{"Sha1":"93d927dba985194197ad557bf6e602d95fffab1b","Message":"1111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-08-31T10:49:23+08:00"}],"HeadCommit":{"Sha1":"93d927dba985194197ad557bf6e602d95fffab1b","Message":"1111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-08-31T10:49:23+08:00"},"CompareURL":"luoanwu/juhai-official-website/compare/f252662ad4adf1fb041824eae73326080a40dbf0...93d927dba985194197ad557bf6e602d95fffab1b","Len":1}...
|
1788144571
|
Edit
Delete
|
|
26811
|
5
|
5
|
1
|
68
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"93d927dba {"Commits":[{"Sha1":"93d927dba985194197ad557bf6e602d95fffab1b","Message":"1111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-08-31T10:49:23+08:00"}],"HeadCommit":{"Sha1":"93d927dba985194197ad557bf6e602d95fffab1b","Message":"1111\n","AuthorEmail":"121158035@qq.com","AuthorName":"zhangjunnan","CommitterEmail":"121158035@qq.com","CommitterName":"zhangjunnan","Timestamp":"2026-08-31T10:49:23+08:00"},"CompareURL":"luoanwu/juhai-official-website/compare/f252662ad4adf1fb041824eae73326080a40dbf0...93d927dba985194197ad557bf6e602d95fffab1b","Len":1}...
|
1788144571
|
Edit
Delete
|
|
26812
|
18
|
5
|
18
|
69
|
0
|
0
|
refs/heads/dianbo-20260915
|
0
|
{"Commits":[{"Sha1":"cfe1c7ffa {"Commits":[{"Sha1":"cfe1c7ffa1a137855ce65b2cade87624498d74ed","Message":"Add AI patrol permission note\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-08-31T11:03:30+08:00"}],"HeadCommit":{"Sha1":"cfe1c7ffa1a137855ce65b2cade87624498d74ed","Message":"Add AI patrol permission note\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-08-31T11:03:30+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/dfc1f53266ba5a4f0fe239ee5d714f8629bdcb4f...cfe1c7ffa1a137855ce65b2cade87624498d74ed","Len":1}...
|
1788145437
|
Edit
Delete
|
|
26813
|
17
|
5
|
18
|
69
|
0
|
0
|
refs/heads/dianbo-20260915
|
0
|
{"Commits":[{"Sha1":"cfe1c7ffa {"Commits":[{"Sha1":"cfe1c7ffa1a137855ce65b2cade87624498d74ed","Message":"Add AI patrol permission note\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-08-31T11:03:30+08:00"}],"HeadCommit":{"Sha1":"cfe1c7ffa1a137855ce65b2cade87624498d74ed","Message":"Add AI patrol permission note\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-08-31T11:03:30+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/dfc1f53266ba5a4f0fe239ee5d714f8629bdcb4f...cfe1c7ffa1a137855ce65b2cade87624498d74ed","Len":1}...
|
1788145437
|
Edit
Delete
|
|
26814
|
17
|
5
|
17
|
69
|
0
|
0
|
refs/heads/chanpin-20260818
|
0
|
{"Commits":[{"Sha1":"c7b8c7cf5 {"Commits":[{"Sha1":"c7b8c7cf5bea27a943607198279082835ced0039","Message":"按商户角色展示分账手续费\n","AuthorEmail":"codex@g-hi.com","AuthorName":"Codex","CommitterEmail":"codex@g-hi.com","CommitterName":"Codex","Timestamp":"2026-08-31T11:02:26+08:00"}],"HeadCommit":{"Sha1":"c7b8c7cf5bea27a943607198279082835ced0039","Message":"按商户角色展示分账手续费\n","AuthorEmail":"codex@g-hi.com","AuthorName":"Codex","CommitterEmail":"codex@g-hi.com","CommitterName":"Codex","Timestamp":"2026-08-31T11:02:26+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/170662835a947d3f30e91df9bf5aa2a8a12271da...c7b8c7cf5bea27a943607198279082835ced0039","Len":1}...
|
1788146408
|
Edit
Delete
|
|
26815
|
18
|
5
|
17
|
69
|
0
|
0
|
refs/heads/chanpin-20260818
|
0
|
{"Commits":[{"Sha1":"c7b8c7cf5 {"Commits":[{"Sha1":"c7b8c7cf5bea27a943607198279082835ced0039","Message":"按商户角色展示分账手续费\n","AuthorEmail":"codex@g-hi.com","AuthorName":"Codex","CommitterEmail":"codex@g-hi.com","CommitterName":"Codex","Timestamp":"2026-08-31T11:02:26+08:00"}],"HeadCommit":{"Sha1":"c7b8c7cf5bea27a943607198279082835ced0039","Message":"按商户角色展示分账手续费\n","AuthorEmail":"codex@g-hi.com","AuthorName":"Codex","CommitterEmail":"codex@g-hi.com","CommitterName":"Codex","Timestamp":"2026-08-31T11:02:26+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/170662835a947d3f30e91df9bf5aa2a8a12271da...c7b8c7cf5bea27a943607198279082835ced0039","Len":1}...
|
1788146408
|
Edit
Delete
|
|
26816
|
18
|
5
|
18
|
69
|
0
|
0
|
refs/heads/dianbo-20260915
|
0
|
{"Commits":[{"Sha1":"ce2e4ea35 {"Commits":[{"Sha1":"ce2e4ea359190c96bab12dd8b9a71636a436fae8","Message":"Refine inspection permission note\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-08-31T11:20:26+08:00"}],"HeadCommit":{"Sha1":"ce2e4ea359190c96bab12dd8b9a71636a436fae8","Message":"Refine inspection permission note\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-08-31T11:20:26+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/cfe1c7ffa1a137855ce65b2cade87624498d74ed...ce2e4ea359190c96bab12dd8b9a71636a436fae8","Len":1}...
|
1788146445
|
Edit
Delete
|
|
26817
|
17
|
5
|
18
|
69
|
0
|
0
|
refs/heads/dianbo-20260915
|
0
|
{"Commits":[{"Sha1":"ce2e4ea35 {"Commits":[{"Sha1":"ce2e4ea359190c96bab12dd8b9a71636a436fae8","Message":"Refine inspection permission note\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-08-31T11:20:26+08:00"}],"HeadCommit":{"Sha1":"ce2e4ea359190c96bab12dd8b9a71636a436fae8","Message":"Refine inspection permission note\n","AuthorEmail":"codex@local","AuthorName":"Codex","CommitterEmail":"codex@local","CommitterName":"Codex","Timestamp":"2026-08-31T11:20:26+08:00"},"CompareURL":"linmingzhang/ktv-booking-prototype/compare/cfe1c7ffa1a137855ce65b2cade87624498d74ed...ce2e4ea359190c96bab12dd8b9a71636a436fae8","Len":1}...
|
1788146445
|
Edit
Delete
|
|
26818
|
8
|
5
|
8
|
21
|
0
|
0
|
refs/heads/pay-260915
|
0
|
{"Commits":[{"Sha1":"37d2541a4 {"Commits":[{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"}],"HeadCommit":{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"},"CompareURL":"vodtest/pay/compare/cb3f35ed4d6d3d2d02f90be90121ad195d11e732...37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Len":1}...
|
1788156342
|
Edit
Delete
|
|
26819
|
9
|
5
|
8
|
21
|
0
|
0
|
refs/heads/pay-260915
|
0
|
{"Commits":[{"Sha1":"37d2541a4 {"Commits":[{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"}],"HeadCommit":{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"},"CompareURL":"vodtest/pay/compare/cb3f35ed4d6d3d2d02f90be90121ad195d11e732...37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Len":1}...
|
1788156342
|
Edit
Delete
|
|
26820
|
1
|
5
|
8
|
21
|
0
|
0
|
refs/heads/pay-260915
|
0
|
{"Commits":[{"Sha1":"37d2541a4 {"Commits":[{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"}],"HeadCommit":{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"},"CompareURL":"vodtest/pay/compare/cb3f35ed4d6d3d2d02f90be90121ad195d11e732...37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Len":1}...
|
1788156342
|
Edit
Delete
|
|
26821
|
3
|
5
|
8
|
21
|
0
|
0
|
refs/heads/pay-260915
|
0
|
{"Commits":[{"Sha1":"37d2541a4 {"Commits":[{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"}],"HeadCommit":{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"},"CompareURL":"vodtest/pay/compare/cb3f35ed4d6d3d2d02f90be90121ad195d11e732...37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Len":1}...
|
1788156342
|
Edit
Delete
|
|
26822
|
4
|
5
|
8
|
21
|
0
|
0
|
refs/heads/pay-260915
|
0
|
{"Commits":[{"Sha1":"37d2541a4 {"Commits":[{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"}],"HeadCommit":{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"},"CompareURL":"vodtest/pay/compare/cb3f35ed4d6d3d2d02f90be90121ad195d11e732...37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Len":1}...
|
1788156342
|
Edit
Delete
|
|
26823
|
7
|
5
|
8
|
21
|
0
|
0
|
refs/heads/pay-260915
|
0
|
{"Commits":[{"Sha1":"37d2541a4 {"Commits":[{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"}],"HeadCommit":{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"},"CompareURL":"vodtest/pay/compare/cb3f35ed4d6d3d2d02f90be90121ad195d11e732...37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Len":1}...
|
1788156342
|
Edit
Delete
|
|
26824
|
10
|
5
|
8
|
21
|
0
|
0
|
refs/heads/pay-260915
|
0
|
{"Commits":[{"Sha1":"37d2541a4 {"Commits":[{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"}],"HeadCommit":{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"},"CompareURL":"vodtest/pay/compare/cb3f35ed4d6d3d2d02f90be90121ad195d11e732...37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Len":1}...
|
1788156342
|
Edit
Delete
|
|
26825
|
11
|
5
|
8
|
21
|
0
|
0
|
refs/heads/pay-260915
|
0
|
{"Commits":[{"Sha1":"37d2541a4 {"Commits":[{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"}],"HeadCommit":{"Sha1":"37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Message":"需求 安全巡检 16865\n","AuthorEmail":"developer.jeff.c@gmail.com","AuthorName":"chenjunfeng","CommitterEmail":"developer.jeff.c@gmail.com","CommitterName":"chenjunfeng","Timestamp":"2026-08-31T14:05:38+08:00"},"CompareURL":"vodtest/pay/compare/cb3f35ed4d6d3d2d02f90be90121ad195d11e732...37d2541a44b8ed459a98d89b6c12b2aa4305e9ed","Len":1}...
|
1788156342
|
Edit
Delete
|
|
26826
|
7
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260818
|
0
|
{"Commits":[{"Sha1":"456e2b99c {"Commits":[{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},{"Sha1":"6e9e6d56d5dc0629c72668f7e52f4dcdb653f90d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-27T15:25:29+08:00"}],"HeadCommit":{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},"CompareURL":"vodtest/pay/compare/bdf00848583e111def4fa3c7be17c736bda73dfa...456e2b99c6e996d5a7b5c0792451237338bae576","Len":2}...
|
1788156747
|
Edit
Delete
|
|
26827
|
9
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260818
|
0
|
{"Commits":[{"Sha1":"456e2b99c {"Commits":[{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},{"Sha1":"6e9e6d56d5dc0629c72668f7e52f4dcdb653f90d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-27T15:25:29+08:00"}],"HeadCommit":{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},"CompareURL":"vodtest/pay/compare/bdf00848583e111def4fa3c7be17c736bda73dfa...456e2b99c6e996d5a7b5c0792451237338bae576","Len":2}...
|
1788156747
|
Edit
Delete
|
|
26828
|
1
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260818
|
0
|
{"Commits":[{"Sha1":"456e2b99c {"Commits":[{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},{"Sha1":"6e9e6d56d5dc0629c72668f7e52f4dcdb653f90d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-27T15:25:29+08:00"}],"HeadCommit":{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},"CompareURL":"vodtest/pay/compare/bdf00848583e111def4fa3c7be17c736bda73dfa...456e2b99c6e996d5a7b5c0792451237338bae576","Len":2}...
|
1788156747
|
Edit
Delete
|
|
26829
|
3
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260818
|
0
|
{"Commits":[{"Sha1":"456e2b99c {"Commits":[{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},{"Sha1":"6e9e6d56d5dc0629c72668f7e52f4dcdb653f90d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-27T15:25:29+08:00"}],"HeadCommit":{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},"CompareURL":"vodtest/pay/compare/bdf00848583e111def4fa3c7be17c736bda73dfa...456e2b99c6e996d5a7b5c0792451237338bae576","Len":2}...
|
1788156747
|
Edit
Delete
|
|
26830
|
4
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260818
|
0
|
{"Commits":[{"Sha1":"456e2b99c {"Commits":[{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},{"Sha1":"6e9e6d56d5dc0629c72668f7e52f4dcdb653f90d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-27T15:25:29+08:00"}],"HeadCommit":{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},"CompareURL":"vodtest/pay/compare/bdf00848583e111def4fa3c7be17c736bda73dfa...456e2b99c6e996d5a7b5c0792451237338bae576","Len":2}...
|
1788156747
|
Edit
Delete
|
|
26831
|
8
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260818
|
0
|
{"Commits":[{"Sha1":"456e2b99c {"Commits":[{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},{"Sha1":"6e9e6d56d5dc0629c72668f7e52f4dcdb653f90d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-27T15:25:29+08:00"}],"HeadCommit":{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},"CompareURL":"vodtest/pay/compare/bdf00848583e111def4fa3c7be17c736bda73dfa...456e2b99c6e996d5a7b5c0792451237338bae576","Len":2}...
|
1788156747
|
Edit
Delete
|
|
26832
|
10
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260818
|
0
|
{"Commits":[{"Sha1":"456e2b99c {"Commits":[{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},{"Sha1":"6e9e6d56d5dc0629c72668f7e52f4dcdb653f90d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-27T15:25:29+08:00"}],"HeadCommit":{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},"CompareURL":"vodtest/pay/compare/bdf00848583e111def4fa3c7be17c736bda73dfa...456e2b99c6e996d5a7b5c0792451237338bae576","Len":2}...
|
1788156747
|
Edit
Delete
|
|
26833
|
11
|
5
|
7
|
21
|
0
|
0
|
refs/heads/pay-260818
|
0
|
{"Commits":[{"Sha1":"456e2b99c {"Commits":[{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},{"Sha1":"6e9e6d56d5dc0629c72668f7e52f4dcdb653f90d","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-27T15:25:29+08:00"}],"HeadCommit":{"Sha1":"456e2b99c6e996d5a7b5c0792451237338bae576","Message":"Merge remote-tracking branch 'origin/pay-260818' into pay-260818\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:11:39+08:00"},"CompareURL":"vodtest/pay/compare/bdf00848583e111def4fa3c7be17c736bda73dfa...456e2b99c6e996d5a7b5c0792451237338bae576","Len":2}...
|
1788156747
|
Edit
Delete
|
|
26834
|
7
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260818
|
0
|
{"Commits":[{"Sha1":"1d4e96e9c {"Commits":[{"Sha1":"1d4e96e9cad520318f92065f9b70f672a3ab41e3","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:12:35+08:00"}],"HeadCommit":{"Sha1":"1d4e96e9cad520318f92065f9b70f672a3ab41e3","Message":"1\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-08-31T14:12:35+08:00"},"CompareURL":"vodtest/pc/compare/b64df4f0230db51adb5d96058719691449601e28...1d4e96e9cad520318f92065f9b70f672a3ab41e3","Len":1}...
|
1788156765
|
Edit
Delete
|