wangyunlong
|
2f31d5872f
|
chore(product): 废弃并删除 db/sync_sku_master.py
与上一并废弃的 sync_dim_style.py 同类问题,且更彻底:
- 身份列自投影:脚本读 runtime_workflow_configs()(现已直读 dim_style),
再把 jd_spus/dy_spus/tm_spus/jd_self_skus/erp_codes 全量 EXCLUDED 覆盖写回
dim_style。对「同系列只填主款平台编码」的子款,它会走动态配置兜底把旧商品 ID
反写,绕过系列共享规则
- 唯一还写的 bitable_sku_master_url/base/table 是 sales_bitable_url 的副本:
生产库 24 行与 bitable_weekly_* 完全相同、无一行独有,且采集端、data-hub
后端、运维脚本均无任何读取点(data-hub 审计文档标注「flow 只写,全生态不读」)
删除后款式身份的唯一写入口是 data-hub「产品生命进程」建档页。
bitable_sku_master_* 三列保留在库中不删(存量值不动,需要时可低成本恢复)。
- 删除 src/gyxx_flow/modules/product_commerce/db/sync_sku_master.py(170 行)
- 移除 config/runtime-bindings.json 绑定(cdp_port 22071)与 source-manifests 条目
- 测试计数同步:PRODUCTION_PYTHON 64 -> 63,集成绑定 157 -> 156
- docs/dynamic-workflow-config.md 合并两个废弃脚本的说明
验证:tests 根级套件 11 failed / 820 passed / 1 skipped,与改动前一致。
|
2026-10-28 14:51:44 +08:00 |
|
wangyunlong
|
423f8d1f75
|
chore(product): 废弃并删除 db/sync_dim_style.py
采集端运行时身份已改为直接读 dim_style,这个脚本的投影方向变成"自己写自己":
既补不了旧 cmt_styles 台账数据,upsert 又是 EXCLUDED 全量覆盖,跑一次有可能把
空值写回 dim_style。款式新增与改款统一走 data-hub「产品生命进程」建档页。
- 删除 src/gyxx_flow/modules/product_commerce/db/sync_dim_style.py(390 行)
- 移除 config/runtime-bindings.json 绑定(cdp_port 22070)与 source-manifests 条目
- 测试计数同步:PRODUCTION_PYTHON 65 -> 64,集成绑定 158 -> 157
- docs/dynamic-workflow-config.md 补废弃说明;运行时路径图与表说明由 cmt_styles
更正为 dim_style
- db/__init__.py 表来源说明同步
验证:tests 根级套件 11 failed / 820 passed,与改动前完全一致(失败均为清单
sha256 与既有环境问题,非本次引入)。
|
2026-10-28 14:39:50 +08:00 |
|
wangyunlong
|
ee6fd4170e
|
feat(product): 取款主源切到 dim_style,平台编码与销量表按系列共享
产品生命进程建档(dim_style)成为款式身份唯一权威,采集端不再依赖
workflow_dynamic_styles + cmt_styles 双份维护:
- workflow_config 运行时改读 dim_style(ERP 编码、四平台商品 ID、销量表、
系列归属),cmt_styles 降级为 dim_style 不存在时的兜底;source_record_id
前缀由 cmt_style 改为 lifecycle_style
- merge_lifecycle_style_records 把 series_name / is_series_anchor /
sales_bitable_url 写进运行时记录,建档地址优先于动态配置
- StyleConfigLoader 新增 _apply_series_sharing:按系列标注各平台编码的
承担款,子款继承主款销量表,但不复制平台商品编码,避免同一份访客/加购
被同系列多款重复入账
- ERP 三道门(ERP 昨日采集、全店铺日报、月度销量表)只校验款式编码;
平台编码缺失时提示「同系列某款已在采,本款只采 ERP 销量」
- CACHE_SCHEMA_VERSION 5 -> 6,旧缓存自动失效
系(系列)级配置结果:ERP 门可采款数 33 -> 53,全店铺日报取款计划 42 -> 198。
|
2026-10-28 14:20:59 +08:00 |
|
wangyunlong
|
3cf7048140
|
fix(content-marketing): 笔记标题入库前剥除话题链接段与裸 URL
登记人常把抖音「复制分享文案」整段粘进发布笔记标题列,含 [话题](url)
链接段(个别为 {url} 花括号包裹)和裸 URL。新增 clean_note_title:
剥链接后非空则采用;整段皆链接时取方括号内话题文本去重拼接;
仍为空则保留原文兜底,避免标题落空。
|
2026-10-27 10:10:33 +08:00 |
|
wangyunlong
|
47ed6ec3f6
|
fix(content-marketing): 笔记归属款改挂 dim_style 主档 id
data-hub 按 dim_style(系列锚点款)口径消费 cmt_notes_master.style_id,
直接写 cmt_styles.id 在款式主档重排后变成悬挂 id,笔记在系统中消失。
新增 db.get_dim_style_id,采集写入(feishu_comment_batch / sync_notes_master)
与指标回填(sync_metrics_to_cmt_notes)统一切换为 dim_style 优先、
按款名解析;新款未收录款式库时回退 cmt_styles.id 并告警,待收录后归一。
|
2026-10-27 09:58:27 +08:00 |
|
wangyunlong
|
b1861f69cd
|
chore(workbench): 移除 dsh 工作台集成
工作台以 deepseek-harness 为 agent 底座,把现有工作流以 dsh 插件接入 Web UI。
该路线已停用,移除整个 workbench/ 与配套文档,避免留下点了启动不起来的死入口。
- 删除 workbench/:宿主插件 gyxx-workbench.mjs、侧边栏面板前端、cordis 配置
模板、启动脚本、独立面板与 node 冒烟测试
- 删除 docs/workbench.md 与 README 的「智能工作台」章节
- .gitignore 去掉 workbench 本地产物两条规则
- 基线结构测试的 docs 白名单同步移除 workbench.md
工作流能力不受影响:gyxx console、调度器、运行记录与诊断接口均未改动。
|
2026-10-19 11:19:31 +08:00 |
|
wangyunlong
|
2ef635be0e
|
feat(ops): 执行日志与 cookie 失效遥测入库
新增 PostgreSQL 运维审计层,本地 run.json 仍是权威源,数据库做跨机器可查、
可长期留存的关系型镜像。
数据面:
- ops_workflow_runs / ops_workflow_run_steps:每次运行与每次步骤尝试一行,
保留状态、模式、耗时、exit_code、错误与 journal 路径
- ops_account_cookie_events:登录态观测事件流,只存 cookie 指纹,不落明文值
- ops_account_cookie_lifetimes / ops_account_cookie_stats:一份 cookie 的实际
寿命与账号级平均/中位/最短/最长,用于发现失效规律;同时记录 cookie 自带
的声明过期时间,可与实际寿命对比区分自然到期与服务端提前吊销
采集点:
- RunIndex.index_journal 镜像运行记录,覆盖 CLI、控制台与调度器全部路径
- CookieGate 的 gate 判定与 AccountKeepaliveManager 的周期探活(默认 10 分钟)
共同提供 cookie 观测,探活决定失效时间的精度
可用性:
- 新增 gyxx audit runs|cookies|cookie-stats|schema,支持 --json
- 首次写入自动幂等建表,建表用 advisory lock 串行化,避免并发 DDL 死锁
- 审计写入永不抛出异常:连续失败熔断冷却并落 logs/ops-audit 日志,
数据库不可用不影响工作流执行
|
2026-10-19 11:01:14 +08:00 |
|
wangyunlong
|
cf85985753
|
chore: 忽略 .mimosa/.workbuddy 本地工具状态目录
|
2026-10-14 18:40:11 +08:00 |
|
wangyunlong
|
e5761bd828
|
feat(deploy): Windows 自动登录自启脚本与运行手册补章
autologon.ps1 交互输密码启用/撤销 AutoAdminLogon(DefaultPassword 仅
Administrators 可读),补齐「开机自动登录 → Startup keepalive → 控制台+
调度器」自启链唯一缺口;采集依赖 CDP 交互会话,不能用服务/SYSTEM 任务
替代。runbook 增补开机自启与重启验收章节。
|
2026-10-14 18:40:11 +08:00 |
|
wangyunlong
|
9feb188d93
|
fix(cookie-gate): 必需 cookie 改全量校验并收紧各账号必需名单
required_cookie_names 原语义是「任一必需名命中即有效」,单个匿名 cookie
(如小红书 a1)就能把游客会话判为有效;改为全部必需名都存在、存活且域名
匹配才算通过。随之按实际登录产物收紧名单:jd 去 pin、erp321 留
u_id+u_co_id、小红书改 customer-sso-sid+solar.beaker.session.id、
星图仅 sid_guard。cookie_gate 用例冻结时钟改相对时钟防过期漂移。
|
2026-10-14 18:38:03 +08:00 |
|
wangyunlong
|
7b305b0b12
|
fix(content): 蝉妈妈导出标签页崩溃自愈与 cookie 文件格式对齐
导出点击后 tab 死亡(渲染进程被清理)时:页面级死亡先同 context 重开
新页(facade 新增 reopen_page),context 也死亡才整套重建驱动,按
profile → cookie 文件 → 账密顺序恢复会话,两种自愈各限一次防死循环。
cookie 文件改存裸列表,与 vault 同步及适配器 BrowserCookieStore 三方
格式对齐(字典格式会被适配器拒绝加载);adapters 暴露
is_browser_closed_error 供模块识别目标已关闭类异常。
|
2026-10-14 18:35:44 +08:00 |
|
wangyunlong
|
6cd563eab0
|
fix(product): 天猫百补报名登录链路三类阻断兜底
vault 假登录态(SPA 缓存店铺名误判已登录)与 SSO 中间态停留时改走显式
账密登录兜底;登录页识别服务协议/隐私弹窗并先处理,二次验证标记补充
滑块;报名导入增加账号级锁防并发挤兑。
|
2026-10-14 18:33:32 +08:00 |
|
wangyunlong
|
0cc4fafc7c
|
fix(product): 聚水潭 allsku 模板隐藏列错位致 daily 销量全 0
2026-10-11 模板重置把 38 列置隐藏后可见列整体左移,固定索引 45/57 落到
「今日实退货量/今日仅退款量」。daily 改表头名匹配「昨日销量/昨日退货量」
(weekly 暂留老索引待实测);backfill 恢复自定义列可见(window._Cols +
_RptRefresh),并把表头索引按可见列换算成行内位置防 td 缺位错读。
|
2026-10-14 18:31:23 +08:00 |
|
wangyunlong
|
9a91ce80e4
|
feat(product): 聚水潭销售主题分析按日采集工作流
collect_erp_sales_theme_daily.py 采集 bi.erp321.com「报表→销售主题分析→按日统计」,
异步导出 + OSS 直连兜底,固定品牌+店铺口径,写 erp_sales_theme_daily_metrics
(db 层建表与 upsert 同步,每日一行幂等覆盖)。注册 product.erp_sales_theme_daily.collect
手动命令,复用 erp-account 登录绑定新增 CDP 22167;目录/集成计数 60→61,
新脚本纳入 CI 聚焦 lint 清单。
|
2026-10-14 18:29:15 +08:00 |
|
wangyunlong
|
97a486e97d
|
feat(product): 补充香港安培公开库存采集脚本与聚水潭库存适配
public_sku_inventory_sheet 与 jushuitan_inventory 适配器、hk_anpei 采集配置,
支撑 product.hk_anpei_public_inventory.daily 工作流。
|
2026-10-09 13:45:56 +08:00 |
|
wangyunlong
|
36fe7b81f8
|
feat(cookie-gate): 补充 cookie_gate 网关模块与 deploy/watchdog 保活脚本
cookie_gate.py(账号三级门控/阻断记录 pending_reruns/恢复重跑管理器)为此前
接线提交遗漏的模块文件;deploy/watchdog 为控制台与调度器的进程外保活脚本。
|
2026-10-09 13:45:56 +08:00 |
|
wangyunlong
|
dc8be88e60
|
chore(config): 工作流配置、清单与文档同步
workflows/schedules/commands/notification-routing 与 source-manifests 四模块
清单同步登录统一化与新工作流(product.hk_anpei_public_inventory.daily 等);
docs 运维手册、控制台与耗时分布文档、CI 关键脚本清单、AGENTS 指南更新;
测试与模块注册对齐。
|
2026-10-09 13:45:30 +08:00 |
|
wangyunlong
|
90282ae766
|
fix(product): 千川任务中心账户选择页兜底与 jd_spus jsonb 查询修复
千川任务中心深链缺账户上下文时会被重定向到账户选择页,按 .account-list-item
卡片自动选中目标广告主后继续下载;jd_spus 列改 jsonb 后查询改用
jsonb_typeof/jsonb_array_length 防类型报错。
|
2026-10-09 13:45:30 +08:00 |
|
wangyunlong
|
df11e195b7
|
feat(product): 京东新版商智竞店采集改造
入口跳转、两段式日期选择、搜索定位与表格解析适配新版商智;配合类目下拉与
XHR 拦截兜底。
|
2026-10-09 13:45:30 +08:00 |
|
wangyunlong
|
b0e1b5066d
|
feat(content): 自营三平台指标入库管线完善
sync_self_video_metrics 按平台隔离入库与字段口径调整,配套自营指标验收测试
更新。
|
2026-10-09 13:45:30 +08:00 |
|
wangyunlong
|
1e9ddffd2f
|
fix(collect): 账号浏览器与小红书采集强制直连
目标站点均为国内站,Clash 代理出口被蝉妈妈/小红书 WAF 拉黑(TLS 直接 reset,
页面与 API 报 ERR_CONNECTION_CLOSED)。账号保活、扫码登录浏览器与小红书 ARK
采集统一加 --no-proxy-server 直连。
|
2026-10-09 13:45:29 +08:00 |
|
wangyunlong
|
41f448420d
|
fix(chanmama): 导出确认弹窗被浮层清理误删与代理出口拉黑修复
浮层清理只删可见浮层——页面常驻 90+ 个 display:none 弹窗模板(含导出确认框
模板),误删后 Vue 只在游离节点上"打开"弹窗,页面上仅剩灰色遮罩与滚动锁,
导出等待 1320s 必超时;导出等待改为逐秒弹窗状态机(可点即点/点不到先关/卡死
强删并补点导出),导出失败落截图与 HTML 诊断;浏览器强制直连并切换真 Chrome
非 stealthy 模式(StealthySession 下蝉妈妈前端会静默压制弹窗渲染);导出按钮
原生可信点击优先,防 @click 绑定在内层元素时 JS 合成点击无效。
|
2026-10-09 13:45:29 +08:00 |
|
wangyunlong
|
130f06b320
|
feat(cookie-gate): 调度器恢复重跑接线与控制台健康自检
调度器维护循环挂载 CookieGateRecoveryManager,登录态恢复后按原业务日期自动
重跑被阻断工作流并飞书确认;工作流级 required_accounts 声明接入目录解析;
采集器抛 CookieExpiredError 退出 75;控制台新增 /api/health 自检端点与进程内
看门狗,配合 deploy/watchdog 双层保活;安装脚本同步。
|
2026-10-09 13:45:29 +08:00 |
|
wangyunlong
|
78ea4641ce
|
refactor(login): 移除脚本内扫码重登,登录统一交给账号 vault 与 cookie-gate
删除 relogin_*/friday_relogin_parallel 子进程及其测试;批量补采、评论采集、
星图/蒲公英/B站/抖音自营与抖店竞品脚本不再内嵌扫码等待,登录态失效统一由
cookie-gate 阻断并走 gyxx accounts login 恢复;runtime-bindings 与模块注册
同步移除 content.relogin.weekly。
|
2026-10-09 13:45:19 +08:00 |
|
wangyunlong
|
01f3d7aaf7
|
chore: [workflow] 提交工作区代码
|
2026-09-30 10:46:15 +08:00 |
|
wangyunlong
|
2ff588a65d
|
chore: [workflow] 提交工作区改动
|
2026-09-07 15:14:54 +08:00 |
|
wangyunlong
|
485e77ee74
|
feat: [workflow] 统一飞书款式身份配置
|
2026-09-07 15:01:04 +08:00 |
|
wangyunlong
|
92289b17ed
|
fix: wait for slot declaration via slots.inject and id list-slot entries
|
2026-09-04 15:22:37 +08:00 |
|
wangyunlong
|
ef9508e597
|
fix: inline CJS module/exports shims in client bundle for browser loader
|
2026-09-04 14:59:11 +08:00 |
|
wangyunlong
|
a14a8d9233
|
fix: emit file:// plugin URLs for dsh ESM loader on Windows
|
2026-09-04 12:08:37 +08:00 |
|
wangyunlong
|
01218b2907
|
feat: add deepseek-harness workbench plugin and console diagnosis API
- console: GET /api/workflows/{id}, /runs/{run_id}, /runs/{run_id}/diagnosis
(journal trace + sanitized bounded log tails, workflow/run pairing enforced)
- workbench/: dsh 宿主插件(7 个工作流工具、中文系统提示词、失败监控器、
本机回环桥接服务)+ 侧边栏面板客户端包(sidebar.footer.action 与
shell.overlay 追加插槽)+ 降级独立面板 + 一键启动脚本
- adapters/browser: 收敛 looks_like_login_url 到共享层,修复
jd_main_image_collector 对 gyxx_flow.accounts 的越层导入
- tests: 新端点覆盖;replay_policy 断言对齐已迁移的 catalog(repeatable)
|
2026-09-04 11:10:16 +08:00 |
|
wangyunlong
|
b124d757b0
|
feat: expand module workflows, dynamic config, notifications and console API
|
2026-09-04 09:49:37 +08:00 |
|
wangyunlong
|
8df5266abb
|
feat: complete production workflow migration
|
2026-08-06 14:29:57 +08:00 |
|
wangyunlong
|
7f215e79c4
|
build: add locked Python requirements
|
2026-07-28 15:13:26 +08:00 |
|
wangyunlong
|
5f7e5838bc
|
docs: describe gyxx-flow as a standalone project
|
2026-07-28 14:56:04 +08:00 |
|
wangyunlong
|
c23b62a8c8
|
feat: consolidate legacy workflows into gyxx-flow
|
2026-07-28 14:51:15 +08:00 |
|