实习第四个月总结:桌面端落地、数据大盘与平台工程化——AI 能力从对话走进用户电脑

本文由 AI 读取本地各仓库的 git commit 记录自动生成(覆盖 2026-09-30 ~ 11-09)

文中涉及的公网 IP、邮箱、域名等敏感信息已做模糊处理。

署名说明:以提交邮箱 1960****@qq.com 为准,hym / Heyiming / woop / zcodeh / zcode 均为本人(后三个是本月新增的本地与 AI 助手身份);e-commerce 前后端里同事 why(fantas****@163.com)与 xiewenhai / wenhai03(8100****@qq.com)的提交不计数。


目录(涉及仓库一览,均属公司 AIGC 平台)

归属 仓库 类型 本窗提交量
公司 xlagent AI 智能体引擎 + 内置前端 167
公司 e-commerce-frontend 平台前端(PC / H5 / App / 桌面壳) 211
公司 e-commerce-backend 平台后端、Gateway、支付域 109
公司 autodl-orchestrator 服务器 GPU 编排 2
公司 back_tk_message_app 聚合聊天 1

合计 490 次提交(三主仓 487 + 辅助仓库 3),三主仓合计 32 个活跃日;峰值出现在 10-12(36 次)、10-13(34 次)、11-06(29 次)。

如果上个月的主线是「把 AI 助手重构成 β 智能体引擎」,这个月就是把引擎装进用户电脑、接上真实数据、再用流水线把发布接走。月底对照 Agent11 蓝图盘点:30 项能力里 19 项已能端到端使用、9 项半成品、2 项从零——平台已经不再是一个对话页,而是「桌面端 + 平台 + 设备脚本 + 数据源」的完整产品。


一、平台工程化:新机、CI/CD 与「让平台自己发自己」

1.1 10-09:9012 整体搬到阿里云新机

  • 目标定得很清楚:旧数据不迁、老机服务不停、只把 9012 的电商 + xlagent 在新机起一套,二进制直接用本地仓库最新版构建。
  • 新机 47.76.*.*(阿里云香港,8C14G)从巡检、端口冲突(16379 被占 → xlagent-redis 换 26379)、mihomo 代理、PG 建库,到前端同源构建、冒烟清单,一天内收官。
  • 配置体系顺势两套化:app.toml 本地全本地,app.online.toml 作为线上新机权威镜像;容器 token_redis 用服务名,本地联调重新打开积分计费。
  • 老机 116.213.*.* 随后被明确为只读:不部署、不改配置、不迁数据,排障可读可探测。pro1/pro2 是 ecom 的蓝绿,xlagent 本体只有 config-prod 一份——改配置前先 grep -rl 判份数,不按名字猜。

1.2 CI/CD:从 5 个项目扩到 7 个

10-12 ~ 10-13 先把「Gitee WebHook → 校验/构建 → 人工批准 → 蓝绿发布」这套轻量 CI/CD 从零搭起来,并写了长文《从零搭一套轻量 CI/CD 并让它托管自己》。这个月它继续长大:

  • 项目数从 5 扩到 7:前端、ec-backend、xlagent-backend、CI 引擎自身、orchestrator,再加上 desktop(桌面端安装包自动发版) 与 app(Capgo OTA 热更新包)。
  • 自举与治理:CI 管自己时解决「重启会杀掉正在部署的进程」;部署详情页补操作人 / 来源 IP / IP 归属地审计,被清理的 sha 标「已失效」并挡住部署。
  • 后端蓝绿加固:部署时等就绪再切流 + 路由表完整性门禁;gateway 启动探活失败不再删路由,避免全站 404;material 的 protoset 纳入版本管理,干净检出不再缺 pb;CI 收尾无差别还原工作树,修掉「构建脏了自己的克隆」导致下一轮被 dirty guard 拦死。
  • 工具链对齐:build-go 镜像升 Go 1.27,根治 jsonv2 实验包类构建失败;scripts/ci 在 CD 时顺带同步进 ci/bin,做到「部署哪个 sha,CI 脚本就是哪个 sha」。
  • 存量债清理:11-06 把 platform 树里 12 个编译不过的包全修绿,全 workspace 7 个模块 go build 通过。根因归成四类:client 手写别名、proto/plat 孤儿生成物、resource 链 ent + anypb、死 server/docs 示例。

1.3 可观测性与稳定性

  • xlagent 接入 Prometheus 指标 + OTLP 链路追踪;同时修掉 span 名必须创建时传路由模板、PG 连接池显式设参、后台常驻循环 panic 隔离等一批「平时不响、出事要命」的问题。
  • ecom 四服务同步暴露 /metrics 并接入 OTLP → Collector → Jaeger。
  • SSE 增加连接级心跳顶住代理空闲掐流;把写出锁收拢到连接级。
  • 网关新增免鉴权 GET /health 探针,修掉桌面端子 exe 把网关误判为不可达、静默回落到已冻结老机的链路。

二、桌面端:把 AI 能力送进用户电脑

这是本月变化最大的交付形态:9 月底还只是「Electron 套壳网页 + 夜间模式」,一个多月后它已经是一个能干活的本地运行时。

  • 本机能力:文件句柄制 IPC、ffmpeg / SoX、本机文件页、整机只读 local_fs_any、本地记忆文件夹、yt-dlp Cookie 逐站保管与实时检测。Agent 可以直接操作用户本机,不再只能隔着服务器。
  • 本地模型直连:用户把模型跑在 ollama / vLLM / LM Studio 时,127.0.0.1 是相对客户端而言的,服务端去连自己的回环必然失败。解法是把「发补全请求」交给桌面壳代执行(X-Custom-Llm-Exec: client),服务端的 agent 循环一点没动。
  • BYOK:多供应商密钥用 safeStorage 按供应商独立加密、原子写盘、旧单 key 迁移;设置页收敛成「模型管理 / 检测 / 转存 Cookie」三页。
  • 脚本运行时:本地脚本后台自更新(manifest 比对 + 设备号自动解析注入 XL_DEVICE_NO);出口 IP 池让脚本只连壳内固定端口,换 IP 不用重启子进程;壳重启后能接管孤儿脚本进程;重数据迁出 Roaming、视频根自动挑盘。
  • 子 exe 管理:发版管理、模块分组、公共件 manifest(ffmpeg / yt-dlp / proxy-assets / playwright)、发版三道闸、清单自愈,并接入 CI 自动发版。
  • 监听素材本地留档:下载写 sidecar、本地副本与平台卡按 id 合并;云端 7 天过期后仍可回传本机副本重新加工。
  • 自动更新与稳定性:升级状态机 + HUD;11-06 的对话页 chunk 加载失败最终定位到客户端代理出口 + 16:17 自动更新后的十几秒链路抖动,重试窗口由 3.2s 放宽到 15.2s。
  • 品牌与外观:品牌统一为 Plow Ox,夜间模式全平台开放,H5 导航壳对齐 PC,App 端收缩成纯 Capacitor 壳并接 Capgo OTA。

一句话:桌面端从「网页的容器」变成了「AI 的手和脚」。


三、β 引擎:从「能聊」到「能干活」

上个月把 β 引擎的骨架搭起来;这个月主要补「真实业务能力」和「交互范式」。

3.1 回合执行与连接解耦(10-27)

原来回合的生命期绑在 HTTP 连接上:切会话、关页、刷新都会让工具链 context.Canceled,会话记录还要等回合收尾才写。改成消息发出即建会话、切走以后 agent 继续跑、多会话并行,在途回合可以从服务端续接,侧栏能标「运行中」。这是体验上最像 ZCode 的一次升级。

3.2 目标管理、客户端工具与工具面扩张

  • 会话目标:goal 写侧落库、状态与续行许可耦合、列表计数同源;11-02 再加 goal watch——agent 自设条件,命中后自动推会话。
  • 客户端工具族:local_fs / local_fs_any / local_ytdlp_cookie / local_memory / local_scripts / local_audio_generate / local_topic_update,配上四档权限模式。
  • 电商平台收口:全量端点收敛成 ecom 三工具(查询 / 检索 / 执行),加/改路由后重跑 cmd/ecommanifest 同步清单。
  • 数据工具:overseasdata_search / overseasdata_query 接海外电商数据;TikTok Shop、TikTok Ads 工具组;妙手工具族已写到 192 个端点 + 签名 + 写确认闸,但因凭据与 IP 白名单未到位暂未挂出。
  • 技能与 MCP:技能市场支持上架/订阅/自动同步、保留三版与更新日志;第三方技能「来源 + 哈希锁」;技能与 MCP 上架审核闸;用户可自接 MCP 工具服务器。

3.3 多模态:语音、视频与商品详情页

  • 语音输入与朗读:浏览器内转码 16k WAV → ASR 转写回填输入框;录音不进 OSS、只在内存活一次请求。TTS 换小米 MiMo,支持逐句朗读、进度/暂停/重播、失败原因可见。
  • 视频能力全家桶:去重 / 克隆 / 生成 / 配音成片。11-03 的配音成片会按 TTS 分段时长铺时间轴、用 ass 滤镜把口播字幕烧进视频,失败回退无字幕压制,配音计费 ×1.5 溢价。
  • 视频混剪 / 裂变 / 去重入口:11-09 文档已记录混剪接入 β、去重支持上传/成片/外链、裂变按份数展开派工(这批改动仍在工作区,未计入上方提交统计)。
  • 独立站商品详情页:11-09 落地页版本完成——从商家画像现渲染响应式商品页,发布时写进站点 release,访问量与按钮点击自动进现有统计;只存配置不存 HTML,商品改名换图后不会出现过期副本。

3.4 计费、成本与上下文

  • BYOK 请求级凭证覆盖(只挂内存、不落库、不进日志);平台模型 LLM token 按主站积分计费;成本单价挂渠道(每 1K token 的 input / output / cached_discount);用量面板并排展示「预计消耗积分」;回合中途下发 usage 帧,不再等收尾才更新 token 计数器。
  • 上下文侧继续分层:微压缩 + 历史窗口按 token 预算 + 摘要熔断;对话扣费前先校验积分余额。

四、数据与业务:把「别人的数据」变成「自己的面板」

4.1 海外大盘

  • 上游大盘数据改为每日快照落库,β 读本地库不计费;快照预算按国家数推算 + 限流退避。
  • 按国家错峰采集,面板可切换国家与统计日;未指定国家时回落到「有数据的那个」。
  • 新增 xlagent_tiktokshop_categories 官方类目字典,品类细分不再是一串 ID;一级品类下按蓝海指数展示细分,没有名字时明说「细分 <ID>」,不回落成裸 ID。
  • 前端看板从「机器码」改成人话:品类中文名、店名、市场码金额、热力图一级聚合。

4.2 TikTok Shop 与广告

  • TikTok Shop 官方 API:10-23 接入自己店铺的订单/履约/库存/结算/售后/促销等经营数据,10-27 恢复官方授权链路并做出多店铺可切换的「我的店铺」面板。
  • 随后遇到现实问题:官方线读卖家数据必须过审应用 + 每卖家 OAuth,PlowOx 停在 Draft,链路形成死锁。10-30 决定整体改走出海匠卖家线——卖家授权出海匠已过审的应用,我们从它的 API 读数据;官方线按下线休眠处置,代码/表/凭据保留。
  • TikTok 广告投放:10-30 从出海匠的第三方转售链路改为本地直连 TikTok Marketing API(Business API v1.3),238 个端点、官方免费只限流。11-06 完成应用凭据上线与回调子域名 agent.***.com,并把授权口径改成「全平台共用一份」——一次授权、全平台共用同一份令牌与广告账户清单,发起授权/解绑/切户收归管理员,普通用户只读。

4.3 独立站与内容数据

  • 独立站:二级域名对外服务(9013 静态直出,Host + 路径双路由)、管理面、草稿/本地/发布文件、发布/备份/回滚(首次发布也留备份)、按 owner 分目录。
  • 访问统计:9015 记 PV/UV/来源,发布时注入埋点;前端列表今日/累计列 + 趋势/来源/热门/点击抽屉。
  • 海外热搜三源:每日热点速览接入 GoogleTrends / YouTube / Reddit;TikTok 资讯每日采集 + 连接池指标采样;五平台热点指纹持续补录。
  • 数据日历:月视图一屏看每天产出/发布/监听/涨粉,支持全站口径与独立站、积分实扣两个新域。

五、托管运营与日常自动化

  • 设备人设:账号人设迁移为设备人设,每个号绑人设,派工时解析成脚本三项枚举下发;执行记录保存注入后的人设快照,而不只是任务模板原文。
  • 逐设备推理与计费:托管推理链按设备、按任务独立生成,每单展示推理依据与预算估算;派工对账面板可查逐设备流水。
  • 获客单数去「固定 100」:提示词改成按数据定,获客单不再按发布窗口排队,降级只升不降并明确标出「非 AI 推理」;面板「将互动谁」改成预览即预约——看到的就是脚本下一轮会领到的那批人。
  • 托管视频:拍摄简报、审核参数原因、模型计价规则、换模型按「本单真实形态」取候选;脏快照的纠正不再静默落空。
  • 日报:β 只读轮先接管「AI 分析」板块(只挂只读工具、不落会话),再做建议下限兜底、日报库按日期分组/状态筛选、「立即生成日报」β 工具与海外日报海报;10-29 完成「全量数据源 → β 定点编排」的重构方案。
  • WhatsApp 养号:工具组 + 设备×业务日派工聚合 + 日历计数 + 独立页面 + 生产实测 + 视觉重构;顺带修掉「动作清单首尾归位」这类真会跑错顺序的 bug。
  • 设备侧联调:TikTok / 抖音 / 直播 / 话题获客 / 每日采集多个子 exe 的 E2E 实测与卡点定位,输出给脚本组的问题清单(历史回溯 yt-dlp 无条数上限、永久失败任务不计批次、兜底网关硬编码老机等)。

六、前端与后端:把能力做成产品

6.1 前端

  • 导航重构:获客/视频合并为「运营」,创作台与 AI 生图独立成「创作」段;设备列表并入概览卡片弹窗,TikTok 模块退出 rail;深链保留。
  • 档案终端 / 运营档案面板:移植 RhineLabUI 的动效与交互模型,档案面板扩到 20 个页签、六列、逐字段展示,取数复用现有接口、零新端点;权限默认只给管理员/开发者。11-08 ~ 11-09 根据实际体验回退了 RhineLabUI 换肤与对话侧栏入口,保留运营组档案面板——这是一次有价值的「试验—回退」,不是所有参考站的设计都适合生产。
  • AIGC 工作台:生图工作台、AI 视频页、配音独立页/studio 入口、任务历史音频/图片产物、模型档位中文标签(Veo 3.1 四档 / Kling 3.0 两档)。
  • 业务页面:海外大盘看板、我的店铺、TikTok 广告投放、数据日历、卖卡链路(卡密订单 / 授权卡 / 我的订单)、设备卡密激活、政策与协议面板。
  • 对话体验:引用来源卡、在途回合续接、实时用量帧、语音播放条、插话打断乐观定格、任务草稿/获客表单卡片不再轮播虚构阶段。
  • 工程细节:路由 glob 排除测试文件(生产包不再打入 29 个 *.test chunk)、懒加载退避与 ErrorBoundary、暗色覆盖生成器认全色写法、Tooltip 限高、CI/CD 管理页与部署审计。

6.2 后端

  • 认证:RefreshToken 静默续期——access token 过期用 refreshToken + Redis 刷新记录换新,账号级 7 天滑动窗口多端共享,桌面壳/网页不再逐字比对 refreshToken 互顶。
  • 安全与权限:前端 AI 请求改由服务端中转,前端不再持有上游 key;菜单权限缓存启动时全量清理;/cardSale/close 补挂权限树;19 位 bigint 主键防 float64 精度丢失。
  • AIGC:生图 v2 全链路(proto / 网关路由 / 积分预估 / 任务提交 / 状态同步);KIE 视频模型全量接入(Veo 3.1 / Kling 3.0 / Seedance 2.0)并支持下架开关;MiMo TTS 音频生成与配音成片落库、计费。
  • 素材与保留期:监听素材云端 7 天过期 + 本机副本回传;生图产物「云端 7 天、本地归档永久」清理 job;视频产物确认无业务过期,只在 30 天后转低频存储。
  • 设备与支付:删除设备解绑 TikTok 账号流水、按设备号搜索人设、新增设备部分成功、跨租户「重新绑定到当前平台」;卖卡未付款单可作废,EC 账号手机号不再是激活门槛。
  • 网关与发布:material protoset 纳入版本管理、蓝绿等就绪再切流、启动探活失败不删路由、/health 免鉴权探针、部署时同步 gateway.yaml。

6.3 其他仓库

  • autodl-orchestrator:OOM 处理重构——首见即终态 failed 落库后再 power-cycle 洗显存,提交前显存预检;10-20 更新 Gitee 远端凭据账号。
  • back_tk_message_app:聚合聊天队列终端状态更新兜底——上报字段入库前截断,confirming / failed / sent 仅置状态 fallback。

七、这个月 vs 上个月

维度 上个月 这个月
主题 AI 智能体引擎系统化(α→β)、托管运营、线上稳定性 桌面端落地、数据大盘、平台工程化与交付流水线
主阵地 本地 5 个公司仓库,xlagent 为核心 三主仓 487 次提交:xlagent 167 / frontend 211 / backend 109(全仓合计 490)
关键词 agentcore、MCP、工具循环、守卫看护、预算护栏、多模态 桌面壳、新机迁移、CI/CD 自举、蓝绿、海外大盘、TikTok Shop/Ads、设备人设、ASR/TTS
风格 做出一个「自己会跑又不会失控」的智能体引擎 把引擎装进用户电脑,把数据接进来,把发布交给流水线

上个月的关键词是「引擎重构」——把单会话问答改造成带工具循环、任务托管、守卫与预算的 β 引擎。这个月则是产品化交付:同一套引擎通过桌面壳进入用户电脑,通过每日快照接上真实数据,通过 CI/CD 把发布变成可审计的流水线。技术栈没有变,变的是「离用户有多近、离生产有多近」。


写在最后

这个月最核心的变化是交付形态:AI 不再只在浏览器里回答问题,而是能读用户本机文件、调用本机 ffmpeg/SoX、使用本机 yt-dlp 的登录态、直连用户自己的本地模型;数据不再靠人肉整理,而是每天自动落成快照;发布不再靠 scp,而是 WebHook → 构建 → 人工审批 → 蓝绿切流。

几点反省:

  • 「代码完成」不等于「业务可用」:妙手工具族 192 个端点已写完,但缺凭据与 IP 白名单;TikTok Shop 官方线卡在应用审核;TikTok Ads 还差 DNS、redirect_url 与一次真实 OAuth。外部依赖没到位时,功能只能算半成品。
  • 参考站的设计不能直接等于可用性:档案终端在对话侧栏的入口与部分 RhineLabUI 换肤在 11-08 ~ 11-09 被回退,说明「看起来酷」和「每天用起来顺」是两回事,以后这类移植要先小范围试用再铺开。
  • 提交纪律仍要收紧:11-09 三仓仍有 65 个文件未提交(xlagent 40 / frontend 15 / backend 10),主要是商品详情页与去重/混剪/裂变的在途改动;署名也仍有 hym / Heyiming / woop / zcodeh 多套身份。下个月把「先提交再继续」和统一署名变成硬习惯。

下月目标:

  • 补完「商品上架 → 商品详情页 → 独立站」的带货闭环(妙手凭据 + 商品源 + 价格/SKU/库存)
  • 把混剪/去重/裂变收进 β 工具面,形成可对话发起的完整视频裂变链路
  • 让日报真正跑在「全量数据源 → β 定点编排」上,规则渲染只做兜底
  • 补客服回复与包装策略两个半成品,把 Agent 从「会执行」推进到「会运营」
  • 统一 commit 署名与提交规范,减少「完成但未提交」的时间差

继续加油。