/* 2026-09-11 09:02 完整版方案差距修复(老板指 docx 项目方案对照):①D1 通用台账层(迁移0020:rural_ledger_types 类型注册 12 类内置——平安/党建/三资/集体/移风易俗/会议/公章/证明/临时救助/三留守/退役军人/三长制巡查 + rural_ledger_records 通用记录表「只存业务字段 JSON+引用户/人主索引」,CRUD API+rural.html 待接前端);②D2 订阅 enforcement(功能开关=计费开关落地):buildRuralHubModules 校验乡村租户 tenant_subscriptions active(无/过期→空间不渲染+teaser 置灰接管),batch3 测试底座补订阅断言全过;③D3 报表 CSV 导出 /api/rural/stats/export(户/人/走访/标签分布,迎检材料一键下载);④D4 村民端办事指南(5 高频事项:条件/材料/流程/地点)+ 在线申请(reports 类别扩展证明开具/低保申请/宅基地申请→村委队列闭环)+ villager.html 办事 tab;⑤D5 规则引擎 severity 分级字段(0020 附带);⑥E2E dclass 10/10;全量回归 10 套 125 断言全过、tsc 0(并行 WIP 除外)、health 200。方案 6.x 功能全集对照后剩余:方言云端 TTS/养老认证刷脸/亲情连线/打卡签到/一户一图 SVG(均 P1/P2 或需硬件)。 */ /* 2026-09-11 08:50 B类4项全部完成(老板「请都改好」):①B2 分账 CSV+合同分成(迁移0018 partner_contracts):登记→回款确认(状态机 registered→paid→shared 防重复分成)→思洋分成自动入伙伴钱包(commission 账本幂等键 contract:合同号)+ GET /api/admin/settlements/:id/csv(账期流水快照导出,含用量成本明细);②B4 gov/edu 空间点亮(迁移0019 hub_config:政务 5 模块+2 智能体/教育 4 模块+2 智能体)+ workbench buildRuralHubModules 泛化(按 effective vertical 读配置渲染,乡村引导行仅 rural 注入);③B3 白标前端接入:rural.html/villager.html/partner-portal.html 三页 applyBranding(GET /api/public/branding→title/站点名/--xk-accent 主色覆盖);④B6 确认:全部 8 个 /api/partner/* 路由均经 requirePartner(每请求查 partner_memberships,撤销即时失效)——行为已达标无需新代码;⑤E2E bclass 9/9;全量回归 8 套 108 断言全过(0/14+1/13+2-rule/9+2-rural/15+3/12+4/14+5/8+aclass/8+bclass/9);tsc 0(并行 WIP 除外)、health 200。至此 B 类 6 项全部清零(B1 consent 前轮已交付),方案 A+B 类遗漏全部完成。 */ /* 2026-09-11 08:35 审计报告响应:A9 收尾提交 + B5 走访拍照语音 + B1 consent 录入——①A9 workbench.ts 提交(乡村租户智慧闭环追加「村务」环);②B5 走访留痕增强:表单支持照片多选上传(复用 /api/user/upload→photoRefs)+ 语音文件转写(复用 /api/audio/transcribe→文本并入纪要,voiceNoteRef 归档),列表显示照片×N/语音标记;③B1 consent 授权链录入:POST/GET /api/rural/consents(按户登记:类型 data_collect/share/photo、同意/拒绝、纸质/电子/口头见证、凭证引用)+ rural.html 新增「授权登记」「大喇叭」tab(Web SpeechSynthesis 本地播报+三模板,方言云端 TTS P1);④迁移0017 rural_consents 补 household_id 列(0008 遗漏);⑤修复 rural-extra.js 文件损坏(全量重写 v2)+ consent INSERT 漏列;⑥consent 冒烟 3/3、双 script 语法全过、tsc 0、health 200。 */ /* 2026-09-11 07:03 A类剩余6项一次性完成(老板「请一次性完成」):①A3 层级下钻(改造方案4.1):rural-data-module 新增 resolveRuralViewTenant(乡镇 parent 管理员经 x-rural-view-tenant 下钻直接下级村:households/stats 汇总视图+isDrillDown 标记,非上级关系 403);②A1 台账模板库(迁移0015 rural_ledger_templates+平台五类模板种子:低保/五保/监测/残疾/补贴,columns_json 列映射 schema):GET/POST /api/rural/ledger-templates+导入 templateId 必填列校验(缺列 400 拦截);③A2 规则定时/增量触发:runActiveRulesForTenant 核心抽取+POST /api/rural/rules/run-all 批量触发+setInterval 每小时全租户扫描(UNIQUE 去重幂等,timer.unref);④A5 结算用量源:generate 聚合伙伴名下租户当月 consumption_records 金额(usage cost+byTenant 入快照与响应);⑤A7 订阅状态机(迁移0016 tenant_subscriptions):开单事务自动创建 1 年期订阅/同包未到期续费顺延/惰性过期 expired/租户+平台查询接口;⑥A8 伙伴自助端 public/partner-portal.html(design-baseline 规范:KPI 卡/概览/报备提交与列表/订单/账本四 tab,session 伙伴身份 resolvePartnerForUser);⑦E2E aclass-verify 8/8;全量回归 batch0 14/14+1 13/13+2 24/24+3 12/12+4 14/14+5 8/8+tsc 0(并行 WIP 除外)+health 200。至此方案 A 类 9 项遗漏全部清零。 */ /* 2026-09-11 06:43 方案对齐审计+A类修复(老板「重新对齐方案看遗漏」):①产出 docs/方案对齐遗漏清单-2026-09-11.md(A类 P0 真遗漏 9 项/B类 P1 待续 6 项/C类批次5-6 排队);②A6 修复:迁移0014 FTS5 外部内容触发器+rebuild 重建(此前建而不用),kb search 改 FTS5 MATCH(关键词 AND 组合防注入);③A4 修复:crm-gate 新增 expireStaleDeals 惰性过期(到期活跃报备自动转 expired 释放锁定),gate/partner deals/报备提交三入口接入,实测 locked→expired ✓;④回归 batch4 14/14。A类剩余:A1 台账模板库/A3 层级下钻/A5 结算用量源/A7 订阅状态机/A8 伙伴自助端 UI/A9 buildLoop vertical。 */ /* 2026-09-11 02:20 村民上报处理闭环补全:rural.html 新增村民上报 tab(随手拍队列/办结/已办结切换),村民服务端提交→村委处理→办结全链路可用;同时修复注入代码转义损坏(重构为 rural-extra.js 独立文件,node --check 验证)。 */ /* 2026-09-11 02:15 村民服务上架应用中心(老板「模块移到应用中心作为一个应用」):deploy-routes marketplace 接口注入系统内置应用 builtin_villager_service(locked=true 禁编辑删除/发布=广场可见/点击经既有 openAppViewer 打开 /villager.html),全端一致(个人/企业态/未登录均可广场看到);实测 marketplace 含村民服务条目。 */ /* 2026-09-11 01:26 村民端 P0 提前交付(老板点名 uni-app):①后端 villager-module(迁移0013 villager_reports):补贴查询(本人姓名+身份证 hash 比对仅查本人,脱敏输出,防枚举/跨村隔离断言)、随手拍上报(类别白名单/5-500字/匿名+联系方式)、公告列表、村委处理队列与闭环 resolve;②villager-app/ uni-app 标准工程(manifest/pages.json/main.js/App.vue+4 页面:首页大字版四宫格/补贴查询/随手拍/公告,Vue3 语法,乡村绿单强调色/无 emoji/表单 label 在上/四态完整/:active 反馈,语音助手入口置灰标即将上线);编译目标=微信小程序+H5+App(HBuilderX/CLI 打开 villager-app 目录即可);③E2E batch5-villager-verify 8/8(含 V1 本人凭证/V2 防枚举/V3 跨村隔离三安全断言)。 */ /* 2026-09-11 02:30 新开发内容全面审计(老板指令):静态扫描(SQL 拼接注入面/明文身份证/伙伴触碰 rural/前端裸插值)+ 越权实测 12 断言(个人态 403/A村B村横向隔离 404/规则跨村不可见/非平台管理员结算与审核池 403/品牌越权 403/SQL 注入存活/模板 esc 全覆盖/盐文件权限)。修复 3 项:①rural-salt 盐文件写权限 600 + 存量 chmod 600(C-08 密钥托管);②settlement/kb 平台管理员判定统一复用 isPlatformAdminUser(与 server.ts 同源,含 E5EAI_ADMIN_USERS);③审计脚本沉淀 scripts/audit-xk-dev-20260911.mts 可重跑(12/12 PASS)。结论:SQL 全参数化无注入面、rural 零伙伴路由红线保持、横向隔离生效、前端转义完整。 */ /* 2026-09-11 01:03-02:30 批次4 全量交付(老板授权全面完成方案):①4A 结算(迁移0011 settlement_batches+settlement-module):partner_ledger 按月聚合→快照冻结(账本条目清单+四项总额+净额)、同(partner,period)唯一、重复生成=重放对账(逐项比对差异写 diff_note,>1% 告警标记,不覆盖原快照)、rules_version 隔离历史;修复实测 bug(purchase 账本已带符号负数,净额公式双重负号);②4B 公共知识库(迁移0012 kb_public_docs+FTS5 虚表+kb-public-module):投稿 pending→平台审核 approved/rejected→published 才可检索(授权红线:未审核/拒绝稿/跨 vertical 均不命中)、来源署名可追溯、检索强制带 vertical;③4C 白标(brand-module):GET/POST /api/public/branding(tenants.branding_json 覆盖 site_name/logo_url/primary_color/powered_by,默认 Powered by 开,租户管理员限定),优先级=租户覆盖>系统默认,不动存量品牌渲染链路零回归;④平台管理员判定统一为 user_profiles.is_platform_admin(与 server.ts:24694 同源);⑤E2E batch4-verify 14/14;全量回归 batch0 14/14(C-02 断言更新为放量语义:仅允许 sme/rural)/batch1 13/13/batch2 24/24/batch3 12/12;tsc 0(并行 WIP 除外)、health 200。批次4A/4B/4C 三线全部交付,方案 P0/P1 可自主开发部分完成。 */ /* 2026-09-11 00:57 批次2 全量收尾(一次性完成):①迁移0010 rural_visits 走访留痕表(日期/走访人/纪要/语音引用/照片引用/待跟进);②rural-data-module 新增走访 API(列表/新增/删除)+ 报表统计 /api/rural/stats(户/人/走访/近30天/标签分布 json_each/户类型/规则核验率);③rural.html 新增 政策找人(规则列表/新建/激活/退役/试运行/执行/命中核验属实误报上报+强制声明展示)/走访留痕(选户+日期+纪要+跟进)/报表(统计卡+标签分布+核验率)三个 tab;④回归:batch2-rule 9/9、batch2-rural 15/15;tsc 0(admin-module WIP 除外)、rural.html 200、health 200。 */ /* 2026-09-11 00:15 一户一图聚合接口上线:GET /api/rural/households/:id/full(户档+脱敏成员+标签汇总),规则引擎与图视展示的数据依赖;E2E 15/15。 */ (feat(工作台): 我的进度聚合日程与定时任务(未来7天)——点行去日历管理(老板指令 2026-09-08)) 思洋 平台功能白皮书 & 用户指南

思洋 平台功能白皮书

核心引擎 用户体验 跨模态能力 安全与合规 开发日志 返回主应用

🚀 生产力引擎:快速上手指南

V5.2.0: 🔧 视频预览卡片缺陷修复 — 去重 + 重试限制

  • 修复:fetchVideoTaskResult(null) 无限重试循环 — 缺少重试上限,添加最多 10 次重试(20 秒后放弃并显示错误)
  • 修复:fetchVideoTaskResult(taskId) 状态为 running/pending 时的无限重试 — 改为最多容错 1 次(独立轮询会接管后续追踪)
  • 修复:checkRunningTasks 与 startBackgroundTaskPolling 使用独立去重集合导致重复注入 — 统一使用 _seenVideoTasks + _lastNotifiedTaskIds 双集合去重
  • 修复:renderVideoInPreviewCard 渲染完成后未标记任务为已见 — 添加 _seenVideoTasks.add() 防止后台轮询再次注入相同视频

V5.2.0: 📋 侧边栏精简 — V5.0 系统工具迁移至总后台

  • 移除:左侧用户侧边栏移除「V5.0 上下文监控」和「V5.0 会话管理」入口,减少普通用户视觉噪音
  • 新增:管理后台 (admin.html) 新增「V5.0 系统工具」导航分组,包含上下文监控和会话管理入口
  • 设计理由:上下文监控和会话管理属于运维/管理工具,不适合直接暴露给终端用户

V5.2.0: 🎬 即梦风格视频预览卡片 — 对话窗口内嵌实时进度 + 回访恢复

  • 新增:视频预览卡片系统 — 仿即梦平台设计,提交视频/数字人后对话窗口自动插入预览卡片,显示深色渐变背景、脉动图标、实时进度条和耗时
  • 新增:双通道进度轮询 — SSE video_progress 事件 + 独立 HTTP 轮询 (startVideoPreviewPolling),SSE 断开后仍持续追踪任务状态
  • 新增:完成自动播放 — 任务完成后预览卡片直接切换为内嵌视频播放器,无需刷新页面
  • 新增:失败提示 — 任务失败时卡片变为红色警告,5秒后自动淡出并显示错误原因
  • 新增:页面回访恢复 — restoreVideoPreviewCard 检测未完成任务,用户重新打开对话窗口时自动恢复预览卡片和轮询
  • 重构:Agent 路径统一任务管理 — generate_video / generate_digital_human Agent 工具现在创建内部 TaskRecord,统一走任务中心 + executeVideoTask 生命周期管理

V4.74.0: 🗂️ 聊天生成媒体一键跳转云盘位置

  • 新增:查看云盘位置按钮 — 对话中生成图片/视频后,预览卡片下方新增「查看云盘位置」按钮(文件夹图标),点击直接打开个人云盘并自动定位、高亮滚动到对应文件
  • 智能识别存储位置 — 自动从生成结果 URL 解析出云盘中的实际文件路径,无需用户手动翻找(对话生成/任务轮询/历史消息恢复全部覆盖)
  • 定位高亮 — 云盘中目标文件卡片带蓝色描边脉冲高亮并自动滚动到视口中央,5 秒后恢复
  • 变更文件: public/static/js/chat.js、public/static/css/main.css

V4.73.0: 🏢 企业管理后台系统化升级 — 成员信息完善 + 企业资料扩展

  • 新增:成员资料字段 — 真实姓名、手机号、邮箱、职务、个人简介
  • 新增:成员详情/编辑模态框 — 点击成员查看完整资料,支持在线编辑保存
  • 新增:企业资料字段 — 所属行业、联系电话、联系邮箱、企业地址
  • 优化:成员列表 — 显示姓名、职务、手机号,替代原有仅显示用户ID
  • 优化:成员名片 — 展示完整信息(姓名/职务/部门/手机/邮箱/简介),hover 交互效果
  • 优化:仪表盘 — 展示企业行业、联系方式、地址、介绍等完整信息
  • 优化:企业设置 — 双列布局,新增行业/电话/邮箱/地址字段
  • 优化:成员搜索 — 支持按姓名、手机号、职务、昵称多维度搜索
  • 增强:成员详情 — 展示操作次数、本月消费、Token用量等统计
  • 新增:API — PUT /api/enterprise/members/:userId/profile 更新成员资料

V4.72.0: 🎨 Agent 绘画提示词智能增强 — 大模型分析意图 + 多提示词生成

  • 新增:Agent 绘画模式新增「大模型分析意图并优化提示词」步骤
  • 优化:LLM(qwen3.7-plus)自动分析用户意图,输出优化后的英文绘画提示词
  • 新增:支持多提示词生成 — LLM 输出多个增强提示词时,连续生成对应多张图片
  • 新增:服务端 /api/agent/enhance-prompt 端点,专用于绘画提示词增强
  • 优化:触发 Agent 绘画时显示「🧠 大模型正在分析意图并优化绘画提示词...」状态
  • 增强:保留原始提示词作为保底,LLM 服务不可用时自动降级

V4.72.0: ComfyUI 自定义生图异步任务化 — 彻底消除超时错误

  • 核心修复:ComfyUI 文生图(/api/comfyui/generate)与图生图(/api/comfyui/edit-image)从同步阻塞模式改为完全异步任务模式
  • 同步模式下 ComfyUI 排队时 120 秒超时报错的问题已根治
  • 提交生图请求后立即返回 taskId,后台无限轮询(不设超时)直到 ComfyUI 完成
  • 支持排队感知:ComfyUI 繁忙时自动显示排队位置(前方N个任务)
  • 任务中心集成:生图任务自动注册到用户任务中心,离开对话框后可随时查看进度
  • 服务器重启恢复:任务状态持久化存储,重启后自动恢复轮询(不丢任务)
  • 网络中断保护:每 2 分钟自动扫描丢失轮询的任务并恢复,30 秒无响应自动重连
  • 取消支持:在任务中心可取消正在排队/执行中的生图任务
  • 前端适配:生成中显示等待时长(分钟),不再假死卡住
  • 技能端点同步升级:/api/skills/:skillId/comfyui/generate 也改为异步模式
  • 文件变更:hyperframes-module.ts(新增 executeComfyUIGenerateTask 后台执行器)、skills-routes-module.ts(新增 executeSkillComfyUITask)、chat.js(三处异步轮询改造)、server.ts(恢复跳过+deps 透传)

V4.71.2: 🛠️ ComfyUI 工作流导入修复 + AI 增强 + 模型广场配置管理

  • 新增:管理后台 → 模型管理 → 模型广场 支持修改 API 地址和密钥
  • 优化:模型广场 URL 现在可从后台配置,不再硬编码
  • 修复:导入 ComfyUI 工作流时自动将 UI 格式转换为 API 格式,确保生成功能可用
  • 新增:导入工作流后自动调用大模型分析,自动生成技能名称、描述和使用说明

V4.71.1: 🗑️ 移除即梦(Jimeng)图片生成引擎

  • 移除:即梦 4.0 文生图 / 图生图所有后端代码(generateJimengImage / generateJimengImg2Img)
  • 移除:api-key.json 中的 volc_ak / volc_sk 密钥
  • 移除:@volcengine/openapi npm 依赖
  • 移除:模型广场中的「即梦 4.0」「即梦 图生图」内置模型
  • 移除:即梦作为 ComfyUI 备选引擎的所有兜底路径
  • 移除:前端模型图标中即梦的 SVG 图标
  • 替代方案:图片生成仅通过 ComfyUI(qwen-image 技能)

V4.71.0: 🛠️ 技能路由修复 — 技能引用不再被跳过

  • 修复:技能检测(detectSkill)改为评分制,匹配更精准的而非数组第一个
  • 修复:技能检测结果实际影响路由(modelOverride + handlerName 绑定)
  • 修复:意图关联技能(relatedSkills)反向查找,技能触发不依赖 sub-string 匹配
  • 修复:前端技能引用卡片发送时不会被提前清除,_checkSkill 能正确检测
  • 修复:技能引用文本包含 (id: xxx),regex 检查也能匹配
  • 新增:SkillInfo 接口增加 modelOverride/handlerName 字段
  • 新增:前端 SSE 处理 skill_detected 事件,thinking 区域显示技能激活消息

V4.64.1: 🎬 画面分析超时修复 + 封面兜底 + 状态匹配修复

  • Phase2 超时修复:Promise.race 30s → 90s,3帧画面分析不会因超时被截断
  • 封面兜底:无 og:image 时自动使用视频第一帧截图作为封面分析
  • 状态匹配修复:卡片渲染兼容异步任务返回的 completed 状态(之前只匹配 complete)

V4.64.0: 🎬 视频分析异步化 — 彻底解决 Apache 代理超时

  • 根因修复:Apache 代理默认 60s 超时导致视频分析返回 HTML 错误页 → 前端 JSON 解析报 Unexpected token '<'
  • 异步任务模式:POST /api/analyze/video 立即返回 { taskId, status: 'pending' },后台执行分析
  • 进度追踪:任务系统实时更新进度(0-100%),前端每 3s 轮询显示进度
  • 结果查询:GET /api/analyze/video?taskId=xxx 查询完整分析结果
  • 不影响现有功能:轮询结果结构与旧同步响应完全兼容
  • 任务清理:Playwright 视频临时文件分析完成后自动删除

V4.63.2: 🎬 抖音视频分析 — Playwright 直接下载视频 + 本地音频提取

  • 核心修复:yt-dlp无法下载抖音视频、ffmpeg无法从远程URL提取音频的问题
  • Playwright 脚本增强:douyin_analyze.cjs 新增视频下载功能,利用浏览器上下文(含Cookie)直接下载视频到本地
  • 视频文件:保存到任务目录 video.mp4,支持后续 ffmpeg 本地音频提取
  • node:http/https 下载:使用 Node.js 原生模块,传递 Cookie + UA + Referer 头,支持重定向跟随
  • ffprobe 时长探测:下载完成后自动探测视频时长,存入 info.duration
  • server.ts 增强:Playwright 回退时用 ffprobe 探测本地视频文件的时长,确保 Phase 2 画面分析正常触发
  • 错误处理:下载超时(120s)、HTTP 非 200、重定向、文件大小检查等全面覆盖

V4.57.0: 💰 后台管理系统 Phase 4 — 扣费集成 — 权限系统集成 — 用户管理完整UI — 基础设施

  • 新增 admin-module.ts:SQLite 数据库(14张表) + 权限引擎 + 财务引擎 + 用户管理 + 统计
  • 种子数据:39条权限定义 + 6个预设角色 + 4个会员计划 + 3个企业计划 + 10条定价
  • 用户迁移:15618615453 → 超级管理员+高级会员,其余 → 免费会员
  • 管理员认证:isAdmin() + requireAdmin 中间件
  • 权限引擎:checkPermission(userId, permKey) + 角色权限通配符
  • 财务引擎:charge() 扣费 + 交易记录 + 消费明细 + 月度账单
  • 充值系统:管理员手动充值 + 订单管理 + 审计日志
  • 36 个管理 API:企业CRUD/会员管理/部门管理/角色权限/交易记录/定价/系统设置
  • admin.html:独立管理后台页面(SPA),含仪表盘+8个子页面
  • 登录同步:用户登录时自动同步到后台系统 + 更新最后登录时间

V4.54.1: 💰 扣费系统全面修复

  • 修 BUG:9处 .catch(() => {}) 全部改为检查 success 返回值,扣费失败不再静默吞掉
  • 补漏点:非流式聊天(stream:false)、画布生图(批量+单张+img2img)、画布分析、ComfyUI视频/编辑、阿里云TTS — 9个缺失点全部补齐
  • 新增支付:Omni实时通话(按分钟)、文件解析、KB知识嵌入 — 3种幽灵资源全部落地
  • 免费限制:执行30次对话/天限制(429拦截) + 生图次数限制,超出即拒绝
  • 余额预检:非免费用户聊天前检查余额,不足返回402拦截(无需等调用完AI再失败)
  • 每日用量:新增 daily_usage 表自动记录,charge()内部自动增量,无需各处手写
  • 扣费点总计:24处覆盖9种资源类型(image_gen×9, tts×4, token_input×4, token_output×3, video_gen×2, hyperframes×2, plan.upgrade×1, omni_realtime×1, file_parse×1)

V4.54.0: 👥 用户等级体系全面升级

  • 注册升级:新增用户类型选择(普通用户/企业用户),注册时同步到数据库
  • 等级系统:免费版/普通会员/中级会员/高级会员 四档套餐,含月度价格和权益列表
  • 会员中心:侧边栏等级徽章 + 余额显示,点击进入会员中心查看套餐和升级
  • 充值系统:支持¥10-1000六档预设金额+自定义金额,创建充值订单
  • 后端API:新增 GET /api/user/profile、GET /api/plans、POST /api/user/recharge、POST /api/user/upgrade-plan、GET /api/user/transactions
  • 登录增强:登录响应返回用户等级信息,前端自动加载完整资料

V4.53.1: 🔒 安全漏洞修复 + 🐛 布局修复

  • 修复 Body username 认证绕过:移除通过 body/query 参数直接认证的宽松回退机制
  • 修复邮件内部调用绕过:x-internal-call 头现在仅允许本机 localhost 调用
  • 修复 TTS 端点无认证:/api/tts 和 /api/tts/edge 现在需要登录认证
  • 修复 HyperFrames 渲染路径遍历+无认证:强制使用已认证用户身份,拒绝 body 传入的 username
  • 收紧 WebSocket 认证:移除同源浏览器无条件放行规则,仅允许 Token/Session 认证
  • 修复聊天窗口布局崩坏:content-wrapper 从 flex:0 0 auto 改为 flex:1 1 0%,修复输入框位置漂移、对话无法滚动、元素重叠三大问题

V4.53.0: 会议全屏音波动画 + 停止回复

  • 🎵 实时音波动画:会议全屏模式输入框上方新增中心对称条形波动画,根据麦克风音量实时律动,无麦克风时显示优雅空闲动画
  • ⏹ 发送→停止按钮:发送消息后发送按钮自动变为红色停止按钮,点击即止所有 AI 回复
  • 🔄 无限循环讨论:停止后可立即输入新议题进入下一轮,无需退出会议
  • 支持多模型会议和 Agent 会议两种模式

V4.52.4: 自定义模型能力开关

  • 能力开关按钮: 自定义模型添加/编辑时,每行模型新增「文字」「视觉」「语音」「工具调用」四个可点击切换的标签按钮
  • 视觉识别: 勾选「视觉」后,该模型可正常上传和识别图片(之前自定义模型被写死无法传图)
  • 能力持久化: 每行模型的能力设置保存到 localStorage,编辑时自动回显
  • 服务端支持: 图片消息路由时也会检查自定义模型的 vision 能力字段
  • 变更文件: public/static/js/custom-provider.js、public/static/js/chat.js、public/static/css/main.css、server.ts、public/index.html、public/user-manual.html

V4.52.3: 会议/对比模式全屏按钮

  • 对比模式全屏: 面板操作栏新增全屏按钮(展开箭头图标),点击后全屏显示对比网格,右上角红色圆形关闭按钮
  • 会议模式全屏: 会议顶栏新增全屏按钮,全屏后获得更大聊天空间,同样支持右上角关闭
  • 全屏同步: 全屏状态下响应面板的内容变更,关闭时同步回原始面板
  • 变更文件: public/static/css/main.css、public/static/js/chat.js、public/index.html、public/user-manual.html

V4.52.0: Phase 1 需求分析深度升级

  • Phase 1 拆分为两步: 1a 需求理解(搜集上下文+技能+智能体+模型+附件)→ 1b 方案设计(基于分析报告输出JSON Plan)
  • 资源感知: 自动收集可用技能、智能体、模型,注入分析prompt供AI参考调用
  • 附件理解: 从消息中提取图片URL和文本附件内容,纳入需求分析
  • 分析报告: 输出6维度分析(需求本质、目标用户、核心功能、资源匹配、技术建议、风险点)
  • 变更文件: server.ts、lens-orchestrator.ts、public/index.html

🔖 V4.51.0 里程碑: 编排引擎全链路可用版本

  • 全链路生成: 需求分析 → 素材生成(qwen-image) → 前端代码 → 后端代码,一个请求完成
  • 续写机制: 标准 messages 格式,从截断点精确接续(max_tokens 16384 默认够用)
  • 流式代码块: 前后端代码均在对话窗口以代码块实时流式展示
  • 文件名修复: 单 ===FILE: 标记正确解析,中文标题自动 fallback
  • 全屏预览修复: top-nav 随全屏预览正确隐藏
  • 色彩统一: body/main-content/content-wrapper 统一 var(--bg-main)
  • 变更文件: server.ts、lens-orchestrator.ts、public/static/css/main.css、public/index.html

V4.50.5: 编排引擎续写机制重构 + 稳定性修复

  • 续写改为标准 messages 格式: 复制完整对话历史 + 半截输出 + "继续",从截断点精确接续
  • Prompt 消除矛盾指令: 移除多文件/单文件冲突,强制单文件内联输出
  • max_tokens 提升: 代码生成从 8192 → 16384,支持完整应用生成
  • 文件名安全增强: 纯中文标题自动 fallback 到 application.html
  • 续写 markdown 清理: 自动剥离续写输出中的 ``` 标记
  • body/toast padding 禁止: Prompt 明确禁止 body 和 toast 的 padding
  • 变更文件: server.ts、lens-orchestrator.ts、public/index.html

V4.48.0: 云盘缩略图模式

  • 显示方式切换: 批量操作按钮后新增视图切换按钮,支持卡片模式/缩略图模式切换
  • 缩略图模式: 图片/视频/音频以大缩略图方式展示,更直观地浏览媒体文件
  • 悬停操作: 媒体文件的操作按钮鼠标悬停时才显示,不遮挡缩略图内容
  • 视图偏好记忆: 视图模式保存在 localStorage,下次打开自动恢复
  • 变更文件: public/index.html、public/static/js/chat.js

V4.24.1: 工作流编辑器全面修复(第二轮) — 内联编辑 + 属性面板 + 画布平移

  • _wfInlineField 缺失修复: 节点内嵌输入框/下拉框编辑不保存的 bug,新增完整 inline field 同步函数
  • 属性面板冲突修复: 所有内嵌 input/select 添加 stopPropagation,点击编辑不再误开属性面板
  • 画布平移体系: 新建/编辑统一画布中心定位 + 滚轮翻页 + 方向键微调 + 右键/Space拖拽 + 双指触控
  • 变更文件: public/static/js/chat.js

V4.23.4: 智能 padding — 平衡节点可见与平移空间

  • 自适应公式: pad = min(25%视口, max(0, 最左节点-30px)),节点靠左时用小padding保可见,靠右时用大padding保平移
  • 变更文件: public/static/js/chat.js

V4.23.3: 编辑时节点可见 + 足量平移空间

  • 修复: _wfFitView padding 从 25% 提升到 66% 视口 (1200px宽屏=792px padding),兼顾节点可见与四向平移
  • 变更文件: public/static/js/chat.js

V4.23.2: 编辑工作流智能体画布居中 — 与新建统一

  • 根因: 编辑已有工作流时 _wfFitView 将 scrollLeft/Top 覆盖为靠近节点的位置,导致右/下平移空间不足
  • 修复: 移除 _wfLoadWorkflowV2 中的 _wfFitView 自动调用,编辑和新建统一使用画布中心定位 (scrollLeft=3400, scrollTop=3602)
  • 用户仍可通过「自适应」按钮手动居中节点
  • 变更文件: public/static/js/chat.js

V4.23.1: _wfFitView 最小滚动 padding — 编辑内置智能体时右/下平移修复

  • 根因: _wfFitView 用 Math.max(0, ...) 计算 scrollLeft/scrollTop, 节点靠左时 clamp 到 0 导致无向右/下拖拽空间
  • 修复: 自适应视图底部添加 25% 视口最小 padding (scrollLeft≥vw*0.25, scrollTop≥vh*0.25)
  • 变更文件: public/static/js/chat.js (_wfFitView)

V4.23.0: 工作流画布初始居中 — 修复无法向右/向下平移

  • 根因: 打开工作流编辑器时 scrollLeft/scrollTop = 0, 平移公式 drag-right → scrollLeft 负数 → 浏览器clamp到0 → 感知"无法向右/下移动"
  • 新建工作流: 初始滚动到 8000x8000 画布中心, 四个方向均可自由平移
  • 编辑已有工作流: 加载后自动调用 _wfFitView 自适应居中
  • 变更文件: public/static/js/chat.js

V4.22.22: 10大企业工作流智能体(工作流模式重构)

  • 全部切换为工作流模式:每个Agent包含完整的DAG节点图(nodes+edges)
  • 智能客服 🎧 (4节点3边): Start→意图分类LLM→专业回复LLM→Answer
  • 数据分析专家 📈 (4节点3边): Start→Python代码探索→AI报告生成→Answer
  • 代码审查官 🔍 (4节点3边): Start→代码文件扫描→安全/性能审查→Answer
  • 文档撰写助手 📝 (4节点3边): Start→文档类型分类→模板化撰写→Answer
  • 邮件管家 📧 (4节点3边): Start→场景分类→商务邮件撰写→Answer
  • 会议纪要生成器 🎙️ (3节点2边): Start→LLM提取纪要→Answer
  • 竞品分析师 🔎 (4节点3边): Start→HTTP搜索→LLM分析→Answer
  • 合同审查助手 ⚖️ (3节点2边): Start→LLM审查→Answer
  • 社交媒体运营 📱 (4节点3边): Start→平台识别→多平台内容→Answer
  • IT运维助手 🖥️ (4节点3边): Start→Bash诊断脚本→AI排障→Answer
  • 工作流引擎DAG拓扑排序执行,同层节点并行,VariablePool跨节点传参
  • 测试通过:SSE事件流完整(workflow_start→node_start→node_end→workflow_done→done)

V4.22.21: 10大企业智能体内置上线

  • 智能客服助手 🎧:处理客户咨询、投诉、售后,支持多轮对话理解意图
  • 数据分析专家 📈:CSV/JSON/Excel数据读取,Python分析,可视化图表,洞察报告
  • 代码审查官 🔍:安全漏洞、性能瓶颈、代码规范、架构设计全面审查
  • 文档撰写助手 📝:PRD、技术方案、项目报告、产品手册、周报月报
  • 邮件管家 📧:商务邮件撰写、回复、摘要、分类整理
  • 会议纪要生成器 🎙️:从录音/记录生成结构化纪要,自动分配行动项
  • 竞品分析师 🔎:SWOT分析、功能对比、定价策略,输出竞品报告
  • 合同审查助手 ⚖️:识别风险条款、法律漏洞,给出修改建议和谈判策略
  • 社交媒体运营 📱:公众号/小红书/微博/LinkedIn多平台内容创作
  • IT运维助手 🖥️:故障诊断、Shell脚本、性能优化、安全加固
  • 全部内置为public智能体,所有用户可直接使用
  • 每个Agent包含专业SystemPrompt、合理工具集、行业最佳实践

V4.22.20: iPad 工作流编辑器触控全面优化

  • 触控手势系统: 为工作流画布(V2全屏编辑器)添加完整的 touchstart/touchmove/touchend 事件处理
  • 双指平移: iPad 双指拖动画布,替代鼠标右键/空格+拖拽的桌面操作
  • 双指缩放: 捏合手势实时缩放画布,自动同步缩放百分比显示
  • 节点触控拖拽: 单指触摸节点标题栏拖拽移动,单击选中,双击打开配置
  • 面板→画布放置: 触控设备上节点面板改为点击选中+点击画布放置(替代不兼容的HTML5拖拽)
  • 触摸拖拽模拟: 从面板长按拖拽节点到画布放置(带跟随预览)
  • 面板拖拽: 节点面板和缩放控件支持触摸拖拽移动位置
  • V1内联编辑器: 创建Agent弹窗中的工作流编辑器也支持触控
  • iPad样式优化: 44px最小触摸目标、放大按钮/文字、safe-area感知、@media(pointer:coarse)精准匹配触控设备
  • 输出端口触控连线: 触摸端口拖拽创建连线,与鼠标操作对等
  • 长按取消选择: 长按空白区域取消所有节点选中

V4.22.16: 云盘密码保护 + 工具/技能节点修复

  • 云盘密码保护: 文件和文件夹可设置访问密码
  • scrypt 加密哈希,与知识库密码保护同等级安全
  • 密码提示功能:设置提示帮助记忆
  • 锁图标标识:加密项目显示🔒黄色锁图标
  • 解锁 token:2小时有效期,自动附加到后续请求
  • 限速保护:5次错误后封禁5分钟
  • 工具节点修复:require() → ESM import
  • 技能节点修复:列表加载 + 配置面板 + 保存逻辑

V4.22.15: 云盘文件引用节点 + 工作流中文化

  • 云盘文件节点: 工作流编辑器新增「云盘文件」和「云盘批量」两种节点
  • 「云盘文件」: 选择云盘中的单个文件,内容自动注入下游节点
  • 「云盘批量」: 支持多文件选择 + 文件夹选择,批量读取文件内容
  • 文件选择器: 弹窗式浏览云盘文件,支持图片/文档/代码等全类型
  • 服务端 CloudFileNode + CloudFilesNode 节点实现
  • 工作流所有节点标签中文化 (Start→开始, LLM→大模型, Code→代码 等)
  • WebSocket 语音/视频通话认证修复

V4.22.0: Agent 引擎重构 + 工作流模式内核

  • 引擎层重构:engine.ts (587行单体) 拆分为6个模块化文件
  • Layer 中间件系统:AOP 横切关注点(执行限制/可观测性),参考 Dify 设计
  • 工作流引擎内核:DAG 拓扑排序调度 + 串行/并行节点执行
  • VariablePool 数据总线:节点间通过 {{nodeId.varName}} 语法共享变量
  • 首批工作流节点:Start / LLM / Code / Answer 四个核心节点
  • 双模式路由:AgentConfig.mode 自动切换对话式 Agent 与工作流 Agent
  • 图验证与拓扑排序:循环依赖检测 + Kahn BFS 分层算法

V4.22.9: 智能体工作流模式隔离优化

  • 模式分流:编辑工作流智能体时直接进入工作流编辑器(独立全屏 overlay),不再先闪现对话表单
  • 模式隔离:`switchAgentMode` 切换时保存/恢复各模式独立状态(对话表单 ↔ 工作流画布数据不互串)
  • 智能体卡片:工作流类型智能体卡片显示紫色「🔀 工作流」标签
  • 对话面板编辑按钮:Agent 对话页新增「⚙️ 编辑」按钮,点击后根据智能体类型定向到正确编辑器
  • 代码简化:移除重复的 editAgent monkey-patch(_origEditAgent/_origEdit3 合并为单一清晰入口)

V4.22.8: 全系统安全审计修复

  • 严重:移除全局 TLS 验证禁用,改为白名单按需跳过(E5EAI_TLS_INSECURE_HOSTS)
  • 严重:移除硬编码管理员手机号,改为环境变量 E5EAI_ADMIN_USERS 配置
  • 严重:CORS 策略收紧 — 仅允许内网+白名单来源,非浏览器客户端需 Origin 头
  • 严重:dev-login/quick-login 端点保护 — 需要 E5EAI_DEV_MODE/E5EAI_DEV_SECRET
  • 严重:移除 Model Plaza 硬编码后备密钥
  • 高危:Agent execute_command 添加危险命令拦截模式
  • 高危:文件路径安全校验增强 — 符号链接解析防绕过
  • 高危:CSP 策略增强 — 添加 frame-ancestors/base-uri/form-action 指令
  • 高危:知识库解锁密钥独立存储(data/.kb-secret),移除 config.json 明文密钥
  • 高危:前端 XSS 防护 — 添加 escapeHTML 函数,消毒错误信息输出
  • 中危:登录接口改为 HTTPS(可配置 AUTH_API_BASE)
  • 中危:代码沙箱危险模式增强(ctypes/socket/codecs/builtins 等检测)
  • 中危:上传限制收紧(Express 50MB→10MB,KB 50MB→20MB)
  • 中危:空 catch 块添加错误日志
  • 低危:手机号日志脱敏、WebSocket 连接认证、fs.watch 防抖、.env 配置完善
  • 文档:.env.example 新增全部安全环境变量说明

V4.22.7: 思考模式文字排列修复

  • 根因:thinkingText += data + '\n',每个 SSE chunk 末尾强制追加换行符,模型逐词流式输出时每个词都被切成独立行
  • 修复:移除 SSE 思考数据累积时的强制换行,让文本自然拼接,仅保留模型原始输出中的自然换行

V4.22.6: CSP 策略全面开放 — 解决所有外部 CDN 资源加载问题

  • styleSrc:白名单域名 → https: 通配,任意 HTTPS CDN 样式表均可加载
  • fontSrc:白名单域名 → https: + data: 通配,任意 HTTPS 字体和 data URI 字体均可加载
  • scriptSrc:白名单域名 → https: + blob: 通配,任意 HTTPS CDN 脚本均可执行
  • 策略:与 imgSrc / connectSrc 保持一致,defaultSrc 仍为 'self',仅对明确需要的资源类型放宽

V4.22.5: 对话窗口弹高修复 — content-wrapper 独立布局

  • 根因:chat-container 与 content-wrapper 同为 main-content 的 flex 子元素且都设 flex:1,导致可用空间被平分,chat-container 仅获 323px(应为 646px)
  • 修复:content-wrapper 默认为 flex: 0 0 auto + overflow: hidden,仅在 app 页面模式(apps/kb/cloud/skills/agent/talk)下启用 flex: 1
  • 效果:聊天模式下 content-wrapper 不占空间,chat-container 获得全部剩余高度

V4.22.4: CSP 外部资源策略修复 — 预览 Google Fonts 等外部资源加载

  • CSP fontSrc 扩展:新增 https://fonts.googleapis.com 和 https://fonts.gstatic.com,允许 Google Fonts 字体文件加载
  • CSP styleSrc 扩展:新增 https://fonts.googleapis.com,允许 Google Fonts CSS 样式表加载
  • CSP scriptSrc 扩展:新增 https://cdn.tailwindcss.com、https://code.iconify.design、https://api.iconify.design
  • CSP frameSrc 扩展:新增 https: 通配符,允许 iframe 嵌入任何 HTTPS 内容
  • 根因:CSP 策略中 fontSrc/styleSrc/scriptSrc 白名单缺失外部 CDN 域名,导致 Google Fonts、Tailwind CDN、Iconify 等资源在预览 iframe 中被浏览器安全策略阻止加载

V4.22.3: 对话窗口高度挤压修复

  • content-wrapper 高度修复:将 height: 100% 改为 min-height: 0,消除 flex 布局中 height 百分比与 flex: 1 的冲突
  • 根因:flex 容器中 height: 100% 在父元素高度未解析时导致子元素塌缩,表现为 304px 而非撑满可用空间

V4.22.2: 编程模式预览渲染引擎修复

  • 预览引擎升级:将 iframe 渲染从 doc.write() 改为 srcdoc,彻底解决 CDN 外部资源(Tailwind CSS/Iconify/Google Fonts)加载时序错乱问题
  • Inspector 注入适配:srcdoc 异步加载机制下,改为 onload 事件注入 Inspector,不再依赖 setTimeout 猜测
  • CSS 预览同步修复:CSS 文件预览也改用 srcdoc,确保样式正确渲染

V4.22.1: 任务中心 + 弹窗交互修复

  • 任务删除修复:任务卡片所有操作按钮添加 event.stopPropagation(),防止点击删除/取消/重试时误触发任务详情弹窗
  • 弹窗遮罩关闭:任务中心和任务详情弹窗支持点击遮罩层外部关闭,不再只能通过按钮关闭
  • 遮罩点击监听清理:关闭弹窗时自动移除 click 事件监听,避免内存泄漏

V4.21.2: 全栈性能与稳定性优化

  • JS Minify:chat.js 853KB→562KB (-34%),esbuild 压缩
  • CSS 外提:7885行内联 CSS 提取为 main.css,HTML 581KB→224KB (-61%)
  • 静态资源长缓存:/static 路径 maxAge 改为 365天 + immutable
  • NLS WebSocket 重连:断线自动指数退避重连 (最多5次)
  • 滚动节流:主聊天滚动加 RAF 节流 + passive 监听器
  • 聊天历史 LRU:内存中最长保留 30 个会话,自动淘汰最旧
  • 页面隐藏清理:切后台时取消 RAF 渲染,节省资源
  • CSS Contain:8个关键组件添加 contain: layout style paint
  • Bug 修复:3处 const 赋值错误 (dataurl 解码 + SSE 流读取)

V4.21.1: Agent 模块安全加固

  • 审批端点认证:approve/reject 端点添加用户认证和会话所有权验证
  • 关键文件保护:write_file 拒绝写入配置/依赖/入口文件,防止误覆盖
  • 模型 API 重试:指数退避重试 (最多3次),缓解网络抖动导致的失败
  • SSE 心跳与超时:30秒心跳保持连接 + 5分钟执行超时自动关闭
  • 工具结果注入检测:对 web_fetch 等外部来源内容进行注入评分
  • AgentConfig 缓存:30秒 TTL 内存缓存,减少重复文件读取
  • 工作区遍历优化:限制文件遍历数量 (5000),防止大项目性能问题

V4.21.0: 主聊天 Agent 引擎集成

  • Agent 选择器:top-nav 模型选择器旁新增 Agent 下拉菜单
  • 主聊天 Agent 引擎:选中 Agent 后消息走真实 Agent 引擎,不再使用 prompt 注入
  • 工具调用卡片:主聊天中流式展示 Agent 工具调用状态(执行中/完成/失败)
  • 审批流程:主聊天中批准/拒绝危险操作,审批后自动续接执行
  • Agent 状态栏:聊天区域顶部显示 Agent 名称、步数、用时统计
  • 模型锁定:Agent 模式下自动锁定模型选择器,防止意外切换
  • 停止执行:一键终止 Agent 执行,恢复聊天输入
  • 产出保存:Agent 完成自动保存产出文件到云盘 agent-output 目录

V4.20.0: Agent 智能体模块落地

  • Agent 引擎:独立执行引擎,状态机驱动的异步循环
  • 工具注册系统:插件式工具中心,4类工具(文件/Shell/网络/知识库)
  • 配置持久化:JSON 文件 CRUD + 克隆 + 导出(.e5eagent) + 导入
  • 6个内置Agent:编程/写作/数据分析/研究/创意/通用
  • 左侧边栏入口:独立 Agent 管理页面
  • Agent 页面:卡片网格 + 分类过滤 + 搜索 + 创建/编辑弹窗
  • 卡片操作:编辑(✏️)/克隆(📋)/删除(🗑️)/导出(📤)
  • Agent 对话面板:SSE流式通信,工具调用卡片 + 状态栏
  • 导入导出:.e5eagent 格式打包,一键分享和安装
  • 新增:server/agents/*(8文件), data/builtin-agents/*(6文件)

V4.19.4: 图片识别质量全面修复

  • 图片压缩大幅优化:JPEG 质量从 0.70 提升至 0.88,最大宽度从 1200px 提升至 1920px,确保模型能识别图片细节
  • 保持原始格式:PNG/WebP 图片不再强制转换为 JPEG,保留透明通道和原始画质
  • 小图智能跳过:宽度 ≤1920px 的图片自动跳过压缩,避免已优化图片重复劣化
  • 服务端图片过滤:不支持视觉(Vision)的模型自动移除图片并注入提示,避免图片被忽略或报错
  • 死代码清理:移除 OpenAI 通用路径中重复的图片处理逻辑,统一由前置转换处理
  • 变更文件:public/static/js/chat.js、server.ts

V4.19.3: 知识库文档在线阅读体验升级

  • PDF 在线阅读:点击文档标题或双击卡片,弹窗内嵌浏览器 PDF 阅读器,底部提供下载和新窗口打开按钮
  • HTML 渲染预览:HTML 文件弹窗支持「渲染预览」和「源码」双 Tab 切换
  • 图片在线预览:图片文件弹窗居中显示 + 下载按钮
  • Word/Excel 等二进制文件:弹窗显示解析后的文字内容 + 下载原文按钮
  • 不再直接下载:所有文件类型点击均为在线阅读,需下载时点击底部按钮
  • 修复 db is not defined 错误:下载端点不再直接访问 kb-module 内部变量

V4.19.2: 知识库查看原文功能

  • 新增查看原文功能:文档卡片新增"查看"按钮(绿色),点击可查看文档完整原文内容
  • 弹窗查看器:现代化弹窗显示文档内容,支持文件类型图标、分块数、字符数统计
  • 一键复制:底部提供"复制全文"按钮,方便快速提取内容
  • 右键菜单:右键文档卡片新增"查看原文"选项
  • 服务端 API:新增 GET /api/kb/documents/:id/content 端点,返回文档完整原文和分块信息
  • kb-module.ts:新增 getDocumentContent() 函数,获取文档原文和分块列表

欢迎来到 思洋。我们已经完成了从“对话框”向“生产力引擎”的蜕变。以下是您必须掌握的四大核心黑科技:

1. 像专家一样调度模型 (Auto-Router)

操作: 在对话框右侧的模型下拉菜单中,选择第一项 “🌟 智能意图路由 (推荐)”。

原理: 这是一个自动调度器。当您写代码时,它会切到 Coder 模型;当您处理复杂逻辑时,它会切到 Reasoner (思考) 模型。您不需要再手动纠结该选哪个模型了。

2. 让 AI 动起手来 (Agentic Execution)

操作: 让 AI 处理数据(如:“帮我生成一份今年的模拟销售数据并导出为表格”)。

魔法: AI 会自动在后台生成 Python 代码,并在代码首行加上 # @sandbox。对话结束后,系统会 自动触发执行,并直接把执行结果(图表、表格文件)返回到对话中。您可以直接点击链接下载生成的成果。

3. Notion 风格的块级编辑 (In-line Rewrite)

操作: 点击底部导航的 “写作模式” 进入双栏画布。在右侧文档流中,使用鼠标 选中一段文字。

魔法: 选中文字后,上方会立即浮现 “✨ AI 润色” 菜单。点击它或输入您的指令(如“扩写这段话”),AI 将只针对这一块内容进行重插,而不会刷新全文。这极大提高了复杂文案的协作效率。

4. 您的个人网盘与记忆 (Workspace)

操作: 您可以直接把文件(Excel, 图片, 文档)拖入输入框,或者点击左下角头像设置“永久记忆”。

原理: 我们为您在服务器建立了专享的 assets 网盘目录。所有沙盒生成的文件、您上传的文件都会被隔离保护在这里。AI 拥有读写这个目录的权限,这意味着它能“看到”您放入其中的所有数据模型。

提示: 为了达到最佳体验,建议默认一直开启 “智能路由” 模式。

大模型对话系统 (Omni Chat)

平台的核心交互入口,支持流式渲染、思维折叠与丰富的 Markdown 解析。

功能亮点

  • 动态 Markdown 渲染: 支持极速增量渲染,长文生成自动启用 LRU 缓存避免卡顿。
  • <think> 推理折叠: 针对 DeepSeek-R1 / Qwen-Max 等深度思考模型,底层自动解析 `reasoning_content`,并在前端转化为“思考中”折叠动效。
  • 智能自修复网络: 高级错误捕获机制,遇到 404、401、402 等状态码会给出清晰的中文指引(如余额不足、路径错误建议等)。

任务命令模式

在主输入框输入 / 会打开结构化任务菜单。它不是提示词快捷方式:选择命令后,系统会按固定参数协议采集信息,由后端重新校验登录、企业归属和权限,再调用真实业务能力。

  • 首批命令:/写日报、/写周报、/待办工作、/安排工作、/通知人员、/查询日程、/添加日程、/会议纪要。
  • 真实数据:日报、周报和待办会聚合任务中心、工作安排与日程;安排工作复用组织计划与 IM 投递;日程直接读写日程库。
  • 安全确认:影响他人的命令先显示执行预览,确认后才执行;取消不会产生业务动作。每次执行都有稳定执行编号、请求哈希、重复提交防护和持久化审计。
  • 通知边界:/通知人员 当前只生成明确标注“尚未发送”的通知草稿,不会冒充已经通知。
  • 键盘操作:上下键选择、Enter 打开、Esc 关闭;Shift+Enter 仍用于输入换行,中文输入法组合期间不会误触发。

使用场景

适用于日常问答、指令生成、基础代码编写,以及日报、待办、日程和组织工作安排等结构化任务。

OpenCode 原生代码沙盒

真正的后端计算能力,从“只会写代码”向“能直接跑代码拿结果”蜕变。

功能逻辑

当 AI 生成了 python 或 nodejs 代码块时,代码右上角会高亮显示一个“运行(沙盒)”按钮。

  • 真实运行环境: 点击后,代码将被直接发送至后端的隔离文件系统中真实执行,而不是在前端局限的 JS 引擎中 eval。
  • 超时熔断: 为了保护服务器资源,代码执行上限设定为 10 秒,超时即自动阻断。
  • 复杂算力释放: 利用此功能可以直接让 AI 编写 Pandas 处理 CSV、或跑一段数据分析脚本并直接拿回统计结果输出。

使用场景

财务报表处理、本地文本批量清洗、复杂算法验证与执行。

VFS 代码块智能提取 (2026-07-17 更新)

AI 生成的代码块自动提取到工作区时,系统已升级智能文件名识别:

  • 裸文件名识别: 自动检测代码前几行的 # hunter.py / // app.js / <!-- index.html --> 等注释,无需手动标注 filename
  • 非代码块智能跳过: 目录结构树 (├──)、终端输出等不会再被误写为 index.html 导致代码文件缺失
  • 同名冲突保护: 同一批次多文件自动编号(如 main-2.py),防止相互覆盖

⭐ e5e-Lens(玄镜)使用手册

一句话认识它:e5e-Lens 就是思洋的“大脑”。你只需要像平时说话一样把需求告诉它,它自己会判断你要干什么、挑最合适的模型、调用需要的工具,把活干完再交付给你。你不需要懂任何模型、参数或技术细节。

📌 第一步:怎么开始用

  • 打开思洋主界面,顶部模型选择器默认显示 “e5e-Lens”(即智能路由模式),保持这个选择就是最佳用法。
  • 在输入框里直接说需求,比如“帮我把这段文字润色一下”“画一只戴眼镜的猫”“分析这份数据的变化趋势”。
  • 发送后,e5e-Lens 会自动判断你的需求类型(写作?画图?查资料?写代码?),挑一个合适的模型来回答,全程你不用操心。

🧠 第二步:它能帮你做什么(常见用法)

你只需要说它会做什么
“写一篇小红书种草文案”识别为写作任务,自动挑选擅长写作的模型生成文案
“分析一下这个复杂问题的影响”识别为深度推理,交给推理能力最强的模型
“写个 Python 脚本处理 Excel”识别为编程,写代码并可能直接运行验证
“画一张夏日海滩图”进入智能体协作,自动调图片生成工具出图
“做一段产品介绍短视频”调视频生成工具,产出视频(完成后可在消息里预览/下载)
“查一下公司制度里关于请假的规定”调知识库搜索,基于企业知识回答
“把这段文字读出来”语音合成,生成可播放的音频

💡 第三步:几个让结果更好的小技巧

  • 把需求说具体:“写一封给客户的回信”比“写封信”效果好;能带上对象、语气、长度要求更佳。
  • 连续追问不用重复说:生成图片后再输入“再来一张”“改成竖屏”,5 分钟内它会自动延续刚才的任务类型,不用重新描述。
  • 遇到多步任务会展示“计划卡”:比如“帮我做一份竞品分析报告”,它会先拆步骤(收集资料→整理框架→撰写),每一步状态都看得见,可暂停、可重试。
  • 它拿不准时会问你:如果系统判断不了你要图还是文字(比如“帮我分析这张图”),会弹选项让你点一下,不会瞎猜浪费你的时间。
  • 可以说人话:“帮我”“把…改一下”“跟…一样风格”这类日常说法它都听得懂。

👍👎 第四步:觉得不对?告诉它(重要!)

每条 AI 回复下方都有一行小字,格式像:写作 → 某模型 👍 👎,这是 e5e-Lens 的“路由反馈行”:

  • 回答满意 → 点 👍:帮它确认“这条路选对了”,它以后会更倾向这么干。
  • 不满意 → 点 👎:会弹出小面板让你选原因(没理解需求/选错模型/内容不准确/太啰嗦等),还能手动挑一个正确的任务类型。它会把这次纠正记下来,下次遇到类似的话优先走对的路。
  • 为什么要这么做:e5e-Lens 会学习每个用户的偏好,你纠正得越多,它越懂你。这是它“越用越聪明”的来源。

🛡️ 第五步:出故障了怎么办(它会自己扛)

  • 某个模型挂了:系统自动切换到备用模型继续回答,你基本无感知;只有连续多次故障时才会看到短暂停顿。
  • 某个能力不可用:比如视频生成暂时不可用,它会直接告诉你,不会硬撑。
  • 权限不够:需要企业授权的能力(如某些模型),会提示联系管理员开通。
  • 想换固定模型:点击顶部模型选择器,可以从 e5e-Lens 切换为具体模型(如 deepseek-v4-pro)。建议日常保持 e5e-Lens,个别专业场景再手动指定。

🚀 进阶玩法(可选)

  • 让多个专业智能体协作:系统内置 16 个专业角色(代码审查、数据分析、合同审查、文档撰写等),复杂任务它会自动分派给合适的“专家”干活。
  • 任务审批:企业可配置重要操作(如发通知、改文件)需人工审批后才执行,e5e-Lens 会在执行前停下来等确认。
  • 技能与红线:企业可预设技能规则和写作红线,e5e-Lens 调用前会自动校验,违规操作会被拦截并说明原因。
  • 每一步都留痕:它干了什么、调了哪个模型、执行了什么工具,都有记录可查(管理员可在观测面板查看),出了问题能追根溯源。

想看更技术化的细节(意图识别表/模型健康监控/路由生命周期)?跳到下方「e5e-Lens 智能路由引擎」章节。

e5e-Lens 智能路由引擎

v10 可信路由:系统按最近 20 次调用的成功率与 P50/P95 延迟维护模型健康状态;下线和半开模型不会承接普通对话,只由后台探针连续成功 3 次后恢复。写作任务会在具备写作能力的健康模型池中动态选择,不再固定使用某一个默认模型。每次路由都会记录默认模型、能力门控模型、最终初选、实际模型、降级链、选择原因和健康快照,便于排障与审计。策略建议默认只展示;仅经真实离线重放验证的策略才可批准部署。
v10 P1 可靠性:Lens 路由、生命周期和模型尝试现由 WAL 模式 SQLite 持久保存,同时保留 JSONL 兼容镜像。服务重启会自动关闭超过 10 分钟仍未完成的历史路由,标记为“进程重启恢复”,避免观测面板出现永久悬空记录。模型广场连续发生 3 次网关故障时会短暂停止请求 15 秒,避免故障风暴;首页个性化建议使用独立的低 Token、无深度思考轻量调用,不占用主对话链路。
思洋的核心调度中枢。e5e-Lens 不是简单的"选模型"工具,而是一套完整的意图理解 → 模型决策 → 健康保障 → 反馈学习闭环系统,确保每一次对话都路由到最合适的模型,并在运行中持续自我优化。

🎯 智能意图识别 (Auto-Router)

当用户选择 auto-router 模型时,e5e-Lens 自动分析用户输入,匹配 16 种内置意图:

意图触发示例默认模型
reasoning 复杂推理"分析量子计算对密码学的影响"deepseek-v4-pro
writing 写作创作"写一篇小红书文案"、"作一首诗"Doubao-Seed-2.1-pro
code 编程开发"写一个 Python 快排实现"deepseek-v4-flash
general 快速响应"你好"、日常闲聊deepseek-v4-flash
image 图片生成"画一只猫"Kimi-K2.5 → Agent
video 视频生成"生成一个短视频"Kimi-K2.5 → Agent
tts 语音合成"把这段话读出来"Kimi-K2.5 → Agent
agent_create 创建智能体"帮我创建一个客服机器人"Kimi-K2.5 → Agent
kb_query 知识库查询"根据公司制度回答..."Kimi-K2.5 → Agent

更多意图:voice_clone(语音克隆)、asr(语音识别)、sketch(涂鸦转图)、face_swap(视频换脸)、video_edit(视频编辑)、ref_video(参考生视频)、3d_gen(3D 生成)、cloud_query(云端查询)

🏗️ 模型选择流水线

每次路由经过严格的多层决策,确保选出的模型有能力、健康、且符合偏好:

① 能力门控 → ② 健康检查 → ③ 用户偏好 → ④ A/B 实验
  • ① 能力门控: 候选模型必须支持意图所需的能力(如 vision 意图拒收纯文本模型),硬约束不可绕过。
  • ② 健康检查: 熔断器自动排除近期频繁失败的模型(详见下文)。
  • ③ 用户偏好: 用户手动纠正或长期行为形成的偏好,在安全模型子集内优先。
  • ④ A/B 实验: 按流量比例随机分配变体模型,观察不同模型对满意度的影响。

🔁 会话上下文继承

同一会话中的短指令(如"再来一张""改成竖屏""换一个")会自动继承上一轮的意图和模型,无需重复指定:

  • 继承窗口: 5 分钟内同一会话的连续请求。
  • 会话隔离: 不同浏览器标签页/设备的会话 严格隔离,不会互相串意图。
  • 反误触发: "为什么""怎么用""可以吗"等独立问句不会触发继承,走正常意图识别。
  • 延续标记: 前端 SSE 收到 route_info 中的 continuationFrom 字段时,可感知当前路由的来源。

🤔 歧义澄清

当两个意图得分接近(差距 ≤ 1 分)时,系统不会盲目选择,而是:

  • 暂停首次请求: 发送 route_clarify 事件给前端(如"你想生成图片还是分析图片?")。
  • 等用户选择: 前端展示可选意图按钮,用户点击后带 route_override 重发。
  • 不消耗 Token: 澄清状态不会调用模型,避免无效消耗。

⚡ 熔断器与模型健康监控

当某个模型连续调用失败时,系统自动将其暂时隔离,防止持续浪费请求并影响用户体验。
  • 三态熔断: ok(正常)→ degraded(降级)→ down(熔断)→ half_open(探测恢复)。
  • 自动恢复: 冷却 60 秒后自动发送探测请求;探测成功则恢复,失败则继续熔断。
  • 错误分类: 用户主动取消 (abort) 不计入模型失败;超时和 HTTP 错误分别归类。
  • 质量独立: 用户 👍👎 评分 (recordModelQuality) 与模型实际运行健康 (updateModelHealth) 分开存储,点踩不污染成功率。
  • 健康 API: GET /api/lens/health 返回所有模型的实时健康状态、成功率、平均延迟和用户评分。

👍👎 反馈闭环与自学习

每次 AI 回复完成后,消息下方会显示路由反馈行(意图 → 模型 + 👍👎),用户可:

  • 点赞: 确认路由正确,计入模型质量评分。
  • 点踩 + 纠正: 选择正确的意图和模型,系统自动学习偏好并写入纠正样本库。
  • 反哺路由: 多次纠正同一模式后,系统通过 bigram 相似度匹配历史样本,在弱信号场景自动给正确意图加分。

🔬 路由生命周期追踪

每次路由的完整决策和执行过程被记录为事件流,存储在 data/lens/route_lifecycle.jsonl:

started → intent_selected → model_selected → first_token → completed
started → intent_selected → model_selected → failed / aborted

首 Token 延迟 (first_token)、降级触发、失败原因全程可定位;客户端主动断连也会正确闭合为 aborted,不产生悬空记录。

📊 观测面板

平台「主动感知」页面提供「🎯 Lens 观测」面板,实时展示:

  • 总路由次数、24h 路由量、意图分布柱状图
  • 模型分布、纠正率、平均置信度
  • AI 兜底使用率、延续继承次数、歧义澄清次数
  • 所有模型的健康状态和用户评分

数据源来自 GET /api/lens/insights(需登录),仅返回当前认证用户的数据,管理员可查看全站统计。

🔒 安全与隔离

  • 用户级数据边界: 路由历史、统计、反馈建议均按当前认证用户过滤,未登录返回 401。
  • 纠正样本隔离: 反馈纠正样本只影响提交者本人的路由反哺,不会跨用户污染。
  • 路由反馈校验: 提交纠正时必须携带本人真实 routeId,系统从长期历史验证归属权。

🔌 自定义模型节点(高级)

除了内置的智能路由,平台同样支持高级用户接入私有模型:

  • 预置模型库: 后端 config.json 支持灵活扩展模型池,内置不同领域最强开源及闭源模型。
  • 自定义信道: 在左侧边栏底部的"设置"中,填入私有 OpenAI 兼容格式 API(如 vLLM 实例或企业网关)。
  • 自定义模型可参与路由: 接入后在模型列表中可选,亦可作为特定意图的默认模型。

快速查找模型

  • 思洋助手置顶:e5e-思洋助手 固定显示在菜单最上方、搜索框之前,不参与搜索、类型筛选和折叠,任何筛选状态下都可以直接切回智能意图路由;底层仍使用 auto-router,仅调整界面名称。
  • 名称搜索:在置顶意图模型下方,可按模型名称、模型 ID、供应商或描述直接搜索普通模型。
  • 类型标签:搜索框下方提供“文本、图像、视频、数字人、音频、3D、识图、工具调用”八类快捷筛选;标签区域支持触屏左右滑动、鼠标拖动及滚轮横向浏览,横向滚动条保持隐藏,选择“全部”可恢复完整列表。
  • 常用优先:系统按当前账号在当前浏览器中的真实模型切换次数排序,次数相同时最近使用的模型优先,常用模型会自动靠前。
  • 单选与多选分离:点击模型条目空白区域会直接切换普通聊天模型;点击左侧圆形复选框只加入多选候选,不会自动进入对比或会议模式。选择两个以上模型后,必须点击菜单底部“对比”或“会议”按钮才会正式进入相应模式。
  • 按需折叠:当前搜索或类型筛选结果达到 5 个模型时才显示折叠按钮,少于 5 个时自动隐藏;按钮下方不再绘制装饰横线。
  • 类型分类:模型广场的分类标签依据上游实时返回的 request_type 字段分组(对话/视频/图像/音频/工具/3D),每个模型名称前配有对应类型的 SVG 图标,便于按功能类型快速筛选。

智能写作模式 (Writer Mode)

沉浸式、极简纯白的文档编辑器体验,摒弃聊天的碎片感。
智能路由加持: 使用 auto-router 时,写作类请求自动分配 Doubao-Seed-2.1-pro 模型,获得最佳的创意文案和文章生成效果。

核心体验

  • 双栏对照: 左侧聊天引导,右侧直接展示 A4 纸质感的正文。
  • 弹性分屏: 支持拖拽聊天区域右边缘的竖线,自由调整对话框与创作区的比例。
  • 自动同步: AI 生成完成后内容自动同步到右侧写作区(含标题自动提取),无需手动点卡片;若你在生成期间手动修改过写作区,系统不覆盖,提示你一键同步。
  • 指令真实生效: 「更改语气 / 调整长度 / 全文润色」会携带写作区当前内容作为上下文交给 AI 执行,不再是无效果的提示词;写作区为空时会明确提示。
  • 草稿自动保存: 写作内容输入后自动保存为草稿,刷新、切走、关闭页面都不会丢;重新进入时提示「恢复 / 丢弃」。
  • 选中文段 AI 改写: 选中一段文字即可润色 / 扩写 / 缩写或输入自定义指令,AI 返回后直接替换选中内容。
  • 一键导出: 支持所见即所得导出为 `.docx`、`.pdf` 或 `.md`,满足体制内公文落印标准。

AI PPT 智能生成 (v10.5)

生成工作区说明:点击生成后进入类似写作模式的左右分栏页面。左侧是 PPT 智脑对话区,需求、大纲策划、内容撰写、逐页完成、异常和恢复提示都会按对话持续流式输出;右侧由缩略图栏和编辑区组成,编辑区顶部显示整体进度,中间实时显示当前正在完成的页面,底部显示页数和翻页导航。主题、编辑、下载与关闭操作仍位于右上角。编辑工具栏采用药丸形悬浮居中设计,所见即所得编辑默认开启,双击直接编辑文字,拖拽/右键/Delete 均可操作自由元素。
一句话描述演示需求,AI 自动生成完整的大纲、内容和排版,支持在线预览、主题切换和单页重生成。
入口: 侧边栏 "AI PPT" 按钮,或输入框底部工具栏 "AI PPT" 图标按钮。
v10.4 新特性: 右侧结构化编辑面板(按元素编辑)、图表数据编辑抽屉、快速输入与4步创作简报双模式、6种新版式、生成后质量检测、主题多页预览、AI操作可解释性。

工作流程(两阶段生成)

  1. 描述需求: 默认可在快速模式直接输入完整需求;也可切换到4步引导模式,依次选择场景、补充主题、设置受众与表达方式。两种模式共享视觉风格、页数、模型与参考资料配置。
  2. AI 策划大纲: 系统生成结构化大纲,展示标题、每页标题、版式类型和内容概述。支持:点击页面循环切换版式、双击编辑页面标题、上下移动/删除/添加页面。
  3. 审阅与确认: 大纲确认卡在右侧工作区中央显示;在左侧检查大纲后确认,系统自动进入逐页内容生成阶段。
  4. AI 撰写内容: 系统按确认的大纲为每页撰写详细内容,逐页推送到预览区。
  5. 预览与调整: 左侧缩略图列表展示所有页面,右侧大图预览单页内容。支持键盘左右箭头翻页。
  6. 上线后编辑: 可切换主题、单页重新生成、增删页面、导出 PPTX 或 HTML。

核心特性

  • 智脑全自动设计(默认): 视觉风格保持「智脑自动」时,大模型全权负责设计:先为整稿制定《设计简报》(情绪/九宫色板/字号体系/装饰母题/页面节奏/宜忌清单),再逐页直接设计 1920×1080 自由 HTML——光晕、幽灵序号、斜切色块、SVG 图表等真实设计语言,拒绝“标题+项目符号”的模板感。安全校验自动过滤危险内容,单页设计失败自动回退模板渲染,整稿不受影响。
  • 模板约束规则(选模板时生效): 手动选择模板后,该模板的专属设计规则(用色范围、字重层级、装饰边界、点缀色频率、禁用行为)全程约束内容生成,成品严格贴合模板气质。
  • 模板变体引擎: 模板模式下同版式不同页的构图自动变化(标题三种构图、章节页居中变体、三列卡色带变体、幽灵编号列表、图文左右轮换等),页面节奏由大纲策划强制保证(同版式不连续、呼吸点穿插),不再千页一面。
  • 上传 PPT 学习风格: 上传 .pptx 即可学习其设计风格——除色板/字体/用色/对齐外,还提取标题位置、字号分布、圆角占比、背景色、配图密度等版面特征,并自动总结该模板的设计约束规则。学习结果注册为新主题,可随时选用。
  • 5套内置主题: 商务深蓝、科技紫、极简黑白、活力橙、森林绿,一键切换整体视觉。
  • 17种语义版式: 封面、目录、章节页、纯文本、图文混排、全图、图表洞察、数字大字、时间轴、对比、三列卡片、引言、总结、致谢、SWOT分析、路线图、团队介绍。目录页采用单列层级布局——章节条目顶格、内容页条目缩进,父子归属一目了然,12 条以内自适应密度完整展示。AI 根据内容语义自动选择最合适的版式。
  • 图表内嵌渲染: 柱状图、折线图、饼图、环形图等图表直接渲染在页面中,无需额外工具。
  • 三种画面比例: 16:9 宽屏、4:3 标准、9:16 竖屏。
  • 生成演讲备注: 可选生成每页的演讲者备注,辅助宣讲准备。
  • 单页重生成: 对不满意的页面,鼠标悬停缩略图点击刷新按钮,输入修改指令即可重新生成(智脑自动文稿会按设计简报重新设计该页)。
  • 历史管理: 自动保存所有生成的演示文稿,支持浏览、加载和删除。

编辑能力(v10.5 线上制作)

  • 顶部药丸工具栏:白底悬浮居中,插入文字/图片/形状/媒体/表格/图表,紧凑精致。右侧功能组包含主题切换、下载导出、关闭操作。
  • 自由元素层:所有手插元素支持 1920x1080 坐标自由定位,可拖拽移动、双击编辑文字、四角 resize 手柄调整尺寸。Delete/Backspace 键直接删除。
  • 右键上下文菜单:选中元素右键弹出:编辑文本/复制/格式刷/上移/下移/置顶/置底/重置位置/删除,按上下文智能启用。
  • 选中浮动操作条:选中元素后右上方显示删除/复制/层级调整迷你工具栏,点击空白自动隐藏。
  • 默认编辑模式:打开文稿即进入可视编辑,无需手动开启开关。
  • 所见即所得表格编辑:双击单元格进入编辑,失焦自动保存——不再整表进入编辑态。
  • 新增空白页:圆形加号按钮位于折叠箭头右侧,点击在当前选中页下方插入空白页并自动选中。
  • 删除确认:删除页面在编辑区中央弹窗二次确认,防误操作。
  • 自动保存与恢复:生成开始即保存,中断后文稿标记"未完成"——历史列表橙色标签显示 N/MP,点击继续生成入口恢复编辑。

全系统软件化光标(v10.5)

  • 普通界面区域:箭头指针
  • 按钮和可点击控件:手型指针
  • 输入框和正在编辑的文字:文字光标
  • 表格默认箭头,仅双击编辑的当前单元格才显示文字光标

技术架构

  • 统一 Presentation AST: 所有演示文稿使用结构化中间表示(JSON),确保 HTML 预览和未来 PPTX 导出的一致性。
  • 五阶段异步生成: 需求分析 → 大纲策划 → 内容撰写 → 资源生成 → 排版渲染,实时显示进度。
  • 约束式设计系统: 版式组件绑定设计令牌(颜色/字体/间距),AI 选择版式后由程序自动排版,确保20+页面的视觉一致性。
  • 模型调用: 使用 deepseek-v4-pro 进行策划和内容生成,统一通过模型广场 Key 调用。

API 接口

方法路径说明
POST/api/ppt/generate-outline新增 v10.3 — 两阶段生成第一步:仅生成大纲(非流式 JSON 返回)
POST/api/ppt/generate-streamSSE 流式生成内容(支持携带确认大纲跳过规划阶段)
POST/api/ppt/generate兼容:提交生成任务,返回 taskId 轮询进度
GET/api/ppt/tasks/:taskId查询任务状态和进度
GET/api/ppt/presentations获取历史演示文稿列表
GET/api/ppt/presentations/:id/preview-data获取结构化预览数据
GET/api/ppt/presentations/:id/preview获取公开只读 HTML 演示页(无需登录,随机文稿 ID 即分享令牌;禁止搜索引擎收录)
GET/api/ppt/presentations/:id/native-preview-data获取登录用户的 PPTX 原生对象预览模型(英寸坐标、shape ID、动画计划)
POST/api/ppt/presentations/:id/slides/:slideId/regenerateAI 重新生成单页内容
PUT/api/ppt/presentations/:id/slides/:slideId编辑单页内容
DELETE/api/ppt/presentations/:id/slides/:slideId删除单页
POST/api/ppt/presentations/:id/reorder调整页面顺序
PUT/api/ppt/presentations/:id/theme切换主题
GET/api/ppt/themes获取可用主题列表
POST/api/ppt/presentations/:id/slidesv10.5 — 当前页下方新增空白页(blank:true+afterSlideId 参数)
GET/api/ppt/presentationsv10.5 增强 — 返回 generationStatus/generatedCount/totalCount,未完成文稿可恢复
GET/api/ppt/layouts获取可用版式列表

后续规划

  • PPTX 原生文件导出(可编辑的 .pptx 下载)
  • PDF 导出和 MP4 视频导出
  • 在线编辑器:点击元素在右侧面板直接修改文本、图片、图表数据
  • 智能配图:自动搜索和插入匹配的图片素材
  • 上传参考资料(Word/PDF/Excel)自动提取内容生成 PPT
  • 企业品牌模板上传和品牌色/Logo/字体定制
  • 多人协同编辑和评论

平行工作带与无限画布 (Co-Pilot Canvas)

此功能处于 Roadmap 规划与演进阶段。

未来升级方向:

  • 块级动态编辑: 不再全文重新生成,用户高亮一段文字,即可指令 AI 只重写此段落。
  • 版本树追溯: 每一次 AI 的改写都可以像 Git 一样进行版本回滚。

代码动态可视化 (Artifacts)

当 AI 返回 HTML/JS/CSS 混合的前端代码时,系统无需离开当前界面,即可在右侧边栏即时渲染为一个所见即所得的 Web 视窗。设计师和工程师可以快速调优按钮样式与交互动效。

全双工硬件级语音对讲

基于 WebSocket 透明通道和实时流媒体打造沉浸交互。
  • 无缝打断: 用户说话时,AI 会立刻停止当前的生成并倾听新的指令。
  • 视觉动效: 基于 Canvas 绘制声压粒子光晕,直观反馈 AI 倾听与表达的心跳状态。
  • 低配设备自动降载: 老旧 iPad(iOS 15 以下或双核芯片)会自动启用低性能模式——音频块合并播放(减少 WebAudio 对象创建)+ 采样率修正(24kHz 真实声明)+ 音量动画节流 200ms + 跳过重动画,通话流畅不卡顿;新设备不受影响,动画照常全速。

实时视觉摄像头交互

唤起设备摄像头,以较低抽帧率(1 FPS)将环境画面转化为 Base64 图片流,源源不断输送给多模态大模型。模型可以"看着"你眼前的草图、会议白板、甚至实物商品进行解答。

文档生成引擎 (v10.0 新增)

AI 驱动的办公文档生成系统,支持 Word / Excel / PPT / PDF 四种格式一键生成,自然语言描述即可产出专业文档。

支持格式

格式能力示例
Word (.docx)标题/段落/项目符号/表格/代码块/中文排版"帮我生成一份本周工作总结的 Word 文档"
Excel (.xlsx)多 Sheet/表头样式/数据表格/柱状图/折线图/饼图"把上个月的销售数据做成 Excel 表格,带图表"
PPT (.pptx)封面页/内容页/双栏对比/专业配色模板"帮我做一份产品介绍的PPT"
PDF中文排版/表格/项目符号/页眉页脚"把项目方案导出为 PDF"

使用方式

  • 对话生成: 在聊天中直接说"帮我生成一份 XXX 的 Word 文档",AI 会自动理解需求、结构化内容并生成文档。
  • Agent 工具: Agent 模式下可通过 generate_document 工具调用,自动完成复杂文档生成任务。
  • API 接口: POST /api/document/generate (结构化数据) / POST /api/document/generate-from-chat (自然语言)。
  • 自动保存: 生成的文档自动保存到资产目录,可通过资产中心或对话下载。
  • 下载卡片: 对话内显示紧凑型文档卡片;点击卡片或“下载”按钮即可保存。历史中文文件名链接也会自动转换为兼容 HTTPS 反代的安全下载地址。

数据分析引擎 (v10.0)

上传 CSV/Excel 文件,AI 自动统计分析并生成交互式仪表盘和报告。
  • 自动解析: 支持 CSV/Excel 文件,自动识别数值列、分类列、日期列。
  • 统计摘要: 均值、标准差、最大值、最小值、中位数、缺失值等。
  • 相关性分析: 自动检测数值列之间的相关性,标注强/中/弱相关。
  • 交互仪表盘: ECharts 驱动的 HTML 页面,柱状图/折线图/直方图,支持缩放/悬停。
  • 使用方式: 在对话中上传 CSV/Excel 文件,说「帮我分析这份数据」,或通过 Agent 工具 analyze_data 调用。

PDF 工具箱 (v10.0)

一站式 PDF 操作工具:合并、拆分、提取文字、添加水印、提取页面、查看信息。
操作说明示例
合并多个 PDF 合成一个「把这三个 PDF 合并成一个」
拆分按页拆成独立文件「把这个 PDF 拆成单页」
提取文字提取全文文本「提取这份 PDF 的文字内容」
添加水印对角线水印「给合同加水印『机密』」
提取页面指定页码提取「提取第 2-5 页」
查看信息页数/标题/作者「这个 PDF 有多少页」
  • 使用方式: 先上传 PDF 到云盘,然后在对话中说「把这个 PDF 加水印」或通过 Agent 工具 pdf_tool 调用。
  • API: POST /api/pdf/tool

项目管理看板 (v10.0)

拖拽式 Kanban 看板,支持任务卡片、优先级标签、自定义列、数据持久化。
  • 访问入口: 直接访问 /kanban 进入独立看板页面。
  • 默认三列: 待办/进行中/已完成,可自定义添加列。
  • 任务卡片: 标题/描述/优先级(高/中/低),拖拽到不同列自动更新状态。
  • 数据持久化: 保存到用户空间 JSON 文件,刷新不丢失。

会议纪要 (v10.0)

上传会议录音或对话文本,AI 自动生成结构化会议纪要:摘要/关键讨论/决策事项/待办事项。
  • 录音转文字: 先通过语音识别(speech_to_text)将录音转为文本。
  • AI 生成纪要: Agent 工具 meeting_minutes,自动提取摘要、关键讨论、决策、待办事项。
  • 导出文档: 生成的 Markdown 纪要可直接导入文档引擎生成 Word/PDF。
  • 自动保存: 纪要自动保存到资产目录。
  • 使用方式: 上传会议录音文件,说「帮我把这段录音整理成会议纪要」。

多格式文档解析

输入框左侧支持直接上传本地文件格式:

  • 支持格式: PDF、Word (.docx)、Excel (.xlsx)、图片 (png/jpg)、Markdown (.md)。
  • 前端分拣: 对于纯文本文档会由前端 mammoth/pdf.js 进行清洗脱水;对图片格式则自动启用 1200px 级智能压缩策略再发送。

媒体生成(图片 / 视频 / 音频 / 数字人)

选中即用的生成式模型体验:在模型列表中选择任意生成类模型,输入框自动切换为「提示词 + 参数」模式,直接输入描述即可生成。

如何使用

  • 第一步 · 选模型: 点击顶部模型选择器,带有「🎨 图像」「🎬 视频」「🧑‍🎤 数字人」「🔊 音频」角标的即为生成类模型(可在模型广场中勾选接入)。
  • 第二步 · 调参数: 选中后输入框上方自动浮现参数条——图片模型支持比例(1:1/16:9/9:16/3:4/4:3)与数量(1-4 张);视频模型支持比例、时长(5/8/10 秒)与有声开关。
  • 第三步 · 输提示词: 在输入框用自然语言描述想要的画面、视频或语音文本,回车即提交生成。
  • 第四步 · 看结果: 生成中显示进度卡片,完成后自动渲染图片网格 / 视频播放器 / 音频播放器,支持点击放大与一键下载,同时自动保存到「数字资产」。

数字人与参考输入

  • 图片数字人(如 OmniHuman1.5): 参数条中上传一张人物照片 + 一段音频,照片即可开口说话。
  • 视频数字人(如 e5e_Human2.5): 上传一段人物视频 + 一段音频,生成对口型的播报视频。
  • 语音克隆: 选择克隆模型后上传 3-10 秒清晰人声作为参考音频,输入文本即可合成该音色的语音。
  • 图生视频 / 动作模仿: 按参数条提示上传参考图或模板视频即可。

拖拽上传

  • 加高拖拽区: 选中任意媒体模型后,参数条下方显示一个加高的虚线拖拽区,支持将文件直接拖拽至此上传。
  • 多文件拖拽: 支持同时拖拽多个文件。系统自动按文件类型(图片/视频/音频)分拣到对应参考槽位。
  • 模型限制提示: 图片参考最多 10 张,视频和音频各 1 个。超出限制时自动提示可上传数量。
  • 类型校验: 拖拽不支持的文件类型时提示可接受的文件类型,图片/视频/音频各有对应接受范围。

任务中心联动

所有生成任务均接入任务中心:视频与数字人渲染耗时较长(几分钟到几十分钟),提交后可随时在「任务中心」查看进度,不影响继续对话。

多用户云端工作区 (User Workspace)

告别单机缓存,数据按用户级物理隔离与云端漫游同步。

核心机制

  • 脱离 localStorage 的束缚: 旧版系统中对话记录保存在本地浏览器缓存中,一旦更换电脑、手机或清理缓存,数据便会丢失。
  • 云端独立数据仓: 系统现已为每一位登录用户在后端建立专有的虚拟个人数据中心 (VFS)。
  • 无缝漫游: 当您在手机端与 AI 交流完,回到公司电脑登录账号,所有历史对话与生成记录毫秒级双向同步。

永久记忆设定 (Permanent Memory)

让 AI 平台彻底成为由您私人定制的“懂你”助手,而不再是每天都要重新“调教”的通用机器。

功能入口

点击平台左下角的个人头像,在弹出的菜单中选择 “永久记忆设定”。

运作原理

在这个独立设置面板中输入您的长效人设或者回答准则(例如:我是架构师,请多用图表思维;不要使用繁冗的客套话;我的公司是跨国企业,优先输出中英双语)。

这些长期记忆与偏好通过私有的 RAG (检索增强) 隧道,会在您发起每一次对话的底层悄然注入,从而潜移默化地规范 AI 的思考模型,并与其他用户的数据绝对隔离。

PII 数据合规防火墙

这是系统“数据不脱密,决不出内网”的核心保障底座。

运行机制

在用户点击发送瞬间,系统底层中间件自动启动正则审查引擎,识别文本中的个人敏感数据并用占位符安全替换掉。

  • 手机号脱敏: 主动侦测连续 11 位号码,替换为 [PHONE_REDACTED]。
  • 身份证脱敏: 主动核验 15 位及 18 位身份代码,替换为 [ID_CARD_REDACTED]。

这一拦截发生在代码数据到达请求层之前,确保无论外部大模型商是谁,都无法刺探到平台所属企业的机密隐私。

写作约束与红线审查

内嵌 6 大核心文本合规审计模板,辅助企业风控:

  • 广告法绝对化用语排查
  • 短视频(抖音/小红书)敏感违禁词审查
  • 意识形态与政治敏感核查
  • 体制内公文措辞与行文规范纠偏

组织智慧指挥中心(企业后台)

企业后台已从传统SaaS管理面板升级为「组织智慧指挥中心」——对齐《组织智慧跃迁理论》六层架构,提供从诊智到跃升的完整操作中枢。

产品主次:组织智慧运行系统优先

企业后台采用双层产品架构:第一层是组织智慧运行系统,负责建立诊智、知识沉淀、决策、协同、反馈与学习机制;第二层是企业 AI 办公能力,负责把组织能力应用到写作、PPT、数据分析、会议、知识问答和编程等岗位任务。AI 办公成果必须经过人工复核并回流为组织资产。

指挥中心首页

默认首页展示组织智慧全景:

  • 组织智慧成熟度:五阶段模型(个体经验型→知识沉淀型→流程协同型→人机共智型→持续进化型),含进度条与闭环综合评分
  • 闭环健康度:感知 / 理解 / 判断 / 决策 / 行动 / 反馈 / 学习 七维环形指标
  • 六层架构评分:智慧资源层 / 认知能力层 / 智能体层 / 流程协同层 / 组织治理层 / 智慧进化层
  • 三重判定:能力形成(诊断覆盖率+成熟度分布)/ 机制改变(复盘率+假设验证+审批处理)/ 结果持续(教训提炼+组织记忆+知识文档)
  • 智慧损耗预警:8类自动检测(未诊断成员/逾期复盘/决策无复盘计划/知识沉淀不足/组织记忆薄弱/无90天工程/关键人依赖/沉默成员),按高危/中危/低危分级
  • 六步法快捷入口:诊智→聚智→赋智→融智→增智→跃升 一键跳转

六步法导航体系

诊智(智慧诊断):成熟度测评 — 十大维度 20 题锚定式量表,产出雷达图+短板+建议+90天路径。90天工程 — 1-15天诊断定标 / 16-30天聚智设计 / 31-60天上线运行 / 61-90天验证复盘。

聚智(智慧汇聚):知识库中心 — 企业文档上传/检索/管理。组织记忆 — 经验/规则/方法沉淀为 AI 可调用的组织资产。知识图谱 — 资产即节点、引用即边,17 类节点可视化(覆盖成员/部门/会话/文件/技能/笔记/诊断/集成/模板/工作流/决策/记忆/工程/知识/智能体/审批),另有个人版「我的图谱」(记忆/笔记/文件/会话/智能体/知识文档六类),支持记忆升格为组织记忆。查看知识图谱完整介绍 → 决策留痕 — 重要决策方案/依据/假设/复盘全链路记录。

赋智(岗位赋能):Agent 中心 — 企业智能体创建与管理。流程模板 — 工作流/审批模板库。

融智(流程协同):审批中心 — 跨部门审批流。成本分摊 — 按部门/成员的资源消耗分摊。

增智(持续进化):提智看板 — 三重判定度量+成员智慧排名。BI 看板 — 经营数据分析。智能报表 — 自动生成周期报告。

治理(组织治理层):成员管理 / 部门管理 / 模型策略 / API密钥 / SSO集成 / 活动日志

运营(平台运营):账单套餐 / 用量看板 / 企业公告 / 企业市场 / Webhooks / 发票管理 / 资产浏览 / 企业设置

🔐 权限管理体系(页面 → 功能 → 按钮 三级)

思洋权限体系覆盖总后台、企业后台、用户角色、单个用户、主站前端五个层面,统一按「页面 → 页面功能 → 按钮」三级组织:进入页面权限控制菜单显隐,页面内操作权限控制按钮显隐,服务端 API 同步拦截(越权直调返回 403)。

1. 总后台(系统管理后台)

  • 超级管理员:平台最高权限(is_platform_admin),全部页面与按钮可用,不可被覆盖
  • 平台管理角色(细分管理员):「权限管理 → 管理员」页可把平台管理角色分配给指定用户:财务管理员(仅财务/充值/定价)、运营管理员(用户/内容)、系统管理员(系统/模型/权限)。被分配后该用户可登录总后台,但页面菜单与按钮按其角色权限自动显隐
  • 角色管理:「权限管理 → 角色管理」可新建/编辑角色并勾选权限(权限树按页面分组:用户管理页/财务管理页/模型管理页/系统设置页…),每个页面区分「进入页面」与「删除用户/手动充值/定价管理」等按钮权限
  • 单个用户覆盖:会员详情「权限覆盖」——在角色权限之外额外授予或强制移除单个功能权限(如禁某用户联网搜索/放开 PPT),覆盖优先于角色;管理角色仅超级管理员可分配/撤销(防提权)

2. 企业后台(组织智慧指挥中心)

  • 企业管理员(owner):默认拥有企业后台全部模块权限
  • 成员授权:成员列表每行「权限」按钮 → 三级树弹窗,可给成员按模块/按钮授权(如只给财务岗开「财务页 + 充值」,只给人事岗开「成员页 + 邀请成员」);被授权成员可进入企业后台但只能看到授权页面与按钮
  • 权限点:33 个后台模块(工作台/AI办公/知识库/智能体/审批/财务/公告/市场/发票/设置…)+ 19 个核心操作(邀请成员/发布公告/审批处理/上传文档/创建智能体/充值…)

3. 主站前端(用户侧)

  • 侧栏功能入口(知识库/技能/云盘)与联网搜索等按钮按账号权限自动显隐,登录或刷新后即时生效
  • 权限由会员角色决定:总后台「角色管理」编辑会员角色(免费/普通/中级/高级/企业)时勾选的权限点即控制前端功能显隐

⚠️ 安全说明

前端隐藏仅为体验层;所有后台写操作 API 已挂细粒度权限点校验(requireAdminPerm / requireEntPerm),直接调用接口越权同样返回 403。企业管理员(is_admin)不拥有总后台权限,总后台/企业后台严格分离。

🛡️ 字段白名单与数据安全

所有用户/企业/部门的更新操作均经过 sanitizeUpdates 字段白名单过滤,禁止客户端提交以下敏感字段:

  • balance(余额)— 仅通过财务引擎修改
  • is_admin(管理员标记)— 仅超级管理员可操作
  • created_at(创建时间)— 系统自动维护
  • password_hash(密码)— 专用密码修改接口

📝 统一审计日志(writeAuditLog)

覆盖所有关键操作,记录完整的审计追踪信息:

  • 覆盖范围:充值、定价调整、系统设置变更、模型配置、用户角色变更等
  • 记录字段:操作人、操作目标、详情、分类、安全等级、源 IP 地址
  • 查询方式:管理后台审计日志页面支持按时间、操作人、分类筛选

📎 媒体上传安全加固

网站媒体上传新增 MIME 类型魔数校验,确保文件类型与后缀一致:

  • 图片类:只接受真实 image/* 类型,校验文件头魔数
  • SVG 文件:增加安全标记,防止 XSS 注入
  • 上传限制:单次最多 10 个文件,单个最大 20MB

⚠️ 高危操作二次确认

24+ 项危险操作增加前端二次确认弹窗,防止误操作:

  • 删除用户/企业/部门
  • 暂停/恢复用户账号
  • 用户充值(需填写原因)
  • 批量操作(批量充值、批量删除)

🔄 按钮防重复提交(withSubmitGuard)

覆盖 11 个关键提交函数,防止重复点击导致重复扣款或数据异常:

  • 充值提交、订单创建、批量充值
  • 用户/企业信息保存
  • 模型配置保存、系统设置保存

💰 财务安全增强

  • 金额上下限校验:单次充值 1-1,000,000 元
  • 原因必填:所有充值操作必须填写原因,记录至审计日志
  • 批量充值防护:限制每次批量操作的用户数和总金额

📋 系统开发日志

2026-09-24 14:12
同步玄鲲:能力型意图「编排模型」口径三方分裂修复(后台显示 pro、路由记录 flash、实际执行跑 pro):老板问「后台 Lens 模型预测面板显示 deepseek-v4-pro,但真实编排模型并不是它」。查证后发现后台面板本身没写错——真正的不一致在服务端:Lens 决策链(server.ts 约 19873 行)对能力型意图早已改为 fallbackLLMDefault()(全局兜底链里首个健康模型,flash 健康时即 flash、down 时取链上首选),但 autoEnterAgentMode(约 21460 行)与 autoEnterAgentMode2 的「媒体模型不可作执行模型」分支(约 21567 行)仍把执行模型硬编码成 deepseek-v4-pro,覆盖掉前面的取值 → 路由记录/决策链日志记 flash、实际执行跑 pro(09-04 那次修复只改了决策链、漏了这两处执行分支)。现按 09-04 定稿策略统一:两处执行分支改用 fallbackLLMDefault()(runAgentLoop 的 agentModelId 正取自该变量,改动真达执行层);后台「路由试算」面板经 registerLensAdminRoutes 注入同一个 fallbackLLMDefault,展示值与真实执行同源;lens-routes.html 三处「执行模型固定为 deepseek-v4-pro」文案同步改为「编排模型由全局兜底链运行时决定」。验证:npx tsc --noEmit 0 错、esbuild 0 错、页面内联 JS 语法通过;pm2 restart siyang-brain 后 /api/health 200;实拉 /api/admin/lens/simulate(能力型 image 意图)返回 targetModel=deepseek-v4-flash(改动前为 deepseek-v4-pro)。
2026-09-11 15:10
微家生活圈:全程对话式购物(文字/语音即可):现在可以直接对助手说「帮我买瓶水」→ 看商品卡片 → 说「买第一个」看详情 → 说「买」即下单,页面出现订单卡与「立即支付」按钮。尽量不用手点,一句话一步步走完购物;(支付仍需在微家小程序内完成)。
2026-09-11 14:40
微家账号绑定(测试):新增「绑定微家」入口——思洋生成绑定码,在「微家生活圈」小程序里输入即可完成账号绑定;绑定后商品下单/地址都归属你的账号。(进行中:微家侧绑定页在对接中)
2026-09-11 11:50
微家下单:支付 + 对话式新增收货地址:①下单成功后可点「去支付」;②新增收货地址改为对话式——直接对助手说「新增收货地址」,助手会问姓名/手机号/省市区/详细地址,确认后永久保存并按你的身份归属(不会存到别人名下);③收货地址与订单严格按用户身份隔离。测试阶段:网页版无法调起微信支付,支付请在小程序内完成。
2026-09-11 11:30
微家商品卡片支持「下单」:点商品卡片的「购买」按钮,弹出「确认下单」——可选购买数量、配送方式(自提/即配/快递,按商品支持的方式)、收货地址,并显示商品金额/运费/合计;点「提交订单」即真实下单,成功后显示订单号与应付金额。测试阶段:uid/openid 固定;暂未接支付,下单后可在后台/小程序继续支付。
2026-09-11 11:10
微家商品卡片升级:①商品图片可正常显示(改由本站代理加载,避免跨域/防盗链导致不显示);②卡片上显示购买方式(自提/配送/快递);③商品较多时卡片底部可翻页(上一页/下一页);④每张卡片新增绿色「购买」按钮。
2026-09-11 10:57
微家生活圈接口地址统一(老板指令):智能体调用微家生活圈接口的地址统一为 pub-wxminapi-index(小程序主接口),商品搜索改用 getnavgoodslist,结果仍以商品卡片展示。仍在测试阶段:uid/openid 暂用固定值,后续再改为动态获取。
2026-09-11 10:45
微家生活圈接口统一为「一个工具」(老板指令):之前每个接口写一个工具(商品搜索、商品详情各一个),接口一多工具就一大堆。现已统一为一个「微家生活圈API接口(测试)」工具——用接口名(evt)区分不同接口、参数(params)传业务数据,以后新增接口无需再加工具。搜索、商品详情与商品卡片体验不变。
2026-09-10 18:15
微家生活圈:商品详情 + 点击卡片看详情:新增商品详情工具与接口;在商品卡片上点击即可弹出详情(大图、标题、价格、店铺、库存/销量、描述)。仅作用于该智能体与该功能。
2026-09-10 17:50
修复:智能体多轮对话后回复出现「工具调用原文」:模型多轮后偶尔把工具调用写成 <工具名>{参数} 纯文本,此前解析不了、原文漏到页面(像报错)。现已支持识别该格式并正常执行(仅识别真实工具,不影响普通文本)。

17:58 调整:按「只改该智能体、不影响全局」,撤回上述引擎级改动;改为该智能体换用更强模型 deepseek-v4-pro。
2026-09-10 17:40
微家生活圈:只按“提炼出的关键词”搜一次:从用户的话里提炼一个关键词(如「帮我买瓶水」→「水」)调用一次即可,不再把模型联想的近义词反复提交。仅作用于该智能体与该工具。
2026-09-10 17:30
微家生活圈商品搜索:防止反复搜索:一句话最多搜索 3 次,避免模型用一堆近义关键词反复调接口;没有结果就如实回复。仅作用于该功能。
2026-09-10 17:20
微家生活圈商品搜索:结果改为商品卡片展示(仅该功能):搜商品后以卡片展示——商品主图、标题、价格、店铺名,比原始数据清晰。仅作用于「微家生活圈商品搜索」这个功能,其它智能体不受影响。
2026-09-10 17:00
新增工具:微家生活圈商品搜索(第三方 API 调用示范):在智能体里新增一个可调用第三方接口的工具(id village_goods_search),按关键词搜索微家生活圈商品。演示了「写一个调第三方 API 的工具」的标准做法——独立工具文件 + 在引擎注册 + 密钥存服务器配置(不入库);含超时、错误处理、结果截断。已实测可返回商品列表。
2026-09-10 14:30
编程模式「撤销/重做」修复:之前代码模式下撤销一篇没反应(记录时机错了,取出的正好是当前内容),现已修复——每次点「撤销」回退一次内容修改,可连续回退;「重做」恢复;AI 帮你改的代码也能撤销回去。入口:代码面板右上角「更多」→ 撤销 / 重做。
2026-09-10 12:00
编程模式:去掉重复的「历史」入口(老板核查「撤销/重做/历史是否重复」后选 A):撤销/重做与版本历史功能不同、均保留;仅去掉顶栏与代码面板 tab 重复的「版本历史」入口——桌面端用代码面板 tab「历史」,移动端用「更多」菜单里的「版本历史」;顶栏重复按钮两端均隐藏。同类去重:手机端「继续上次」与「更多」菜单重复,一并隐藏顶栏按钮。
2026-09-10 10:59
智能体导出改为 .zip 格式(老板指令):之前导出的是 .e5eagent(自定义后缀,普通系统打不开),现改为直接导出 <智能体ID>.zip,任何解压工具都能直接打开;包内结构不变,导入端仍同时兼容旧的 .e5eagent 包。
2026-09-10 10:35
智能体支持导出(老板反馈「没看到导出按钮」):智能体卡片操作区新增「导出」按钮——点击即下载 <智能体ID>.e5eagent 包(内含提示词、完整配置、关联技能),可用于备份或迁移到其它环境。此前该入口缺失(后端接口与前端函数都在,但按钮未接线)。
2026-09-10 10:05
多企业成员移除后部门归属修复:一个人同时属于多家企业时,从当前企业移除并切回主企业后,原部门归属被清空的问题已修复——现在会正确带出新企业的部门,部门级权限与工作台视图不受影响。
2026-09-10 09:20
邀请成员不再带出上个企业信息(企业 HR 数据按企业隔离,老板实证):
① 现象:账号 15323827832(张国明)原属「湖南第五元素网络科技开发有限公司」,被邀请进「湖南创际文化传媒有限公司」后,员工档案仍显示原企业的职务、合同类型、在职状态、入职时间、岗位职责——本应是一名全新员工(这些字段为空)。
② 根因:这些 HR 字段一直存在用户全局档案里(单一值),2026-08-22「一人多企业」改造只隔离了部门/管理员/权限,HR 字段被遗漏。
③ 修复:HR 字段改为按企业隔离——每个人在每个企业各存一份,新加入企业即空(全新员工),原企业数据保持不变;切换企业时自动按当前企业显示。
④ 附带体验:员工档案里合同类型/在职状态下拉新增「未设置」选项,未填写时不再默认显示为「全职/正式」。
该修复已生效,无需人工操作。
2026-08-31 12:20 — duo_image-rh 特征锚点优化(溶图降成本约 64%)
  • 实测:同一参考图组,4 种提示词写法对比——「特征锚点」最优:太后 8.5 分、林夏 9.5 分(原长段落仅 6 分翻车),追平 Seedream 5.0 Pro(9 分)。
  • 成本:duo_image-rh 每张约 0.14 元,仅为 Pro(0.39 元)的 1/3——人物一致性达到同等可用水平。
  • 落地:溶图默认模型改回 duo_image-rh,且提示词自动使用「特征锚点」结构(角色逐段锚定+参考图显式绑定+严格禁止改变);Seedream 5.0 Pro 保留为「质量优先」手动选项。
  • 无需操作:默认已切换,重新生成底图即生效。
2026-09-07 19:05
优化编程模式:减少重复读文件、控制上下文占用(老板反馈):
① 现象:生成网站等大任务时,AI 会反复整读同一个文件(一次官网任务首页读了 6 遍),对话上下文被文件内容塞满、频繁压缩,又慢又费。
② 优化:a) 同一文件同一内容本会话只读一次,重复读取会被自动跳过并提示直接使用已读内容(文件被修改后会正常重新读取);b) 大文件支持指定行号区间精读,并在工具说明中引导 AI「先用搜索定位、再按区间读取」,避免整读/扫读大文件。
③ 效果:长任务的读取次数与上下文占用显著下降。该优化重启服务后生效。
2026-09-07 17:55
官网生成支持多页面与多级导航:之前生成企业官网默认都是单页长滚动,导航也只有一级。现已升级设计规范:①自动判断——内容栏目多(产品分类/新闻资讯/多栏目)时生成多页面站(每栏目一个页面,或 React 多路由),纯落地页仍走单页;②多级导航——一级导航下的子栏目支持下拉/分组面板,当前所在栏目两级同时高亮,手机端汉堡菜单内逐级展开;③完整页面体系——关于/产品/案例/新闻等栏目页、列表页→详情页、面包屑、404 页,全站统一导航页脚与风格。之后新生成的官网/网站即按此执行。
2026-09-07 17:45
未读通知「标已读后数量不减」修复(老板报障):
① 根因:企业登录时,工作台「未读通知」数字与通知中心读写的是两份不同的通知数据(个人目录 vs 企业目录),标了已读另一边看不见;
② 修复:工作台未读数与通知中心改为同一数据源(个人身份看个人通知、企业身份看企业通知);
③ 顺带修复:工作台「环境信号」里点单条「标为已读」之前会把全部通知标成已读,现在只标当前那条。
④ 强刷页面生效。
2026-09-07 17:35
修复工作台页面左侧被侧边栏遮住(部分分辨率出现):
① 现象:打开「工作台」时,左侧导航栏右缘悬空压在工作台内容上(约 20px),1366×768 笔记本、1280、1024 等分辨率会出现,1440 及以上宽屏正常。
② 原因:工作台页面按「侧边栏宽度 260px」让位,但侧边栏在 769-1366px 区间实际宽度是 280px——写死与实际的偏差导致侧边栏压住工作台左缘。
③ 修复:让工作台让位宽度跟随侧边栏实际宽度(769-1366 为 280px、其余 260px),两种宽度下都精确对齐、不再重叠。刷新页面(或等待自动刷新提示)生效。
2026-09-07 17:25
uni-app H5 部署子路径修复:base 相对化根治「连接服务器超时,点击屏幕重试」(老板实测预览报错):
① 背景:uni-app 工程构建部署成功(/app/d63e4f854259c_mtr0zah6/)但预览报「连接服务器超时,点击屏幕重试」。
② 根因:AI 生成 uni-app 工程 vite.config.js 未设 base → 构建产物 router base="/",懒加载分包按根路径 /assets/xxx 请求 → 平台部署在子路径 /app/<id>/ 下资源全 404 → uni-app 运行时显示超时提示(puppeteer 复现实锤:分包 JS/CSS 请求 localhost:3002/assets/... 404 + CORS)。
③ 修复:a) vite.config.js 加 base: './'(相对路径)——构建后 base="./" 懒加载分包正常;b) 提示词固化 uni-app/Taro 铁律(base:'./' + manifest h5 router hash + 素材用本地 static/ 不用境外直链);c) 用户工程已改并重新构建部署。
④ 验证:puppeteer 旧产物(超时提示+CORS/404)→ 修复后页面完整渲染(轮播/推荐歌单全部显示,零错误);tsc 0。
2026-09-07 17:05
uni-app/Taro 构建链两连修:npm run build 硬编码 + 沙箱白名单拦截(老板实测「改用 uni-app 工程编译失败」):
① 背景:用户 18874942339 把微信小程序改 uni-app 工程(src/pages 5 页面 .vue 齐全)后点构建部署必失败。
② 根因两连:a) deploy-routes 执行构建硬编码 npm run build——uni-app/taro 只有 build:h5 脚本、无 build 时报 Missing script: build;b) 首次修复改裸跑 buildCmd(uni build)又被沙箱命令白名单拦截(uni 不在 ALLOWED_COMMANDS)。
③ 终版修复:解析 build 命令时记录来源脚本名(build→build:h5→build:web 依次 fallback),执行处统一 npm run <script>(npm 在白名单内,内部调 .bin/uni 不经过首 token 拦截);vite/tsc 等裸命令场景仍走 npm run build 兼容历史。
④ 验证:沙箱真实链路(复制工程→npm install→npm run build:h5)→ DONE Build complete → 产物 dist/build/h5/index.html;tsc 0。
⑤ 连带:服务重启会打断 coder 长任务——本次确认 pending 断点续接对 coder 分支生效(用户会话自动恢复续跑补全了 5 个页面)。
2026-09-07 16:40
修复企业云盘(共享盘)文件夹删除报「文件夹不存在」:在共享盘视图删除/管理文件夹时,请求没带企业标识导致后端去个人目录找(实际文件在共享盘),报 404。已修复:共享盘视图的删除操作正确携带企业标识;共享盘删除权限维持「仅文件上传者或企业管理员」。刷新页面生效。
2026-09-07 16:25
共享知识库按企业身份隔离(老板指令):
① 共享池分两套:企业身份登录看到本企业的共享池(企业A看不到企业B的);个人身份登录看到个人共享池;
② 企业成员的「企业个人知识库」文档现在也可以共享到本企业共享池(此前被禁止),共享后企业个人列表保留记录并打「已共享」标;
③ 搜索/引用同步按身份隔离:企业身份只命中本企业共享内容,个人身份只命中个人共享池;
④ 跨企业无法查看/下载他人企业的共享文档;企业知识库(管理员管理)的文档仍不可被成员共享。
2026-09-07 16:15
编程模式多类型开发支持:小程序/uni-app/Taro 等框架可预览(老板报障「小程序开发预览没生效」):
① 背景:用户说「开发微信小程序」→AI 生成原生 wxml/wxss 工程(无 index.html)→平台预览器只认 HTML/构建型→预览区空白「暂无 HTML 预览」。
② 根因:平台预览=浏览器 iframe,原生小程序需微信开发者工具无法浏览器运行,系统零防护(提示词没说边界/框架检测只认 vite/兜底文案不解释)。
③ 修复:a) 生成物策略(coderPromptBase 新增「项目类型与预览能力边界」铁律)——小程序请求严禁直接生成原生 wxml 工程,默认生成移动端 H5 Web 应用(手机壳布局实时可预览);要可上架原生小程序则先告知无法预览,再生成 uni-app/Taro 工程(配 build:h5 可自动构建 H5 预览);b) 框架识别扩展——新增统一检测(vite/react-scripts/next/nuxt/vue-cli/taro/uni-app/svelte/astro/quasar 依赖 + build/build:h5/build:web 脚本),替换原两处仅 vite 系窄正则;c) 构建链适配——无 build 脚本时 fallback build:h5/build:web,产物目录递归下探(uni-app H5 在 dist/build/h5);d) 预览兜底升级——检测 wxml/wxss/app.json 工程提示「需下载后用微信开发者工具导入」+引导生成 H5/uni-app 版。
④ 验证:框架识别单测 8/8、提示分支 4/4、build 命令选择 4/4、产物下探 dist→dist/build/h5;真实端到端——用户发「做一个在线听音乐的微信小程序」→AI 产出手机壳 H5 音乐应用 index.html(50KB,含 TabBar/播放器/轮播)实时可预览,不再生成 wxml;tsc 0、health 200。
2026-09-07 16:05
「共享知识库」升级为全平台共享池(老板指令):
① 现在打开「共享知识库」页签,能看到所有人共享出来的文档和文件夹,每份文档标注共享者姓名;
② 他人共享的文档可以直接查看原文、下载、引用到对话(此前只能靠搜索碰运气,预览/下载还会报「文档不存在」);
③ 别人的共享文档对你只读——不能转私有/移动/删除;带密码的共享文件夹仍需输入密码;
④ 你自己共享的文档依旧显示在个人知识库(带「已共享」标),随时可转回私有。
2026-09-07 15:35
知识库新增「共享知识库」页签(老板指令):此前界面一直没有这个页签,共享出去的文档无处可看;现已在知识库页「个人知识库」旁补上——点开即可查看你共享出去的全部文档与共享文件夹(带密码锁的共享文件夹在此页签输入密码查看);他人共享的文档仍通过搜索/对话引用发现。刷新页面即可看到。
2026-09-07 15:20
知识库共享体验修复:共享后不再「消失」(老板指令):
① 症状:个人知识库把文档共享后文档从列表消失——个人页签只显示个人文档,聊天 @知识库引用选择器也看不到共享文档,且接口 total 与实回数不一致(total=5 实回 4)。
② 修复:a) 个人知识库保留共享记录——已共享文档继续显示在个人知识库并打紫色「已共享」标(悬停提示同步显示在「共享知识库」页签);b) 共享去向告知——共享成功提示「已共享:可在『共享知识库』页签查看,个人知识库保留记录」(批量共享同理),转私有提示「已从『共享知识库』移除」;c) 右键菜单与卡片按钮按文档当前状态显示「共享/转私有」(原按当前页签误判);d) 接口 total 修正,聊天 @引用恢复可见共享文档;企业文档仍不可共享/不混入个人列表(安全规则不变)。
③ 验证:测试账号实测共享后三处(个人页签/共享页签/聊天@引用列表)均可见,共享→转私有往返闭环通过;tsc 零错误。
2026-09-05 12:11
协议审查类文档任务被误判成建站修复(老板实测「帮我看下这份协议内容…生成一份完整文档」触发网站生成):
① 症状:普通聊天发协议审查指令+粘贴协议全文,触发的是「网站生成」而非文档优化。
② 根因:编排分支的 isAppCreation 多页建站判定拿未剥离附件全文的 userRequest匹配——协议/合同全文自带「平台/系统/官网/小程序」等词+指令「生成一份」组合命中建站正则→启动 runOrchestrator 编排引擎;附件剥离 stripAttachments/pureRequest 定义在判定之后,只服务单页直出/isModifyPattern,建站判定本体漏剥(08-01 附件剥离改造遗留缺口)。
③ 修复:a) 附件剥离/文档审查判定上移至 isAppCreation 之前,建站词判定全部改用剥离后 pureRequest;b) 新增 _isDocReviewTask 相邻模式(审查/优化动词+文档名词≤10字)否定建站——不用全文扫匹配排除,因协议全文自带「开发官网/平台系统」描述句会误放行;c) document/writing 意图绝不进应用编排(_capSkipAppCreationDoc)。
④ 验证:行为测试 11/11(协议审查6场景不触发+后台管理系统/官网/单页/修改语义保持);真实 SSE 冒烟——该消息→document 意图→文档撰写助手 ask_user 要协议原文,不再启动编排引擎;tsc 零错误。
2026-09-04 15:35
批量生成三视图两问题修复:①「形象和主图不一致」——批量提交时有一张三图在识别主图环节失败,系统按角色名想象着画了一张(废图)。现已改为:识别主图失败自动重试 3 次,仍失败就直接中止并退款,绝不再生成与主图不符的图;「老周」那张废三视图已清除,刷新后点「批量三视图」可重新补生成。②「主图被删除」——主图没有被删,是角色卡封面在生成多角度后自动换成了多角度图。已改为封面始终显示主图(多角度/三视图点开角色详情查看)。刷新页面即可恢复正常。
2026-09-04 15:10
角色页新增「批量三视图 / 批量多角度」按钮:资产库-角色页面,「重新提取资产」按钮后面新增两个批量按钮(数量实时显示待生成角色数)。只为主图已有、但还没有三视图/多角度的角色补生成(主图换过导致定妆照不一致的也会自动纳入),不会覆盖已有图片、不重复扣费;点击后确认计费(三视图每角色 1 张图、多角度每角色 5 张图),逐个提交后台生成,完成后自动回填角色卡;支持一次提交多个角色(限流已放宽),失败的角色可逐个重试。
2026-09-04 12:20
「查看详情报错」与「短剧历史消失」双修复:①短视频历史点「查看详情」报 Maximum call stack size exceeded——上午上线的任务查询节流器有个笔误(自己调自己导致栈溢出),已修复;页面刷新后生效,历史详情、生成进度查询全部恢复。②短剧历史项目此前只认当前登录的工作区——在个人/企业工作区切换后另一侧的短剧项目会看不到;现在历史与作品页跨工作区合并展示(仅限本人数据),旧版一键合成的短剧成片也纳入「短剧」分类,不再凭空消失。
2026-09-04 12:10
三视图与主图一致性根治 + 三视图/定妆照任务进任务中心:①之前生成三视图用的是角色创建时的旧文字描述,不是你当前看到的主图——主图换过之后三视图就跟主图长得不一样。现在三视图会先「看」当前主图提取人物外观(脸型/发型/服装/配饰),再按此外观生成四视图,与主图保持一致(多角度/全身参考图同源);②三视图、多角度、定妆照生成任务同步进任务中心(图片图标,标题如「生成三视图:XXX」),完成自动更新;这类任务生成中无法中断(失败会自动退款),任务中心只提供进度查看与删除记录,重新生成在素材卡上操作。
2026-09-04 11:25
分集脚本「全部失败可重试」根治:上午生成时段上游响应变慢,每批 5 集脚本生成超过 120 秒时请求被网关直接掐断,四个备用模型也全部超时,导致分集脚本全部失败。现已改为流式生成(边生成边传输,网关不再掐断长任务),单批最长可跑 7 分钟,模型回退链保留;上游恢复后实测 5 集脚本 40 秒完成。遇到失败时点「可重试」即可重新生成。
2026-09-03 18:45
资产库角色/道具/场景生成接入任务中心:之前资产库里点「AI 生成」角色/道具/场景,任务只在素材卡上显示进度,任务中心里看不到。现在资产库的生成任务会同步出现在任务中心(图片类型,标题如「生成角色:XXX」),可统一查看进度、取消(费用自动退回,资产卡同步复位可重新生成)、删除记录;失败的生成不提供任务中心重试(回到素材库点「重新生成」即可,避免重复扣费)。短视频/短剧/数字人任务不受影响。
2026-09-03 16:30
短视频「画面男人声音女人」音画性别错位根治:生成短视频时画面人物与配音声音性别不一致(画面是男人、声音是女人)的问题已修复。根因是镜头提示词里没写角色性别时,画面模型按外观脑补(常生成男性),而语音模型固定输出默认女声;无参考图时成片配音还统一用晓晓女声。现改为:①写脚本时明确每个角色的性别(男/女);②上传真人形象照时由 AI 识别照片中人物性别;③镜头提示词显式声明角色性别,让画面人物与自带配音性别一致;④无参考图成片的配音音色按主角性别自动匹配(男性用云希男声、女性用晓晓女声)。新生成的短视频即生效。
2026-09-01 11:30
应用中心新增「创作中心」应用(思洋创作中心功能移植):把思洋的图片创作中心完整移植到思洋应用中心——①功能:文生图/图生图/参考图融合(背景融合)/三视图/多角度/提示词增强,多模型可选(豆包 Seedream 5.0 Pro、通义万相、即梦、GPT Image 2、智谱等 18 个图片模型),历史记录云端同步+状态追踪(成功/生成中/失败)+一键复用重生成;②实现:单文件静态部署 data/_system/_deploy/creation-center/(思洋 image.html 移植),模型列表接口改走思洋 /api/model-plaza/models 并按 capabilities 过滤仅图片模型;③入口:应用中心 → 应用广场 →「创作中心」;④安全:SYSTEM_APP_IDS 上锁(禁删/禁改),未登录 401、登录全链路可用;⑤验证:端到端真实生成(Doubao-Seedream 5.0 Pro 生成卡通猫图 1.2MB 落盘,任务 running→completed)。涉及 data/_system/_deploy/creation-center/、deploy-routes.ts。
2026-09-10 18:25
上游费用对账升级:新增「call_id 逐笔核对」(每笔调用可与上游一一对齐):
① 背景:上游模型广场现在对每次任务返回一个唯一编号 call_id(并附该次真实扣费),可用于逐笔比对「本地记了多少、上游实际扣了多少」。
② 平台已全量接入:所有打往模型广场的请求(对话、图片、视频、音频、语音等)自动记录 call_id、模型、金额、耗时,并绑定到对应的消费记录(个人/企业/请求维度),后台可逐笔追溯。
③ 后台「用量统计 → 上游模型广场对账」新增「call_id 逐笔核对」区块:选 1/7/30 天即可核对——显示本地发起数、上游扣费明细数、命中匹配数/匹配率、本地单边、上游单边、匹配样本费用差,并列出异常明细与按类型汇总;另支持输入单个 call_id 直接查询该笔调用的本地费用与上游扣费。
④ 说明:上游「真实扣费明细」中带 call_id 的记录为近期新增,越新的数据核对越完整。
2026-09-10 18:15
微家生活圈:商品详情 + 点击卡片看详情:新增商品详情工具与接口;在商品卡片上点击即可弹出详情(大图、标题、价格、店铺、库存/销量、描述)。仅作用于该智能体与该功能。
2026-09-10 17:50
修复:智能体多轮对话后回复出现「工具调用原文」:模型多轮后偶尔把工具调用写成 <工具名>{参数} 纯文本,此前解析不了、原文漏到页面(像报错)。现已支持识别该格式并正常执行(仅识别真实工具,不影响普通文本)。

17:58 调整:按「只改该智能体、不影响全局」,撤回上述引擎级改动;改为该智能体换用更强模型 deepseek-v4-pro。
2026-09-10 17:40
微家生活圈:只按“提炼出的关键词”搜一次:从用户的话里提炼一个关键词(如「帮我买瓶水」→「水」)调用一次即可,不再把模型联想的近义词反复提交。仅作用于该智能体与该工具。
2026-09-10 17:30
微家生活圈商品搜索:防止反复搜索:一句话最多搜索 3 次,避免模型用一堆近义关键词反复调接口;没有结果就如实回复。仅作用于该功能。
2026-09-10 17:20
微家生活圈商品搜索:结果改为商品卡片展示(仅该功能):搜商品后以卡片展示——商品主图、标题、价格、店铺名,比原始数据清晰。仅作用于「微家生活圈商品搜索」这个功能,其它智能体不受影响。
2026-09-10 17:00
新增工具:微家生活圈商品搜索(第三方 API 调用示范):在智能体里新增一个可调用第三方接口的工具(id village_goods_search),按关键词搜索微家生活圈商品。演示了「写一个调第三方 API 的工具」的标准做法——独立工具文件 + 在引擎注册 + 密钥存服务器配置(不入库);含超时、错误处理、结果截断。已实测可返回商品列表。
2026-09-10 14:30
编程模式「撤销/重做」修复:之前代码模式下撤销一篇没反应(记录时机错了,取出的正好是当前内容),现已修复——每次点「撤销」回退一次内容修改,可连续回退;「重做」恢复;AI 帮你改的代码也能撤销回去。入口:代码面板右上角「更多」→ 撤销 / 重做。
2026-09-10 12:00
编程模式:去掉重复的「历史」入口(老板核查「撤销/重做/历史是否重复」后选 A):撤销/重做与版本历史功能不同、均保留;仅去掉顶栏与代码面板 tab 重复的「版本历史」入口——桌面端用代码面板 tab「历史」,移动端用「更多」菜单里的「版本历史」;顶栏重复按钮两端均隐藏。同类去重:手机端「继续上次」与「更多」菜单重复,一并隐藏顶栏按钮。
2026-09-10 10:59
智能体导出改为 .zip 格式(老板指令):之前导出的是 .e5eagent(自定义后缀,普通系统打不开),现改为直接导出 <智能体ID>.zip,任何解压工具都能直接打开;包内结构不变,导入端仍同时兼容旧的 .e5eagent 包。
2026-09-10 10:35
智能体支持导出(老板反馈「没看到导出按钮」):智能体卡片操作区新增「导出」按钮——点击即下载 <智能体ID>.e5eagent 包(内含提示词、完整配置、关联技能),可用于备份或迁移到其它环境。此前该入口缺失(后端接口与前端函数都在,但按钮未接线)。
2026-09-10 10:05
多企业成员移除后部门归属修复:一个人同时属于多家企业时,从当前企业移除并切回主企业后,原部门归属被清空的问题已修复——现在会正确带出新企业的部门,部门级权限与工作台视图不受影响。
2026-09-10 09:20
邀请成员不再带出上个企业信息(企业 HR 数据按企业隔离,老板实证):
① 现象:账号 15323827832(张国明)原属「湖南第五元素网络科技开发有限公司」,被邀请进「湖南创际文化传媒有限公司」后,员工档案仍显示原企业的职务、合同类型、在职状态、入职时间、岗位职责——本应是一名全新员工(这些字段为空)。
② 根因:这些 HR 字段一直存在用户全局档案里(单一值),2026-08-22「一人多企业」改造只隔离了部门/管理员/权限,HR 字段被遗漏。
③ 修复:HR 字段改为按企业隔离——每个人在每个企业各存一份,新加入企业即空(全新员工),原企业数据保持不变;切换企业时自动按当前企业显示。
④ 附带体验:员工档案里合同类型/在职状态下拉新增「未设置」选项,未填写时不再默认显示为「全职/正式」。
该修复已生效,无需人工操作。
2026-08-31 12:20 — duo_image-rh 特征锚点优化(溶图降成本约 64%)
  • 实测:同一参考图组,4 种提示词写法对比——「特征锚点」最优:太后 8.5 分、林夏 9.5 分(原长段落仅 6 分翻车),追平 Seedream 5.0 Pro(9 分)。
  • 成本:duo_image-rh 每张约 0.14 元,仅为 Pro(0.39 元)的 1/3——人物一致性达到同等可用水平。
  • 落地:溶图默认模型改回 duo_image-rh,且提示词自动使用「特征锚点」结构(角色逐段锚定+参考图显式绑定+严格禁止改变);Seedream 5.0 Pro 保留为「质量优先」手动选项。
  • 无需操作:默认已切换,重新生成底图即生效。
2026-09-07 19:05
优化编程模式:减少重复读文件、控制上下文占用(老板反馈):
① 现象:生成网站等大任务时,AI 会反复整读同一个文件(一次官网任务首页读了 6 遍),对话上下文被文件内容塞满、频繁压缩,又慢又费。
② 优化:a) 同一文件同一内容本会话只读一次,重复读取会被自动跳过并提示直接使用已读内容(文件被修改后会正常重新读取);b) 大文件支持指定行号区间精读,并在工具说明中引导 AI「先用搜索定位、再按区间读取」,避免整读/扫读大文件。
③ 效果:长任务的读取次数与上下文占用显著下降。该优化重启服务后生效。
2026-09-07 17:55
官网生成支持多页面与多级导航:之前生成企业官网默认都是单页长滚动,导航也只有一级。现已升级设计规范:①自动判断——内容栏目多(产品分类/新闻资讯/多栏目)时生成多页面站(每栏目一个页面,或 React 多路由),纯落地页仍走单页;②多级导航——一级导航下的子栏目支持下拉/分组面板,当前所在栏目两级同时高亮,手机端汉堡菜单内逐级展开;③完整页面体系——关于/产品/案例/新闻等栏目页、列表页→详情页、面包屑、404 页,全站统一导航页脚与风格。之后新生成的官网/网站即按此执行。
2026-09-07 17:45
未读通知「标已读后数量不减」修复(老板报障):
① 根因:企业登录时,工作台「未读通知」数字与通知中心读写的是两份不同的通知数据(个人目录 vs 企业目录),标了已读另一边看不见;
② 修复:工作台未读数与通知中心改为同一数据源(个人身份看个人通知、企业身份看企业通知);
③ 顺带修复:工作台「环境信号」里点单条「标为已读」之前会把全部通知标成已读,现在只标当前那条。
④ 强刷页面生效。
2026-09-07 17:35
修复工作台页面左侧被侧边栏遮住(部分分辨率出现):
① 现象:打开「工作台」时,左侧导航栏右缘悬空压在工作台内容上(约 20px),1366×768 笔记本、1280、1024 等分辨率会出现,1440 及以上宽屏正常。
② 原因:工作台页面按「侧边栏宽度 260px」让位,但侧边栏在 769-1366px 区间实际宽度是 280px——写死与实际的偏差导致侧边栏压住工作台左缘。
③ 修复:让工作台让位宽度跟随侧边栏实际宽度(769-1366 为 280px、其余 260px),两种宽度下都精确对齐、不再重叠。刷新页面(或等待自动刷新提示)生效。
2026-09-07 17:25
uni-app H5 部署子路径修复:base 相对化根治「连接服务器超时,点击屏幕重试」(老板实测预览报错):
① 背景:uni-app 工程构建部署成功(/app/d63e4f854259c_mtr0zah6/)但预览报「连接服务器超时,点击屏幕重试」。
② 根因:AI 生成 uni-app 工程 vite.config.js 未设 base → 构建产物 router base="/",懒加载分包按根路径 /assets/xxx 请求 → 平台部署在子路径 /app/<id>/ 下资源全 404 → uni-app 运行时显示超时提示(puppeteer 复现实锤:分包 JS/CSS 请求 localhost:3002/assets/... 404 + CORS)。
③ 修复:a) vite.config.js 加 base: './'(相对路径)——构建后 base="./" 懒加载分包正常;b) 提示词固化 uni-app/Taro 铁律(base:'./' + manifest h5 router hash + 素材用本地 static/ 不用境外直链);c) 用户工程已改并重新构建部署。
④ 验证:puppeteer 旧产物(超时提示+CORS/404)→ 修复后页面完整渲染(轮播/推荐歌单全部显示,零错误);tsc 0。
2026-09-07 17:05
uni-app/Taro 构建链两连修:npm run build 硬编码 + 沙箱白名单拦截(老板实测「改用 uni-app 工程编译失败」):
① 背景:用户 18874942339 把微信小程序改 uni-app 工程(src/pages 5 页面 .vue 齐全)后点构建部署必失败。
② 根因两连:a) deploy-routes 执行构建硬编码 npm run build——uni-app/taro 只有 build:h5 脚本、无 build 时报 Missing script: build;b) 首次修复改裸跑 buildCmd(uni build)又被沙箱命令白名单拦截(uni 不在 ALLOWED_COMMANDS)。
③ 终版修复:解析 build 命令时记录来源脚本名(build→build:h5→build:web 依次 fallback),执行处统一 npm run <script>(npm 在白名单内,内部调 .bin/uni 不经过首 token 拦截);vite/tsc 等裸命令场景仍走 npm run build 兼容历史。
④ 验证:沙箱真实链路(复制工程→npm install→npm run build:h5)→ DONE Build complete → 产物 dist/build/h5/index.html;tsc 0。
⑤ 连带:服务重启会打断 coder 长任务——本次确认 pending 断点续接对 coder 分支生效(用户会话自动恢复续跑补全了 5 个页面)。
2026-09-07 16:40
修复企业云盘(共享盘)文件夹删除报「文件夹不存在」:在共享盘视图删除/管理文件夹时,请求没带企业标识导致后端去个人目录找(实际文件在共享盘),报 404。已修复:共享盘视图的删除操作正确携带企业标识;共享盘删除权限维持「仅文件上传者或企业管理员」。刷新页面生效。
2026-09-07 16:25
共享知识库按企业身份隔离(老板指令):
① 共享池分两套:企业身份登录看到本企业的共享池(企业A看不到企业B的);个人身份登录看到个人共享池;
② 企业成员的「企业个人知识库」文档现在也可以共享到本企业共享池(此前被禁止),共享后企业个人列表保留记录并打「已共享」标;
③ 搜索/引用同步按身份隔离:企业身份只命中本企业共享内容,个人身份只命中个人共享池;
④ 跨企业无法查看/下载他人企业的共享文档;企业知识库(管理员管理)的文档仍不可被成员共享。
2026-09-07 16:15
编程模式多类型开发支持:小程序/uni-app/Taro 等框架可预览(老板报障「小程序开发预览没生效」):
① 背景:用户说「开发微信小程序」→AI 生成原生 wxml/wxss 工程(无 index.html)→平台预览器只认 HTML/构建型→预览区空白「暂无 HTML 预览」。
② 根因:平台预览=浏览器 iframe,原生小程序需微信开发者工具无法浏览器运行,系统零防护(提示词没说边界/框架检测只认 vite/兜底文案不解释)。
③ 修复:a) 生成物策略(coderPromptBase 新增「项目类型与预览能力边界」铁律)——小程序请求严禁直接生成原生 wxml 工程,默认生成移动端 H5 Web 应用(手机壳布局实时可预览);要可上架原生小程序则先告知无法预览,再生成 uni-app/Taro 工程(配 build:h5 可自动构建 H5 预览);b) 框架识别扩展——新增统一检测(vite/react-scripts/next/nuxt/vue-cli/taro/uni-app/svelte/astro/quasar 依赖 + build/build:h5/build:web 脚本),替换原两处仅 vite 系窄正则;c) 构建链适配——无 build 脚本时 fallback build:h5/build:web,产物目录递归下探(uni-app H5 在 dist/build/h5);d) 预览兜底升级——检测 wxml/wxss/app.json 工程提示「需下载后用微信开发者工具导入」+引导生成 H5/uni-app 版。
④ 验证:框架识别单测 8/8、提示分支 4/4、build 命令选择 4/4、产物下探 dist→dist/build/h5;真实端到端——用户发「做一个在线听音乐的微信小程序」→AI 产出手机壳 H5 音乐应用 index.html(50KB,含 TabBar/播放器/轮播)实时可预览,不再生成 wxml;tsc 0、health 200。
2026-09-07 16:05
「共享知识库」升级为全平台共享池(老板指令):
① 现在打开「共享知识库」页签,能看到所有人共享出来的文档和文件夹,每份文档标注共享者姓名;
② 他人共享的文档可以直接查看原文、下载、引用到对话(此前只能靠搜索碰运气,预览/下载还会报「文档不存在」);
③ 别人的共享文档对你只读——不能转私有/移动/删除;带密码的共享文件夹仍需输入密码;
④ 你自己共享的文档依旧显示在个人知识库(带「已共享」标),随时可转回私有。
2026-09-07 15:35
知识库新增「共享知识库」页签(老板指令):此前界面一直没有这个页签,共享出去的文档无处可看;现已在知识库页「个人知识库」旁补上——点开即可查看你共享出去的全部文档与共享文件夹(带密码锁的共享文件夹在此页签输入密码查看);他人共享的文档仍通过搜索/对话引用发现。刷新页面即可看到。
2026-09-07 15:20
知识库共享体验修复:共享后不再「消失」(老板指令):
① 症状:个人知识库把文档共享后文档从列表消失——个人页签只显示个人文档,聊天 @知识库引用选择器也看不到共享文档,且接口 total 与实回数不一致(total=5 实回 4)。
② 修复:a) 个人知识库保留共享记录——已共享文档继续显示在个人知识库并打紫色「已共享」标(悬停提示同步显示在「共享知识库」页签);b) 共享去向告知——共享成功提示「已共享:可在『共享知识库』页签查看,个人知识库保留记录」(批量共享同理),转私有提示「已从『共享知识库』移除」;c) 右键菜单与卡片按钮按文档当前状态显示「共享/转私有」(原按当前页签误判);d) 接口 total 修正,聊天 @引用恢复可见共享文档;企业文档仍不可共享/不混入个人列表(安全规则不变)。
③ 验证:测试账号实测共享后三处(个人页签/共享页签/聊天@引用列表)均可见,共享→转私有往返闭环通过;tsc 零错误。
2026-09-05 12:11
协议审查类文档任务被误判成建站修复(老板实测「帮我看下这份协议内容…生成一份完整文档」触发网站生成):
① 症状:普通聊天发协议审查指令+粘贴协议全文,触发的是「网站生成」而非文档优化。
② 根因:编排分支的 isAppCreation 多页建站判定拿未剥离附件全文的 userRequest匹配——协议/合同全文自带「平台/系统/官网/小程序」等词+指令「生成一份」组合命中建站正则→启动 runOrchestrator 编排引擎;附件剥离 stripAttachments/pureRequest 定义在判定之后,只服务单页直出/isModifyPattern,建站判定本体漏剥(08-01 附件剥离改造遗留缺口)。
③ 修复:a) 附件剥离/文档审查判定上移至 isAppCreation 之前,建站词判定全部改用剥离后 pureRequest;b) 新增 _isDocReviewTask 相邻模式(审查/优化动词+文档名词≤10字)否定建站——不用全文扫匹配排除,因协议全文自带「开发官网/平台系统」描述句会误放行;c) document/writing 意图绝不进应用编排(_capSkipAppCreationDoc)。
④ 验证:行为测试 11/11(协议审查6场景不触发+后台管理系统/官网/单页/修改语义保持);真实 SSE 冒烟——该消息→document 意图→文档撰写助手 ask_user 要协议原文,不再启动编排引擎;tsc 零错误。
2026-09-04 15:35
批量生成三视图两问题修复:①「形象和主图不一致」——批量提交时有一张三图在识别主图环节失败,系统按角色名想象着画了一张(废图)。现已改为:识别主图失败自动重试 3 次,仍失败就直接中止并退款,绝不再生成与主图不符的图;「老周」那张废三视图已清除,刷新后点「批量三视图」可重新补生成。②「主图被删除」——主图没有被删,是角色卡封面在生成多角度后自动换成了多角度图。已改为封面始终显示主图(多角度/三视图点开角色详情查看)。刷新页面即可恢复正常。
2026-09-04 15:10
角色页新增「批量三视图 / 批量多角度」按钮:资产库-角色页面,「重新提取资产」按钮后面新增两个批量按钮(数量实时显示待生成角色数)。只为主图已有、但还没有三视图/多角度的角色补生成(主图换过导致定妆照不一致的也会自动纳入),不会覆盖已有图片、不重复扣费;点击后确认计费(三视图每角色 1 张图、多角度每角色 5 张图),逐个提交后台生成,完成后自动回填角色卡;支持一次提交多个角色(限流已放宽),失败的角色可逐个重试。
2026-09-04 12:20
「查看详情报错」与「短剧历史消失」双修复:①短视频历史点「查看详情」报 Maximum call stack size exceeded——上午上线的任务查询节流器有个笔误(自己调自己导致栈溢出),已修复;页面刷新后生效,历史详情、生成进度查询全部恢复。②短剧历史项目此前只认当前登录的工作区——在个人/企业工作区切换后另一侧的短剧项目会看不到;现在历史与作品页跨工作区合并展示(仅限本人数据),旧版一键合成的短剧成片也纳入「短剧」分类,不再凭空消失。
2026-09-04 12:10
三视图与主图一致性根治 + 三视图/定妆照任务进任务中心:①之前生成三视图用的是角色创建时的旧文字描述,不是你当前看到的主图——主图换过之后三视图就跟主图长得不一样。现在三视图会先「看」当前主图提取人物外观(脸型/发型/服装/配饰),再按此外观生成四视图,与主图保持一致(多角度/全身参考图同源);②三视图、多角度、定妆照生成任务同步进任务中心(图片图标,标题如「生成三视图:XXX」),完成自动更新;这类任务生成中无法中断(失败会自动退款),任务中心只提供进度查看与删除记录,重新生成在素材卡上操作。
2026-09-04 11:25
分集脚本「全部失败可重试」根治:上午生成时段上游响应变慢,每批 5 集脚本生成超过 120 秒时请求被网关直接掐断,四个备用模型也全部超时,导致分集脚本全部失败。现已改为流式生成(边生成边传输,网关不再掐断长任务),单批最长可跑 7 分钟,模型回退链保留;上游恢复后实测 5 集脚本 40 秒完成。遇到失败时点「可重试」即可重新生成。
2026-09-03 18:45
资产库角色/道具/场景生成接入任务中心:之前资产库里点「AI 生成」角色/道具/场景,任务只在素材卡上显示进度,任务中心里看不到。现在资产库的生成任务会同步出现在任务中心(图片类型,标题如「生成角色:XXX」),可统一查看进度、取消(费用自动退回,资产卡同步复位可重新生成)、删除记录;失败的生成不提供任务中心重试(回到素材库点「重新生成」即可,避免重复扣费)。短视频/短剧/数字人任务不受影响。
2026-09-03 16:30
短视频「画面男人声音女人」音画性别错位根治:生成短视频时画面人物与配音声音性别不一致(画面是男人、声音是女人)的问题已修复。根因是镜头提示词里没写角色性别时,画面模型按外观脑补(常生成男性),而语音模型固定输出默认女声;无参考图时成片配音还统一用晓晓女声。现改为:①写脚本时明确每个角色的性别(男/女);②上传真人形象照时由 AI 识别照片中人物性别;③镜头提示词显式声明角色性别,让画面人物与自带配音性别一致;④无参考图成片的配音音色按主角性别自动匹配(男性用云希男声、女性用晓晓女声)。新生成的短视频即生效。
2026-09-01 11:30
应用中心新增「创作中心」应用(思洋创作中心功能移植):把思洋的图片创作中心完整移植到思洋应用中心——①功能:文生图/图生图/参考图融合(背景融合)/三视图/多角度/提示词增强,多模型可选(豆包 Seedream 5.0 Pro、通义万相、即梦、GPT Image 2、智谱等 18 个图片模型),历史记录云端同步+状态追踪(成功/生成中/失败)+一键复用重生成;②实现:单文件静态部署 data/_system/_deploy/creation-center/(思洋 image.html 移植),模型列表接口改走思洋 /api/model-plaza/models 并按 capabilities 过滤仅图片模型;③入口:应用中心 → 应用广场 →「创作中心」;④安全:SYSTEM_APP_IDS 上锁(禁删/禁改),未登录 401、登录全链路可用;⑤验证:端到端真实生成(Doubao-Seedream 5.0 Pro 生成卡通猫图 1.2MB 落盘,任务 running→completed)。涉及 data/_system/_deploy/creation-center/、deploy-routes.ts。
2026-08-29 19:20
短视频镜头画面描述可编辑:短视频生成脚本卡里,此前只有台词能直接修改、镜头画面描述只能看不能改。现已支持点击画面描述直接编辑,生成画面时会采用修改后的描述。
2026-08-29 18:10
H3 全能参考(图生视频)对齐最新接口:全能参考无损版对齐上游最新 API(content 数组契约),支持画面比例参数,图生视频竖屏需求直接出竖屏,不再降级处理。
2026-08-29 17:40
H3 文生视频对齐最新接口:文生视频(无损版)对齐上游最新 API——支持画面比例参数(竖屏/横屏/方形),并修复竖屏需求下输出横屏的问题。
2026-08-29 16:10
素材库增加创建/添加功能:素材库模块补齐创作入口——道具/场景/其他素材支持「AI 生成」(输入名称+描述,文生图直接入库);剧本页增加「+ 新建剧本」一键回到工作室开始创作;并修复「其他素材」AI 生成误入「场景」分类的落盘问题。
2026-08-29 15:05
应用中心操作区优化(老板指令:图标优化、布局优化;广场/企业应用只能做同款):①按钮分层——我的应用卡片主操作「继续编辑」带文字高亮突出、「做同款」次级带文字,分享/发布/快捷栏等低频操作收进「⋯」更多菜单(桌面可点),删除隔离最右;②广场/企业应用统一「做同款」——应用广场与企业应用标签去掉「加载到编辑器」,改为「做同款」(复制成自己的新项目,不影响原作者);③源码复制权限配套放开——已发布到应用广场的应用允许登录用户复制做同款(系统应用仍上锁);④图标语义梳理(做同款=复制图标、分享=分享图标)+ hover 反馈。涉及 deploy-routes.ts、public/static/js/chat.js、public/static/css/main.css、public/index.html。
2026-08-29 15:10
应用中心新增「做同款」+ 部署关联自动同步:①做同款——「我的应用」卡片新增「做同款」按钮,一键把已部署的应用复制为一个独立的新项目(自动命名「原名 · 同款」)并直接打开编辑器,随便改、随时部署成新应用,原应用与线上版本完全不受影响;②部署关联自动同步——修复重新部署后项目卡残留失效链接的问题(此前从编程模式重新部署只清理旧部署目录、不回写新部署关联,导致应用中心出现多余的「编辑状态中」卡片),现在每次部署成功自动把项目指向最新部署。涉及 deploy-routes.ts、public/static/js/chat.js、public/index.html。
2026-08-29 13:53
批量文案输入框加高:撤回主创作台输入框的加高调整,改为批量生成模块的多行文案输入框增加 30px。
2026-08-29 13:43
口播文案输入框加高:数字人主文案输入框高度增加 30px,长文案编辑更舒适。
2026-09-03 13:10
上游参考图 URL 公网免鉴权全面审计修复(老板指令「提交到 API 的参考图 URL 都必须公网可下载免验证」):双路审计确认主链路(视频/图片/3D/音频任务执行器)已集中转公网,修复直提旁路——①新增 agentRefToPublic 统一转换(data→temp_media 魔数扩展名 / 站内 assets 本地读转公网);②Agent 工具 8 处直提修复(generate_image/edit_image 原把 base64 写云盘构造无签名 assets URL → 上游 401 必现;sketch_to_image/视频换脸/视频编辑/参考生视频/3D/识图零转换直提);③视频参考数组与图片/3D/音频执行器补提交前断言(残留 401 站内 URL 提前失败退款,不再空跑上游计费);④短剧视觉反推与识图改公网 temp URL、TTS 克隆参考音频扩展名魔数检测。涉及 server.ts、short-drama-routes.ts。
2026-09-03 12:30
全系统安全与存储审计修复:
①安全止血(P0):后台会话 token 改哈希存储(DB 泄露不再直接接管后台)、敏感文件权限收紧(后台库/成员目录 600/700)、部署运行能力从免费档剥离到付费档+企业管理员。
②数据/性能(P1):任务驱逐只删终态不再静默删运行中任务(已计费任务不再成孤儿)、tasks.json 递归剥离 base64 大字段(61MB→约20MB,落盘不再阻塞)、每日快照接入自动恢复链、项目文件原子写入+损坏留档、短剧项目详情改走内存不再整读 61MB、收片/素材下载全部加超时。
③加固(P2):视频分析接口补鉴权防越权、诊断分享删除硬编码密钥、云盘分享码升级 128 位+7 天过期、匿名提交接口限流、SQLite 全线加 busy_timeout、前端任务轮询去重。
2026-09-03 12:05
短剧资产库新增「重新提取资产」:资产库批量生成按钮前新增「重新提取资产」按钮——改过大纲/剧本后一键按当前大纲重建角色/道具/场景/素材列表(原进入资产库后不重新提取,改大纲也看不到新资产);同名资产若已在素材库生成过定妆照/原图会自动复用,未生成图的回到待生成可再批量生成;点按钮有确认弹窗(提示将更新/移除不在大纲中的旧资产),批量生成进行中会拦截防止冲突。涉及 public/short-drama.html(extractAssets 支持 force 强制模式)。
2026-09-03 12:00
历史记录完整化 + 服务稳定性:①历史页现合并冷存储归档,被“每用户 200 条上限”自动归档的旧记录也会完整展示(标注“历史归档”,可查看播放);删除记录前自动留档,每日任务快照保留 30 天,记录不再丢失。②修复偶发“服务响应异常”错误提示:接口异常时不再弹出原始解析错误,视频成片缺失时显示明确占位说明。
2026-09-03 11:20
全量用户历史记录找回:扫描全部历史备份,除主账号外另发现 3 个用户也受任务存储重建影响,缺失记录共 26 条(含失败/取消状态记录),已全部合并恢复入库。受影响账号的历史记录现已完整,成片完好的记录可正常播放与恢复。
2026-09-03 11:00
历史数据找回:定位并恢复 8/27 任务存储重建时被清除的历史任务记录(8/16-8/26 的短视频、数字人、长视频共 29 条,成片文件始终完好保存在云盘)。恢复后历史页完整显示全部记录,成片可正常播放与恢复。
2026-09-03 10:30
历史中心全链路重构:历史记录统一为独立页面和单一数据契约,完整覆盖短剧项目、短视频/短剧成片、图文成片、连续视频与数字人。交互统一为「分类列表 → 点击单条 → 详情页面」;支持搜索、30 条分批加载、稳定 ID 详情、请求竞态保护、个人/企业空间标识、统一删除。恢复能力补齐:短剧恢复工作室,短视频/连续视频恢复创作参数,图文成片恢复图片与文案,数字人恢复形象/文案/模型/比例/声音;进行中任务可继续查看进度,失败任务可重新生成。左侧重复标题同步去重。
2026-09-03 09:35
历史分类数据加载修复:分类 tab 切换后不再整页空白——三个数据源(短剧/短视频/数字人)全部拉取后前端过滤,单一数据源为空时其他类型仍显示;当前模式无短剧项目时明确提示「可能在企业空间」;分类选择刷新/跳页后不丢失。
2026-09-03 09:15
历史记录详情页:每条历史记录点卡片都可进入详情页恢复——短剧项目恢复进工作室继续创作;短视频/数字人显示完整详情(视频播放 + 创意/口播文案 + 分镜缩略图 + 一键同款/导入剪辑/去字幕/发布),带返回按钮回到历史列表。
2026-09-03 09:00
全部历史改回独立页面:「全部」恢复跳转独立历史页(不再是小弹窗),页面顶部分类 tab(全部/短剧/短视频/数字人),默认「全部」合并显示所有类型记录,卡片带类型标签;切到「短视频」可看完整分镜/同款/导入剪辑。
2026-09-03 08:55
全部历史记录升级:「全部」弹窗现在合并显示所有类型——短剧项目 + 短视频成片 + 数字人,顶部分类 tab(全部/短剧/短视频/数字人)可切换筛选,默认「全部」显示所有记录,卡片带类型标签。
2026-09-03 08:50
历史记录修复:①侧边栏「全部」现在真正打开「全部历史记录」弹窗(此前跳到短视频历史页,看不到短剧项目);②历史列表去重——同一项目 id 只显示最新一条(此前并发保存可能同 id 多写导致标题重复)。
2026-09-02 10:05
三视图改文生图通道:三视图此前走图生模型(picto3view)实测排队极深(12+ 小时不出图),改为视觉反推 + 文生图通道(四视图布局描述,与多角度同源),定妆照三类图(多角度/全身中转/三视图)全部统一走稳定的文生图通道。
2026-09-01 13:20
上游高峰提交失败根治:图片生成提交重试退避加长(15s→30s→60s 错峰),主模型 3 次失败后自动降级备用图片模型(Seedream 5.0 / Qwen Image Plus)再试,不再直接报失败。上游拥堵时段定妆照/资产图生成成功率大幅提升。
2026-09-01 13:10
根治「角色取图不及时/显示待生成」:①定妆照失败不再把主图已生成好的资产打回「待生成」(多角度失败不影响主图,仅提示可单独重试);②资产卡状态改为「有图即已生成」(image 是唯一事实源,状态字段混合态不再误导显示「待生成」)。主图生成成功即正确显示,与定妆照成败解耦。
2026-09-01 12:10
修复道具图生成出人物:道具类生成此前可能把「XX的道具/服装」理解成画人物肖像(带人脸),现在道具生成统一加「静物特写、无人出镜、无人物无人脸无手」约束,只生成道具本身(服装写平铺/悬挂展示图,不画穿着的人)。AI 优化提示词同步约束。
2026-09-01 11:25
定妆照生成全链根治(文生图通道 + 回填闭环):多角度/全身中转图全部改走稳定的文生图通道(视觉反推外观 + e5e_zimage 文生,不再依赖不稳定的图生模型);修复「生成中永不回填」——定妆照重生成提交后正确清空任务标记,轮询定时器恢复接管,完成后自动显示新图。
2026-09-01 10:10
全身中转图改文生图通道:原 baseFull 用图生模型(role-angles)实测全部失败/超时,改为视觉反推 + 文生图通道(参考图→AI 描述外观→e5e_zimage 文生白底全身图),与资产主图生成共用同一稳定通道。多角度仍以 baseFull 为参考生成。
2026-09-01 09:10
多角度两段式生成:多角度不再直接用原始参考图生成——先把参考图(可能是半身/特写/带复杂背景)扩成一张白底全身标准图,再以这张全身图为参考生成 5 张多角度图。彻底解决多角度服装/下半身靠 AI 乱编、被原图背景干扰的问题;这张全身图也保留为角色的全身参考图。生成失败自动回退原参考图,不影响整体流程。
2026-09-01 09:00
多角度图全白底化:多角度 5 张全部改为纯白背景全身图(影棚布光、无道具无场景),避免原参考图背景渗入多角度图,干扰后续分镜溶图与视频生成的场景融合。白底人像 + 场景图分离后,模型能更干净地把人物合成进目标场景。
2026-09-01 08:55
根治「重新生成又调老图」:任务列表按名称匹配挂图时会把历史上所有同名已完成任务的旧图反复挂回(每 4 秒一次覆盖最新图)。现在已完成任务只按任务号精确匹配挂图;无任务号的历史资产只挂「最新一条」结果;页面刷新恢复同理。您当前的太后主图已直接修正为最新生成图。
2026-08-31 22:05
修复「角色生成多次加载的还是旧图」:手机切后台时浏览器冻结同步定时器,生成任务在后台完成后新图无人挂载;仅存活的定妆照轮询又误把资产标成就绪并保留旧主图。现在:①定妆照轮询不再接管有生成任务在途的资产;②页面回前台立即补扫一轮挂新图;③下次打开页面自动按任务号精确挂回最新图(积压旧图自愈)。
2026-08-31 21:45
多角度图全身化重构:多角度 5 张全部改为全身人像(正面全身/右侧45°/右侧90°/俯拍/低角度,统一"head to toe + same outfit"提示词),移除特写角度图(面部细节由半身主图锁定)。特写/近景镜头的参考图自动改配「主图半身 + 正面全身」,保证五官与服装双重一致。
2026-08-31 20:45
角色定妆照结构精简:基于 295 个真实镜头的命中率分析(特写 51%、右45° 29%、全景 11%、低角度 9%、俯拍 7%、左右90° 各 6%、左45° 0%),多角度从 8 张精简为 5 张(特写/全景/右45°/俯拍/低角度),背影镜头改用四视图三视图的背面视图;主图固定半身(特写与全身景别由多角度和三视图覆盖)。计费同步下调:完整定妆照 10 张→7 张、仅多角度 8 张→5 张,生成成本降低约 30%。
2026-08-31 18:02
主图/三视图/多角度血统一致性(epoch 机制):角色主图每次 AI 重新生成自动打「代数戳」,旧多角度/三视图与新主图错位时立即标记「形象不一致」——角色卡显示警示徽标、封面切换为新主图;分镜溶图/视频参考图自动跳过旧代角度图(防止新旧两种形象混入参考图导致人物漂移);重新生成定妆照完成后自动恢复一致。三张图永远同源:多角度与三视图始终基于当前主图生成。
2026-08-31 17:55
角色生成全链路审计修复:①资产库角色更换主图(AI 重新生成)后,再点「重新生成多角度/三视图」不再基于旧参考图——传入图与当前参考图内容不同时自动替换参考图再生成,定妆照始终与主图形象一致;②服务重启后恢复生成不再回落默认模型(按创建/重生成时所选模型继续),计费与实际生成模型一致;③重启恢复的重新生成任务失败时退款 key 不再断链。
2026-08-31 17:30
修复「写大纲就出错 504」:大纲流式生成此前未关闭思考模式,思考模型长时间只输出思考内容(不计为首 token)被 90 秒超时误杀,连续切换备用模型全部失败后回退非流式又被上游网关 504。现在流式请求显式关闭思考(首 token 实测 1.3 秒)、超时放宽(首 token 150 秒/单模型 420 秒)、上游有任何数据到达即重置计时器(思考期间不再误杀)。
2026-08-31 17:30
AI PPT 历史记录归属清理(老板指令:历史记录归属到对应的人,无法归属的删除):①归属体系确认——PPT 历史记录按用户目录隔离存储(个人 data/users/<u>/ppt/、企业 data/tenants/<tid>/members/<u>/ppt/),每个用户只能看到自己的历史,天然归属;②孤儿清理——旧版全局共享目录 data/ppt/ 下的 43 个历史演示文稿(2026-07-23~07-26 开发期生成,无 ownerId、无任务/对话/日志任何归属线索)已备份至 /root/backups/ppt-legacy-orphan-20260831/ 并删除;③防复发——无 ownerId 的兜底落盘隔离到 data/ppt/_orphan/ 子目录,不再产生根目录孤儿、不参与任何读取。涉及 ppt-module.ts。
2026-08-29 20:47
H3 比例改枚举格式:ratio 参数改用上游枚举值(1:1 (Square)、16:9 (Widescreen)、9:16 (Portrait Widescreen)),简单比例字符串不生效导致始终横屏。
2026-08-29 20:35
H3 提交请求体全量日志:H3 数字人提交上游前完整打印请求体(含 size/ratio),便于核对上游实际收到的参数。
2026-08-29 20:09
H3 提交补 size/ratio 参数:按上游文档修正 H3 提交契约——size 为数值清晰度(0.4 标清/0.9 高清/2.0 超清),ratio 为比例字符串(如 9:16、16:9);此前传法不对导致上游始终用默认横屏。
2026-09-04 09:40
「API 请求过于频繁」根治:生成三视图等操作偶发提示请求过于频繁——根因是页面后台任务状态轮询在多任务并发时堆积,占满全局限流额度,误伤正常操作。现已将任务查询拆分独立限额(不再抢占操作类接口额度),并对前端轮询做全局去重节流(同一任务并发只发一个请求)。
2026-08-29 19:36
默认动作提示词完整修复:修复外观描述过长把动作段挤掉、且 900 字截断截掉了 [Motion] 段的问题——现在强制五段结构校验(缺段自动重试),上限放宽到 2000 字,确保「自然说话」默认动作始终在提示词里。
2026-08-29 19:05
修复卡在「动作提示词优化中」:动作提示词改写完成后,任务阶段立即推进到数字人生成,不再停留在提示词优化环节(上游排队慢时也不误显示)。
2026-08-29 18:51
预览窗口去重复控件:数字人预览窗口不再同时显示两套播放控件(自研进度条与播放器皮肤),现在只保留自研进度条,画面更干净。
2026-08-29 18:06
H3 数字人两项修复:①未填写动作提示词时自动使用默认动作描述(面对镜头自然说话、口型同步),不再把口播文案误当动作;②比例修复——新契约下 9:16 等比例通过 size 参数传给上游,不再出现设定竖屏却输出横屏的问题。
2026-08-29 17:35
场景缩略图与 H3 接口适配:场景卡片改为 4 列布局,最多 12 张即 3 行,并统一使用缩略图;H3 数字人改用新的 image/audio/prompt 提交契约。
2026-08-29 13:20
批量数字人生成提速与恢复增强:批量任务从单条串行改为 3 条并行提交;服务重启后同时恢复 pending/running,不再因 12 分钟无父任务更新时间误判失败;视频角色批量不再携带动作提示词。
2026-08-29 09:30
云盘下载按钮修复:修复部分文件下载提示「禁止访问/403」无法下载的问题。根因是下载链接的企业目录参数与文件实际存放目录(企业个人盘 vs 企业共享盘)不一致导致定位错误。现服务端在目标目录找不到文件时自动回退另一侧目录查找,带目录归属校验不越权,五种场景(带/不带租户参数 × 个人盘/共享盘文件)下载全通。
2026-08-29 02:59
比例改动即时预览:在参数里把比例改成横屏/竖屏/方形时,预览区立即切换对应形状,实时反映输出比例。
2026-08-29 02:56
视频角色保持原比例:上传视频角色时不再固定转成 9:16 竖屏——现在会探测视频实际比例,横屏就按横屏存储,不再被上下加黑边压成竖屏。
2026-08-29 02:54
配音生成更稳:修复 TTS 间歇性失败(微软 Edge TTS 偶发收不到音频)——现在自动多重试 + 指定音色失败时降级默认音色重试,并放宽了各调用点的超时时间。
2026-08-29 02:46
横屏形象自动切横屏比例尺寸:上传/选中的视频或图片是横屏时,自动把「比例」切到 16:9 横屏、「尺寸」按实际分辨率匹配清晰度档位;竖屏则自动切回 9:16。
2026-08-29 02:36
任务中心去重:修复视频数字人提交一次却在任务中心出现两条(父任务+子任务)的问题——现在任务中心只显示顶层任务,内部子任务不再重复展示。
2026-08-28 21:31
文案输入区重排:分段预览/AI写稿/清空按钮移到文本框左下角,生成配音试听/生成成片移到右下角;动作提示词改为「动作输入」按钮,点击弹出动作输入弹窗(替换原文本框)。
2026-08-28 21:28
空形象提示居中:形象库为空时的「还没有形象,点上方上传/AI生成/导入添加」文字与图标改为居中显示。
2026-08-28 21:23
预览区按形象比例自适应:上传的图片/视频角色是横屏时,预览区自动切换为横屏;竖屏则竖屏,按实际宽高比精确适配,不再固定竖屏。
2026-08-28 21:17
视频数字人尺寸到 1920:数字人清晰度选项新增「超清 1920」,后端尺寸钳制上限从 1280 放宽到 1920。
2026-08-28 21:14
视频角色隐藏动作框:当形象是视频角色(走视频数字人模型)时,自动隐藏「动作提示词」输入框(视频模型不支持指定动作);图片形象仍正常显示。
2026-08-28 20:09
CRM 第三次全面审计 + 员工工作台安全修复:确认前两轮修复仍在(跨租户商机转交 403、CSV 导入 L0 拦截、scopeMatches *:* 全通配、工作流 AI 每租户限流);发现并修复新「员工工作台」/api/crm/workbench/analyze 端点缺 scope 校验——对不存在/跨租户 oppId 仍返回 200 消耗 AI(同功能的 script 端点有 scope 校验,analyze 漏了)→补 scopeWhere 校验后返回 404。审计数据现状:真实业务数据 84 客户/84 商机/81 联系人(怀化企业,已实际启用),引用完整性全 0(无孤儿/无跨租户错配)。
2026-08-28 20:07
场景选择圆点优化:场景图片上的选择圆点默认隐藏,只有选中后才显示;颜色从紫色改为带透明度的白色。
2026-08-28 18:56
对话上传图片「点提交无效」根治(老板报障:上传图片后点提交无效,没有成功)。【根因】任务理解/蓝图层看不到图片——understandTask 的 attachments 只读 req.body.images 顶层字段(且只取 type/name),但图片实际在 messages[].content[] 数组的 image_url part(前端已把 images 字段转成 content 数组)→ 蓝图层(enhanceTaskBlueprint,deepseek-v4-flash 文本模型)看不到图片内容 → 生成「请提供图片」澄清问题 needsClarification → AI 反问用户。【修复】①server.ts 从 messages 的 content 数组补充媒体附件检测(image_url/video_url/input_audio + images 字段),让任务理解层知道有附件;②lens-task-blueprint.ts 蓝图 prompt 加约束——检测到媒体附件时明确告知「附件已上传,系统用视觉/多模态模型直接处理,你无法也无需读取附件内容,不要生成请提供图片之类的澄清问题」。【验证】连续多次复现 needsClarification=false + clarificationQuestion 空,模型正确识别图片(如 OpenClaw 终端截图描述完整);tsc 零错误。
2026-08-28 19:05
口播成片改用视频模型自带配音:短视频生成里的「口播成片」不再用 edge-tts 合成配音 + 数字人对口型,改为 H3 视频模型 generate_audio 直接生成带配音的视频(音色为模型自带的自然声音);有参考图走全能参考、无图走文生视频;上传声音/克隆音色/声音设计等能力仅在「数字人」板块保留。实测探针:H3 生成视频带 aac 音轨、mean_volume -15.6dB 持续人声,读出台词成功。
2026-08-28 19:03
图片数字人默认 H3:图片数字人生成默认改用 H3 音频驱动数字人模型(原默认图片数字人 2.0 仍可选)。
2026-08-28 18:32
智脑任务链「任务规划失败」根治(老板报障:发布任务马上提示「正在分析任务...任务规划失败,请尝试更明确地描述需求」)。【根因】planTask 在上游间歇性返回空 content/非 JSON 内容时静默 return null(无 [Planner] 错误日志,说明非 HTTP 错误而是模型返回内容解析失败),前端只能提示「需求不明确」把上游/解析故障推责给用户。【修复】①planTask 加 3 次重试(单次失败退避 0.8s/1.6s 重试,间歇性故障大概率恢复);②JSON 解析健壮化——容忍 markdown code fence 包裹的 JSON、空 content 明确抛错、解析失败记录 content 前 120 字便于排查;③过滤缺 tool 字段的步骤(模型偶返 {step,details} 而非 {id,tool,params},防 executePlan 里 step.tool=undefined 崩溃);④错误提示改「AI 服务暂时不可用或响应异常,请稍后重试」,不再推责用户。验证:连续 8 次任务链规划全成功(正常路径零回归)、tsc 零错误。
2026-08-28 18:15
资产库场景上传显示修复:修复短剧资产库「场景」模块上传图片提示成功但资产卡不显示的问题——前端上传成功后读错了接口返回字段,现已修正,上传的场景图会正确显示在资产卡上。
2026-08-28 18:17
删除 AI 写稿图标:移除「AI 写稿」按钮前的 ✨ 图标。
2026-08-28 18:17
对话上传图片复刻页面失败根治(老板报障:主对话窗口历史任务「认真学习图片UI设计/风格/配饰细节,用HTML复刻手机版页面」失败)。【根因】视觉模型 deepseek-v4-flash-vision-exp 名字带 vision,但上游网关元数据 capabilities 只标 ['chat'](漏标 vision),本地「已知视觉模型」白名单 _visionKnown 正则未覆盖它 → 被判「不支持视觉」→ 发 LLM 前图片被移除(日志 [ImageRoute] 模型 deepseek-v4-flash-vision-exp 不支持视觉,移除图片)→ AI 看不到图,只能回「请切换支持图片的模型」,复刻失败。【修复】_visionKnown 正则加通用 |vision 关键词兜底——凡模型名含 vision 一律视为支持视觉(模型名带 vision 几乎必是视觉模型,风险极低),与 kimi-k3/gpt-4o/qwen-vl 等既有白名单并存。【验证】清 modelPlaza 持久化缓存(data/_system/plaza-models-cache.json,TTL 10min 否则重启后从磁盘旧缓存加载不重新拉上游)重启后实测 deepseek-v4-flash-vision-exp supports_vision 由 False→True、caps ['chat']→['chat','vision'];tsc 零错误。
2026-08-28 18:15
口播成片自动分段三项优化(连贯性):①配音音色一致——标准音色也改为「一次性合成整段配音 + 超上限静音切分」,不再逐段 edge-tts(逐段独立合成音色/节奏漂移,分段成片听起来像不同人说话);②形象/道具/场景一致——动作提示词改写增加 [Scene & Prop Consistency] 段,从文案与动作描述中提炼全片统一场景与道具并锁定,所有分段保持相同背景、陈设、光线氛围,不再逐段漂移;③文案可编辑——创作台新增「分段预览」按钮,提交前展示自动分段结果,每段文案可逐段修改,确认后应用(配音仍整段合成保证音色一致)。
2026-08-28 18:10
删除提示模块:移除数字人页「形象库与短剧角色、素材库互通」的提示文字。
2026-08-28 18:09
中间预览区上移:数字人中间预览图及以下模块(文案/动作提示词/生成按钮)整体上移 30px。
2026-08-28 18:06
参数板块独立成卡:右侧「参数」(比例/清晰度/时长档位/数字人模型)也拆成独立卡片,与「声音」卡片并列,区分更清晰。
2026-08-28 18:00
短剧资产库场景生成「无进度无结果」根治(老板报障:资产库-场景上传参考图生成确定后无效,与之前角色一样的问题)。【根因三层】①comfyui GPU 云已下线——场景默认图片模型 z-image 是 comfyui 内置模型(seetacloud 实例 endpoint 实测 404),提交 /api/workflow/generate 必失败;②回退广场模型名错——safeImgModel 原写 `comfyCfg ? rawModel : ...`,z-image 回退广场时仍带 comfyui 内部模型名(广场 /images/generations 不认识)→ 400「模型不存在」;③pollAssetGenTask 漏 success 兼容——上游 images/generations 完成态是 status=success 非 completed,资产生成任务轮询只判 completed 永远匹配不上 → 6 分钟超时标 failed+退款(与角色定妆照 08-28 同根因,但那批只修了角色/道具三视图 pollImages,漏了资产生成任务通用轮询)。【修复】①safeImgModel 改 comfyui 模型一律用广场 e5e_zimage 兜底(comfyui 通道失败回退广场时能真正生成);②pollAssetGenTask status 兼容 success/succeeded + failed 兼容 error。验证:默认 z-image 场景生成端到端 → comfyui 404 回退广场 → pollAssetGenTask 匹配 success → 100s 完成落盘 scene_xxx.png(此前 6 分钟超时);tsc 零错误。
2026-08-28 17:58
数字人页面整体上移:数字人板块内容整体上移 30px,顶部更紧凑。
2026-08-28 17:55
短视频竖屏比例修复:修复短视频设置竖屏(9:16)却输出横屏的问题——根因是上游「全能参考无损」模型改版后不再支持比例参数,固定输出横屏。现已改为:竖屏 + 有参考图时自动切换为支持竖屏的「首尾帧」模型,竖屏短视频恢复正常。
2026-08-28 17:45
超时判断再平衡:上游明确返回「任务超时」时,会耐心等待约 60 分钟确认后再判失败退款(既不会几分钟就误判排队中的任务,也不会让真超时的任务无限卡住)。
2026-08-28 17:42
场景面板独立成卡:场景融合面板从形象库卡片里拆出来,单独做成一个卡片(和形象库卡片并列竖排),布局更清晰。
2026-08-28 17:25
场景面板下移:移到形象库下面的场景融合面板整体下移 15px,与上方形象网格拉开间距。
2026-08-28 17:15
全能参考模型「传图也报错」根治:上游已将 e5e_MiniMax_H3全能参考_无损 从 ComfyUI workflow 契约改为原生 API 契约——参考图需用顶层 images 数组(或 image/image1~image6),视频/音频参考用顶层 video/audio。此前代码仍按旧 workflow 节点(137:image)提交,即使上传了图片也必报 400 missing_image。现已改写为原生契约提交(images/prompt/duration/ratio/megapixels/generate_audio/video/audio),上传图片即可正常生成;无参考图仍自动降级文生视频。
2026-08-28 17:08
对话窗口语音克隆「只思考不回复」全链闭环修复(老板报障:上传声音样品+要说的文字后 AI 只思考不回复)。【根因四层】①主聊天路径 payload 未剥离 input_audio——上游网关 content part 只认 text/image_url/file,音频 base64 混入 → 400「unknown variant input_audio」→ 502 重试 4 次全失败=前端永远思考中;②意图正则不认「声音样品/要说的文字」自然表达 → 路由进普通对话而非语音克隆;③agent loop 里 userRequest 用 JSON.stringify 序列化 content 数组 → 几十万字符音频 base64 混入文本 → isAppCreation 正则在 base64 里误命中「广告/app」→ 误入应用编排引擎空跑(_legacyAppIntent 正则写错成「创建动词|应用词」再与同列表相与,实际语义退化为「含任何应用词恒真」);④agentToolsSchema 缺 voice_clone 定义 + 上游克隆端点错误(/audio/speech 实为 404,正确是 /audio/generations + wavSoundurl 参数)。【修复】①统一 extractContentText 取多模态 content 的 text part(替换 10 处 JSON.stringify 兜底);②主路径+agent 路径两处剥离 input_audio 并补文本占位(工具层仍从原始 messages 提取 base64);③voice_clone 意图正则补「声音样品/声音样本/参考音频/用这段录音」等 + 工具描述补场景;④_isLegacyAppIntent 正则恢复「创建动词+应用词」语义 + 能力型意图(voice_clone/tts/asr 等)强制跳过 app creation;⑤agentToolsSchema 补 voice_clone 定义;⑥★voice_clone 快速路径:意图确定+音频+文字齐备时直接 executeAgentTool 执行,不再经 LLM tool_call 决策(免疫上游 502+模型不调工具);⑦前端新增 voice_clone_result 结构化事件渲染音频播放卡片。验证:真实 wav+提示词端到端 done:true + 2.7s 秒回 + 上游返回真实克隆音频 URL;建站请求回归 9/9(网站/系统/应用仍正确触发、计算器走单页直出、广告词/信息类不误判);tsc 零错误。
2026-08-28 17:05
场景面板调整位置:数字人创作台的「场景融合」面板(融入版式/场景画面/单段时长)从右侧参数栏移到了左侧「形象库」下面,操作更集中。
2026-08-28 17:00
全能参考模型无参考图自动降级文生视频:主对话选择「e5e_MiniMax_H3全能参考_无损」模型但未上传参考图时,此前上游直接报 400 missing_image「该模型必须提供至少一张参考图」失败——现改为自动降级到「e5e_MiniMax_H3文生视频_无损」兑底出片(model 同步改写,计费/日志/前端展示一致),不再直接失败。
2026-08-28 16:40
角色主图改为显示生成的正脸定妆照:角色卡片和角色详情的主图,之前一直显示上传的原始参考图,现在生成定妆照后自动切换为生成的正脸定妆照(多角度第一张),三视图、原始图仍可在详情里查看。
2026-08-28 16:35
角色定妆照「生成了但取不回」真正根因修复:定位到上游图片模型完成时返回的状态是 success,而系统轮询只认 completed,导致图其实已生成却一直等到超时、永远取不回来。现已兼容两种状态——沈婉角色的 8 张多角度图已自动找回,刷新即可看到。
2026-08-28 16:20
角色定妆照生成链路加固:系统性检查角色模块,修复「上传图片生成定妆照,实际已生成但前端不更新/超时丢失」——①生成任务现在会记住上游任务编号,服务重启后能从上游自动找回已生成的图(不再盲目重新生成、重复扣费);②上游排队较慢时,超时后会继续在后台等待取回(最多再等 25 分钟);③重启恢复改为「优先从上游找回」而非重新提交。注:今日上游多角度模型 GPU 队列一度排队卡顿导致生成缓慢,代码已加固为可自愈取回。
2026-08-28 15:45
移除「轮询超时」提示:数字人预览不再 30 分钟就提示「轮询超时」——现在会持续跟随生成进度,上游排队较慢时只友好提示「生成中(请耐心等待)」,不会中断。
2026-08-29 14:40
应用中心「编辑状态中/已部署」双卡合并(老板报障:删除编辑状态中的应用,已部署的也被删了):根因是两张卡本是同一个应用的两个视图——「编辑状态中」卡是项目源码、「已部署」卡是它的部署实例(靠 deployId 关联),且任一卡的删除都会连源带部署一起删,看起来就像「删一个牵连另一个」。修复:①一个应用只显示一张卡——部署存在时只显示部署卡,项目卡仅在部署已失效时才出现(不再有重复卡);②部署卡新增「继续编辑」按钮——直接加载项目最新源码(而非部署时的快照),改完重新部署即可更新应用;③删除确认弹窗文案写明连带范围(源代码+部署会一并删除)。涉及 public/static/js/chat.js、public/index.html(bump chat.js?v)。
2026-08-28 15:40
灵猫AI 页面卡顿与视频播放卡顿专项修复(老板报障):三个根因一起根治。①视频快启动重封装——8/19 起上游原始视频 moov 索引在文件尾,浏览器必须下载完整文件才能开播/拖动(起播黑屏久、拖动卡);现在所有视频收片入库时自动流复制重封装为 faststart(不重编码、秒级),并附一次性脚本修复了存量 146 个视频;②分镜视频懒加载——分镜表此前每个镜头都常驻挂载视频并自动预载(15 镜=15 路视频同时抢带宽,页面卡顿主因),现在改为滚动进入视野才按需加载(实测首屏仅加载 4/15),有首帧缩略图的镜头零预载;③全景组件按需加载——603KB 的 three.js 从页面常驻改为打开全景查看器时才加载;④持久视频长缓存——项目视频/广场视频(文件名唯一)缓存从 5 分钟延长到 7 天,重复进页面不再重新下载。
2026-08-28 14:30
上传音频彻底免文案(修复):补齐了后端接口层的校验遗漏——之前上传音频不输文案提交时仍被拦截,现在后端也放行「有上传音频即可、文案可选」。
2026-08-28 14:10
上传音频免文案:选「上传音频」模式后,直接上传音频/视频即可生成数字人,无需再输入口播文案。
2026-08-28 13:15
数字人配音支持「上传音频」:配音方式新增「上传音频」——可直接上传音频文件作为配音,上传视频文件时自动剥离音轨,无需再打字生成配音。
2026-08-28 12:25
数字人不再误判超时失败:上游排队或查询超时(返回「任务超时」)不再让任务失败——只要上游没有明确报错(failed/cancelled),任务就会一直耐心轮询等待出片,24 小时总兜底。
2026-08-28 11:30
数字人多段并发提速:多段数字人不再一段一段排队生成,改为一次性并发提交给上游多台服务器并行处理(总时长约等于单段,而非各段累加);同时按清晰度智能利用单段上限(标清 15 秒/高清 10 秒/超清 5 秒),并让视频时长精确匹配配音时长,不再被固定 8 秒截断。
2026-08-28 11:35
CRM工作台入口修复(老板多次反馈点工作台空白):根因——CRM工作台按钮 window.open 不带商机 id,打开的是无 id 空白页。修复:按钮改为 window.openCrmWorkbench(),优先用 state.opps 里最新商机 id 直接打开 /crm-workbench.html?id=<商机ID>,无数据时先 fetch 再开。实测:点击→自动带 id 进入最新商机(怀化市旗通汽车贸易有限公司),左右栏内容完整非空白。另:数据层已清洗 406 条第三方乱码数据。
2026-08-28 11:20
数字人人物一致性强化:多段生成时锁定人物形象——五官、脸型、发型、服装颜色款式、配饰全程保持一致,除非你明确在动作提示词里要求更换服装/配饰,否则绝不自由发挥改形象。
2026-08-28 10:50
CRM 数据清洗:删除 406 条第三方批量写入的乱码数据(老板反馈:工作台企业名乱码):第三方通过 API 批量写入时客户端并发 bug 导致多条记录字符串互相交错(如「限m>材建有市怀e/公e<司m伟群><化」),共识别 406 条乱码(含尖括号夹杂/中英文交错/词序错乱三类特征,白名单保护「怀化市第一建筑工程公司」等老式正常名)并删除其关联跟进/附件/客户/联系人。保留 84 条正常数据(怀化 10 家启信宝+其余正常批次),企业名/联系人/电话均完整。需第三方修复其写入端并发问题后重传乱码批次。
2026-08-28 09:55
销售工作台空白页修复(老板反馈:CRM 点工作台进来是空白):CRM 左侧「工作台」打开 /crm-workbench.html 时未带商机 id 导致空白。修复:①左栏头部新增「客户选择」下拉框(列出全部商机,含联系人,切换即进入对应客户工作台);②无 id 打开时自动加载最新商机(页面直接有内容,不再空白);③上下一条按钮联动下拉框选中态。实测:无 id 打开自动进入最新商机(URL 带 id)、下拉 300+ 客户可选、零 JS 错误。
2026-08-28 10:50
视频生成超时判断放宽:上游排队或生成较慢时,不再 2 分钟就误判「任务超时」失败——现在会耐心等待(最长 60 分钟确认后、24 小时总兜底),排队中的任务能正常出片。
2026-08-28 10:45
数字人配音修复 + 音频预览美化:①修复「修改文案后仍用旧音频提交」的问题——现在文案改动会自动重新生成配音(无论手动修改还是 AI 写稿),成片口型与文字严格对齐;②音频预览条重新设计:自定义播放器(播放/暂停按钮 + 可拖拽进度条 + 时长显示 + 重新生成),告别原生丑样式。
2026-08-28 10:30
数字人预览播放器去黑底:数字人创作台预览视频的播放器皮肤原本带黑色背景,现已改为全透明,预览画面直接干净呈现。
2026-08-28 09:48
CRM 左侧导航:新增「工作台(客户跟踪)」+ 原「工作台」更名「数据中台」(老板需求,仅改 CRM 内部):①CRM(/crm.html)左侧导航顶部新增「工作台 · 客户跟踪」按钮(点击新窗口打开销售客户跟踪页 /crm-workbench.html);②原「工作台」视图(KPI+漏斗+报表数据面板)更名「数据中台」;③导航顺序:工作台(客户跟踪)→数据中台→客户→商机→跟进动态→任务→报表。注意:仅改 CRM 内部,主站侧边栏不受影响(此前误改主站已撤销)。
2026-08-28 09:40
侧边栏:新增「工作台」直达销售客户跟踪页,原「工作台」更名「数据中台」(老板需求):①左侧菜单新增「工作台」按钮(onclick 打开 /crm-workbench.html 客户跟踪/AI话术/意图分析页,权限 entweb.crm.page 控制);②原「工作台」(组织智慧工作台 toggleWorkbench)更名「数据中台」,权限点显示名同步(enterprise-module ENT_WEB_PERM_NAMES/getBuiltinMenuItems + admin-module 种子 + hr-module 权限中心);③顺序:新建对话→工作台→数据中台→Agent智能体。验证:两按钮均在位、点击新工作台跳转 crm-workbench.html 加载正常、零JS错误。
2026-08-28 09:30
员工工作台增强:上一条/下一条翻页 + 附件资料上传(老板需求):①头部加「‹上一条/下一条›」按钮——加载商机列表定位当前id,点击直接切换商机无需返回列表(history.replaceState 同步URL);②跟踪记录标签页新增附件区——上传名片/宣传资料/环境照片等多文件(复用 /api/user/upload 云盘能力),按文件名自动归类(名片/资料/现场),图片显示缩略图、可打开可删除;③后端新增 crm_attachments 表 + POST/DELETE /api/crm/workbench/:oppId/attachments 登记附件,workbench GET 返回附件列表。实测:翻页切换商机URL+内容正确、附件登记/展示/删除全通、零JS错误。
2026-08-28 08:10
CRM 员工工作台(老板需求:左客户信息/右跟踪记录 + AI 话术 + 语音转文字 + 实时意图/漏斗阶段):①新页面 /crm-workbench.html?id=<商机ID>,商机详情抽屉新增「⚡进入工作台」入口;②左栏=客户信息卡(行业/规模/区域/网址/地址/主营/核心问题/下一步 + 联系人卡 + 商机摘要);③右栏三标签——跟踪记录(时间线+文字输入+上传语音转文字+实时录音转文字,复用 /api/audio/transcribe;输入停顿1.5s自动AI分析意图)、AI话术(选5+1产品包→基于产品知识库+客户画像+最近沟通生成销售话术,可复制)、AI意图分析(粘贴对话→AI输出客户意图+建议漏斗阶段+下一步+风险);④后端新增 GET /api/crm/workbench/:oppId(聚合客户+联系人+跟进+产品列表)、POST /api/crm/workbench/script(话术生成,内置 PRODUCT_KNOWLEDGE 产品知识库对齐5+1产品包)、POST /api/crm/workbench/analyze(意图+阶段,AI输出容错解析L0-L8);⑤录入跟进后自动保存到CRM活动流。实测:话术生成912字质量良好、意图分析准确(识别「对AI提智感兴趣+问价格」建议L3)、页面零JS错误。
2026-08-28 01:15
CRM 客户列表补全网址/主营产品列(老板反馈:所有网址都没显示):①后端 accounts 接口补返回 website/address/mainProducts/subIndustry/hqCity/strategyFocus/overseasStatus;②客户列表新增「网址」列(可点击打开,简洁显示去 http 前缀)+「主营产品」列(悬停看全文)。经核对:10 家客户中仅城发有网址(http://www.hhcfjt.com,上游启信宝只抓到这一家),其他 9 家上游本身无网址数据(非丢失);地址 10/10、主营 8/10、类型 10/10 均有——已入库数据现已全部在列表与客户360 中展示。
2026-08-28 00:55
CRM 数据展示补全(老板反馈:负责人显示手机号/看不到联系人电话及完整数据):①「负责人」列改「归属」,当负责人=当前登录用户时显示「我」(原直接显示账号手机号 156… 易误认为电话);②客户列表新增「联系电话」列(后端 accounts 接口补 contactPhone=主联系人电话,GROUP BY 取每组首条);③商机列表新增「联系人」列(姓名+真实电话),看板卡片显示联系人+电话;④客户360 联系人区补邮箱显示;⑤修复商机看板/列表切换失效——根因 renderOppKanban 用 el.innerHTML+= 重解析整个容器导致按钮 onclick 丢失,改 insertAdjacentHTML 保留事件。验证:客户列表/商机列表/看板/客户360 均显示真实联系人电话(0745-2221151 等)与邮箱,无 156 号误导;10 条怀化企业数据完整(含 website/address/email/经营范围,数据一直在库)。
2026-08-28 01:20
数字人多段生成修复 + 单段时长智能切分:①修复多段数字人任务在服务重启后只生成一两段就停住的问题——现在重启会自动续跑未完成的段落并正确拼接成完整长视频;②长文案切分更智能——按句子的自然边界成段、语速按标点密度动态估算,每段时间随内容自然长短,不再机械地固定秒数。
2026-08-28 00:40
数字人预览区去背景框 + 进度条紧凑化:预览区不再有灰色背景框和虚线边框,图片/视频直接完整呈现;生成进度改为预览区底部的一条紧凑半透明进度条(小图标 + 阶段文案 + 片段进度 + 百分比),不再占用画面中央,观看体验更清爽。
2026-08-28 00:40
CRM 电话展示修复 + 清理重复数据(老板反馈:API 写入后电话显示成默认 156 号):①根因——数据层完全正确(SQLite 存的是上游真实电话 0745-2221151 等),但前端卡片/详情只显示「负责人」用户名(=账号手机号 156…)没显示联系人电话,误导;②修复——商机看板卡片脚显示联系人姓名+真实电话,商机详情头部副标题加联系人+电话,关键信息区加「联系人」行;③删除重复记录(opp_5a067af57c43c432 测试写入的城发重复商机+重复联系人);④持久化验证——pm2 重启前后 opps 均 10 条(数据在 admin.db SQLite,非内存,重启不丢)。当前 CRM 10 条怀化企业真实数据(启信宝抓取)。
2026-08-28 00:11
思洋市场生态信任层(应用/技能/智能体三市场共用评价+热度):新建 market-ecosystem-module.ts——市场评价/热度统一系统,三市场共用:POST /api/market/reviews(提交/更新评价,同用户同资产 upsert 防刷分,评分 1-5 校验)、GET /api/market/reviews(列出评价+平均分)、GET /api/market/hot(三市场热度排行,按评价数+平均分)。补齐了三市场「发布→发现→安装」之外缺失的「口碑+热度」信任层,使生态可交易。验证:tsc 零错误、health 200、评价提交/upsert/非法评分拦截/热度排行实测通过。
2026-08-28 00:05
思洋生态落地:开放 API 接入 AI 对话:①server.ts 给 registerOpenPlatformRoutes 注入 callModel,openplatform-routes 传 createOpenAPIRouter(callModel),openapi-module 新增 POST /api/v1/chat(OpenAI 兼容 chat.completion,走思洋 Lens 智能路由默认模型);②developer.js 新增「AI 对话补全」文档组 + v5.2。第三方系统现在可通过 API Key 直接调用思洋的 AI 对话能力,实现生态可编程。验证:tsc 零错误、health 200、chat 端点调用链路通(上游模型网关 429 余额不足,属账号配额待充值,非代码 bug)。
2026-08-28 00:06
思洋生态体系落地(P0 生态门户 + P1 开放 API 生态化):①新增 /ecosystem 生态能力门户——五层生态架构(智能内核/能力模块/组织智慧/开放生态/商业生态)+ 六大提智包(知识/内容/客服/销售/经营/协同,含定价)+ 12 入口矩阵 + 商业闭环漏斗(100→20→8-10→5→3-5),桌面/手机双视口零溢出;②开放 API 生态化——新增 GET/POST /api/v1/diagnosis/results(诊断结果读写,diag:read/write)、GET/POST /api/v1/valuemaps(价值地图读写,vm:read/write)、GET /api/v1/business/summary(经营概览:商机总数/加权预测/签约金额/阶段分布,biz:read);③修复 scopeMatches 不识别 *:* 全通配符的 bug(登录用户 X-Auth-Token 访问开放 API 被 403 拒绝,之前 CRM 线索只用 Bearer key 测试未暴露);④developer.js 新增「经营与提智数据」API 文档组。验证:tsc 零错误、生态门户双视口零溢出零 JS 错误、开放 API 五端点实测通过(经营概览/诊断读写/价值地图读写)。
2026-08-28 00:05
开发者控制台系统化审计+UI 全面重设计(老板指令):①【审计发现 P0】认证断链——页面用 X-Auth-Token 登录态,但 openapiAuthMiddleware 只认 session/Bearer(api_keys),导致 Keys/Webhooks/统计全部「请先登录」;②【修复】openapiAuthMiddleware 新增 X-Auth-Token 主应用登录态识别(server.ts 经 globalThis 注入 getValidAuthTokenUser,openplatform-routes 注册时挂载),登录态等同本人会话;③【UI 重设计】developer.html+developer.js 全部重写——左导航+顶栏(用户名/登录态)+六视图(概览/API Keys/API 文档/Webhooks/调用统计/帮助),样式全走 ui-kit 令牌与主站统一;概览=四 KPI+CRM 接入线索表+三快捷入口;Keys 表格显示完整密钥+复制/删除;文档按分组折叠卡+每代码块复制按钮+完整可运行 curl;CRM 写入示例全字段+放宽校验说明;帮助页三步接入+FAQ;移动端自适应无溢出。验证:六视图全渲染真实数据(今日39调用/155本月/96.1%成功率)、keys 复制删除按钮在位、docs 9 接口 21 复制按钮、移动端无横向溢出、零 JS 错误。
2026-08-27 23:40
CRM 全面复审发现项修复与回归:①修复跨租户商机转交——接收人必须是该商机所属企业的 active 成员,跨租户实测 403;②修复 CSV 导入纪律绕过——禁止直接导入 L0 流失商机,必须通过流失审批流程,实测跳过并返回逐行错误;③商机详情联系人查询、AI 客户摘要联系人/活动查询补账户/商机 scope;④工作流配置增加条件与动作 schema 白名单、金额/停滞/任务天数范围、文案长度限制;⑤工作流 AI 动作增加每租户每小时 30 次限额;⑥工作流执行表补 status/error/retry 字段并增加 dedup 唯一索引;⑦复审测试残留已清理,CRM 数据恢复 10 客户/22 商机/18 联系人。验证:health 200、tsc 零错误、UI JS 语法通过、CRM/工作流 API 正常、桌面 1440 与手机 390 零横向溢出/零 JS 错误。
2026-08-27 23:35
开发者控制台 + CRM 开放 API 优化(老板六点反馈):①Key 可查看/复制——api_keys 新增 secret 明文列,创建时存明文、列表展示完整 Key + 一键复制(旧 Key 因只存哈希不可见,提示重新生成);②API 示例完整化——CRM 写入示例补全网址/邮箱/电话/地址等全量字段 + 可直接运行的 curl;③写入字段全量扩展——客户信息(网址/邮箱/电话/地址/主营/类型等)+联系人(姓名/职务/角色/电话/微信/邮箱)+商机字段全支持;④写入校验放宽——只需「企业名」或「联系人姓名+一个联系方式」即可,其余有多少写多少,时间自动生成、写入人由 Key 归属确定;⑤每个代码块加「复制」按钮一键复制示例;⑥创建 Key 弹窗新增 crm:read/crm:write 权限项。
2026-08-27 23:15
CRM 开放 API:第三方客户线索自动接入(OpenAI 风格协议 + API Key 认证):①openapi-module.ts 新增 4 个端点(复用现有 /api/v1 + openapiAuthMiddleware + requireScope)——POST /crm/leads 写入线索(自动建客户+商机+5C算级)、GET /crm/leads 列表(limit/offset 分页)、GET /crm/leads/:id 详情、POST /crm/leads/:id/activities 四要素跟进;响应/错误均为 OpenAI 风格(object/created/data + error.message/type)。②认证复用平台 API Key(Bearer e5e_xxx,scope crm:read/crm:write)。③开发者控制台 developer.html「API 文档」新增「CRM 客户线索接入」分组(developer.js apiDocGroups)。④说明文档 docs/开放平台-CRM线索接入API-20260827.md。已实测:无 Key 401、写入→列表→详情→跟进→错误格式全通。
2026-08-27 23:09
思洋CRM 自动化工作流引擎(老板:内置规则 + 可视化规则都做):新建 crm-workflow-module.ts——统一「触发器 + 条件 + 动作」引擎:①内置规则(系统级,对所有企业生效):每日待办提醒(每天 09:00 IM 推给管理员,附今日待办/逾期/停滞数)、大额商机预警(新建商机金额≥50万自动通知管理员+负责人)、签约续费提醒(阶段推进到签约/标杆自动建「续费回访」任务+通知负责人);②企业自定义规则——管理员在 CRM「自动化」视图可视化配置(触发器:新建商机/阶段推进/跟进记录;条件:金额阈值/等级/阶段/停滞天数;动作:通知管理员/通知负责人/建任务/AI分析),支持通知文案占位符 {company}{amount}{stage}{grade}{owner};③事件钩子——crm-module 在商机创建/阶段推进/跟进记录后自动触发引擎;④防重复——crm_workflow_runs.dedup_key(事件型按商机+阶段、定时型按日期桶);⑤定时 tick——每 10 分钟检查 timer 规则。IM 通知复用 sendIMNotify(IM+WebPush 双通道,管理员去重)。前端导航新增「自动化」视图(内置只读+自定义启停/删除+执行历史)。验证:tsc 零错误、E2E 12 项(内置 seed/自定义 CRUD/停用/大额预警触发 5 位管理员通知/签约自动建任务/历史/内置删除 403)、Puppeteer 自动化视图零 JS 错误。
2026-08-27 22:32
思洋CRM 第二阶段升级(继续全面升级:账户治理 + 销售协作 + 合同回款 + 审批 + 批量导入):①账户治理——新增客户删除(DELETE /api/crm/accounts/:id,级联清理联系人/商机/跟进/任务,负责人/企业管理员)与客户合并(/accounts/:id/merge,把源客户数据并入目标后删除源);②销售协作——商机转交(/opps/:id/transfer,改 owner 并记活动)、部门主管权限档(复用 departments.head_user_id,部门主管可推进/转交/流失/编辑合同本部门成员的商机);③合同与回款——商机新增合同金额/已回款/签约日/续费日字段 + 回款记录表 crm_payments(增删查,回款自动累加已回款)、/opps/:id/contract 合同信息端点;④流失审批——普通销售标记流失改为提交审批(loss_status=pending),企业管理员/部门主管在任务视图「流失审批」分组批准/驳回(/api/crm/approvals + approve/reject);⑤批量导入——CSV 导入客户/联系人/商机(/api/crm/import,表头匹配+去重+逐行错误报告),顶栏新增「导入」按钮。原 /api/cockpit/summary 结构不变。验证:tsc 零错误、E2E 20 项通过(合同回款/转交/流失审批 403 矩阵/客户合并/账户级联删除/三类导入/审计动作全覆盖)、Puppeteer 商机抽屉+客户360+任务视图全功能按钮在且零 JS 错误、数据还原(10/22/18)。
2026-08-27 22:10
3D 漏斗计数定死到层(老板反馈「数字应该定死在层上,现在跟随不一致」):原按「各层最朝前侧面质心」显示计数,旋转跨越面边界时数字在相邻面之间跳动;改为钉在各层中心轴上(刚体随金字塔旋转),位置始终一致不跳动、不消失。
2026-08-27 22:07
思洋CRM 全面升级 v3(按系统审计建议:专业CRM能力补齐):①安全修复——客户360子查询全 scope 隔离、商机/联系人/任务写读双向归属校验(防跨租户数据泄漏/污染/误删)、联系人删除仅客户负责人或企业管理员、阶段推进/流失仅商机负责人或企业管理员;②数据一致性——多语句事务包裹、丢单原因强制(通用更新与阶段推进同规则)、阶段进入时间自动维护;③性能与治理——列表分页(page/pageSize+total)、accounts/opps 消除 N+1 查询、补 activity/task 的 account_id 索引、同名客户去重(409 提示)、CSV 导出(商机/客户/联系人/跟进)、CRM 操作审计日志(crm_audit_log);④AI 扩展——跟进纪要自动整理(粘贴通话记录→AI 结构化四要素)、客户 360 摘要、AI 周报解读,均带限流(30次/小时/人)与缓存;⑤移动端适配——手机端顶部横滑导航、单列布局、抽屉全宽、表格横向滚动,桌面/平板/手机三视口零横向溢出。原 /api/cockpit/summary 响应结构保持不变。验证:tsc 零错误、E2E 15 项全通过(分页/纪律/去重/权限 403 矩阵/AI 三端点/导出/审计/兼容)、Puppeteer 三视口零溢出零 JS 错误。
2026-08-27 23:50
数字人模块三大优化:①动作提示词 AI 改写——你输入的动作描述会被自动改写成结构化提示词,锁定人物与参考图一致,并从源头规避字幕烧入(纯正面描述);②新增「清晰度」设置(标清/高清/超清),创作台与批量生成都支持;③生成进度直观显示——提交后在大图预览区中央浮现精美的状态卡,实时展示当前阶段(配音/动作优化/播报/拼接/融合)、进度百分比和片段进度。
2026-08-27 22:20
图片数字人新增「动作提示词」:数字人创作台口播文案下方新增动作提示词输入框,可描述数字人的表情、动作、姿态(如「微笑点头、手势自然、口型清晰」),用于控制成片中数字人的表现,批量生成同样支持。
2026-08-27 21:45
素材库分类重排 + 展现样式全面升级:分类标签重新排序为「角色、道具、场景、分镜、其他素材、剧本」,打开默认进入「角色」。所有素材卡片统一改为与「我的作品」一致的纯画面瀑布流——角色、道具、场景、分镜、剧本、音频、视频都以满格画面呈现,鼠标悬停时才浮现名称和操作按钮(预览/重新生成/上传/删除等),整体视觉清爽统一。
2026-08-27 21:35
3D 漏斗两处修正(老板反馈「默认显示不全被遮挡 / 数字要跟随拖拽移动」):①金字塔改为绕几何中心旋转(原绕顶面旋转导致甩出画布),画布加高至 470px + 相机拉远(camD 780/focal 620)+ 俯仰限位收窄——默认状态完整显示不再裁切;②计数改为锚定各层最朝向相机侧面的质心(原只在回正时轴心显示),拖拽旋转俯仰时数字跟随所属层级移动。
2026-08-27 21:25
销售漏斗升级为「可交互 3D 倒金字塔」(老板期待:能拖拽旋转俯仰会动):Canvas 自绘 3D 渲染器(无外部库)——透视投影+画家算法深度排序+法线光照明暗面,倒金字塔每层按阶段着色;支持鼠标/触摸拖拽旋转与俯仰、惯性滑动、静止自动旋转、回正后轴心计数显示。工作台与报表页均已替换为 3D 漏斗,右侧 HTML 图例(阶段名/个数/金额/概率)。
2026-08-27 21:10
销售漏斗重构为 3D 倒金字塔(老板反馈「像个喇叭不像漏斗,倒金字塔最好,能做三维就太爱了」):改为几何倒三角形(顶尖朝下),每层拆左右两个面——左浅右深明暗折面+中心脊线+底部椭圆接地阴影,呈 3D 折叠立体金字塔;蓝色系明暗对比强化。替代此前的梯形/横向柱状版本。
2026-08-27 20:55
销售漏斗视觉升级(老板反馈「太丑了」):彩虹色方块堆叠改为专业级蓝色渐变梯形漏斗——同色系蓝色单色渐变(浅蓝→藏青,浅=线索宽口、深=成交收窄),梯形连续收窄居中对称、分段白线勾边、垂直光影纵深感、drop-shadow 投影;右侧图例色点+阶段名/个数/金额/概率。视觉模型评审确认 SaaS 专业级(Salesforce/纷享销客同水准)。演示数据调成干净漏斗形 L1=5→L8=1。
2026-08-27 20:45
思洋CRM 差异化升级:倒金字塔漏斗 + AI 销售参谋(老板反馈「主页放漏斗图形 / 全程没有AI参与」):①工作台销售漏斗改为居中对称的梯形倒金字塔图(上宽下窄逐级收窄,块内数字+右侧阶段名/金额/概率),演示数据调成漏斗形(L1=5→L8=1);②新增 AI 商机智能分析——商机详情抽屉「✦ AI 分析」按钮,后端 /api/crm/ai/analyze 读取商机+跟进记录调用平台大模型,输出【赢单概率/关键风险/建议下一步/沟通要点】四段式销售洞察(callModel 经 deps 注入)。★注意:实测时上游模型网关 api.e5e.cn 502(与 GPU 队列同源故障),链路已通待网关恢复即可用。
2026-08-27 20:10
思洋CRM 注册进应用中心「应用广场」(老板反馈:应用广场看不到应用):①新建系统公共应用 data/_system/_deploy/crm/(_meta.json published=true + index.html 重定向 /crm.html + _thumb.png 截图缩略图);②deploy-routes.ts SYSTEM_APP_IDS 加入 crm(上锁禁删/改/下架);③chat.js openAppViewer 系统应用沙箱白名单加入 crm(allow-same-origin 才能读 localStorage token 调 API)。验证:/api/deploy/marketplace 返回思洋CRM(published✓locked✓url=/app/crm/)、/app/crm/ 200、缩略图 200 image/png。入口:应用中心→应用广场→思洋CRM;或工作台增长作战面板「思洋CRM」/直达 /crm.html。
2026-08-27 19:40
商机看板升级为「思洋CRM」企业核心应用(老板指令:专业到敢用 + 移植应用中心):①五对象数据模型(客户→联系人→商机→跟进→任务),对齐《17号CRM商机管理字段与销售运营规范》全字段;②多视角范围切换(我的/本部门/全公司,复用组织架构 dept_id);③全图形化(漏斗双层图/区域与来源归因/输单原因/加权预测堆叠条/5C雷达/跟进趋势迷你柱,纯SVG零依赖);④纪律固化——丢单必选字典原因(5类19项)、跟进四要素必填、S/A停滞14天自动预警、任务自动生成;⑤工作台/客户360/商机看板(L1-L8泳道)/跟进动态/任务/报表六视图;⑥注册企业菜单权限点 entweb.crm.page(可配置可见性)。原 /api/cockpit/summary 响应结构保持兼容,growth-cockpit 不受影响。入口:主应用左侧「更多」→商机CRM,或直达 /crm.html。
2026-08-27 21:05
数字人两处细节修正:①生成失败或已取消的数字人作品,悬停时也能删除(进行中的任务不提供删除以防误删);②数字人面板的「声音」「参数」「场景融合」等小节标题改为与板块标题一致的居中对齐(对称装饰线),下拉框文字同步居中,消除内容偏左的失衡感。
2026-08-27 20:30
灵感与我的作品 UI/UX 优化四项:①「我的发布」悬停卡片可直接下架作品(此前无任何管理入口);②作品卡恢复时长标识(如 63s,一眼识别短视频/长片);③灵感页空分类自动置灰降噪;④暗色模式辅助文字对比度提升。
2026-08-27 20:10
灵感与我的作品模块全面审计:完成两模块前后端全链路安全与质量审计(详见审计报告)——越权访问、内容注入、隐私脱敏、限流防护等 17 项实测全部通过,无高危问题;确认瀑布流布局、放大播放、分类管理、懒加载等交互已全面统一。两个规模化观察项(列表缓存、互动存储并发)列入后续债务清单。
2026-08-27 19:55
作品卡片恢复原始比例完整显示:撤销统一比例裁切方案——卡片跟随每个作品的原始宽高比完整展示画面,不裁切、不补边、无黑边(横屏作品卡片自动变宽矮、竖屏作品卡片保持修长,画面始终完整)。
2026-08-27 19:40
作品卡片统一比例、画面满格显示:所有作品卡片(短视频/短剧/数字人/灵感页)统一为整齐的竖版比例,画面自动裁切填满卡片——无论原始视频是横是竖,列表中都呈现满格画面,彻底告别黑边和空白。点开放大时仍按原始比例完整播放,不裁切不变形。
2026-08-27 19:25
数字人分类稳定 6 列 + 横屏卡黑边根治:①「我的作品」各区参考列宽调小,普通笔记本屏幕也能稳定显示 6 列以上;②修复横屏数字人作品上下出现黑色区块的问题——卡片容器现在跟随视频真实比例伸缩,画面完整铺满,不再有黑边或留白。
2026-08-27 18:10
工作台增长作战面板去 emoji + 间距修正(老板反馈「不要用标签图标/和下面模块保持距离」):①四按钮 emoji 全部替换为 15px 内联线性 SVG 图标(遵守全站禁 emoji 死规则);②面板加 margin-bottom:16px 与下方 KPI 区拉开间距;③图标 flex 布局样式收窄作用域至 [data-wb-section=growth] 不影响快捷动作卡。验证:Puppeteer 断言 hasEmoji=false/svg=4/gap=16px、抽帧目检无 emoji 图标对齐。
2026-08-27 18:05
PDF 预览 Edge 兼容修复:修复用 Edge 打开 PDF 预览时提示「已阻止此内容」的问题——预览渲染不再依赖浏览器自带的 PDF 处理器,改用站内统一渲染引擎,Chrome/Edge/手机浏览器效果一致。
2026-08-27 18:25
增长作战四工具迁入「组织智慧工作台」(老板指令:非通用功能放工作台):①撤除上一轮加在侧边栏「更多功能」的入口组(恢复原状);②在工作台快捷动作卡后新增「增长作战」面板(data-wb-section=growth,复用 wb-panel/wb-quick-grid 玻璃拟态样式)——AI提智诊断/价值地图/商机看板CRM/增长驾驶舱四按钮,点击新窗口打开对应页面。验证:Puppeteer 登录态实测工作台面板存在/四按钮文案与跳转正确/侧边栏旧入口已清/零 JS 错误。
2026-08-27 18:35
数字人作品瀑布流间距与背景清理:卡片的上下左右间距统一为一致的紧凑间距;去掉进行中任务的斜纹底纹背景;画面继续保持原始比例完整显示,不补边不裁切。
2026-08-27 18:20
数字人作品列数恢复:修复「我的作品 → 数字人」分类下列数从 6 列变 4 列的问题——原因是新旧两套布局规则同时存在互相冲突,旧规则把卡片强制为更宽的固定列。现已清理,数字人分类与其他分类一样恢复紧凑的 6 列瀑布流。
2026-08-27 17:58
放大窗口按作品比例智能适配:点击放大竖屏作品时,播放窗口自动收窄成竖屏比例,画面完整且尽量放大显示;横屏作品则横向撑满。窗口大小会随作品比例平滑过渡,彻底解决竖屏作品在横向大窗里缩成一条的问题。
2026-08-27 18:10
主应用侧边栏新增「增长作战 · 百企提智行动」入口组(老板反馈「找不到入口」):在「更多功能」折叠菜单最顶部加入四项——①AI提智诊断(/diagnosis.html 六维30题V2)②价值地图(/valuemap.html)③商机看板CRM(/crm.html)④增长驾驶舱(/growth-cockpit.html),全部新窗口打开并带钉选按钮(可钉入快捷工具栏常驻)。验证:Puppeteer 登录态实测菜单打开/四项存在/分组标签渲染/点击跳转新标签 200/零 JS 错误。
2026-08-27 17:45
Word/Excel/PPT 下载修复——不再跳转 Office 在线打开:点击 Word/Excel/PPT 文件的下载按钮,之前浏览器会把它交给微软 Office 网页版打开(view.officeapps.live.com)而不是下载。现在点下载就是真正把文件下载到本地;文档的在线预览功能不受影响(预览走站内转换渲染)。
2026-08-27 17:45
我的作品:修复部分卡片不显示缩略图:根因是几部历史短剧合成片的视频文件在数据迁移时已丢失,但记录仍在——这些「死链」作品此前会以空白卡片出现在列表中。现在所有作品都会先检测视频文件是否真实存在,丢失的自动从列表隐藏;同时给尚未加载的卡片加了柔和的渐变底色,滚动到哪加载到哪。
2026-08-27 17:55
百企提智行动基建⑤:数字人产片 AIGC 合规标识内置 + 批量产片流水线脚本:①合规标识(《人工智能生成合成内容标识办法》2025-09-01 施行)——server.ts 新增 aigcLabelVideo():数字人口播成片在 finalizeDhVideo 落盘前统一烧录显式标识(右下角半透明黑底白字「AI生成」角标,ass/libass 实现——本机 ffmpeg 无 drawtext 滤镜;字号/边距随分辨率自适应,PlayRes 动态生成临时 .ass 用后即删)+隐式标识(mp4 metadata comment 写入办法依据、aigc.type=video);烧录失败自动回退原片不阻塞出片链路;环境变量 E5E_AIGC_LABEL=0 可整体关闭(默认开启)。②批量产片流水线 scripts/batch-produce.mjs——读 items JSON(title/text/imageUrl/videoUrl/voice/duration/ratio/model/maxEdge)串行提交 /api/short-drama/digital-human 并轮询 /api/user/tasks/:id 至成片(同用户 1 并发产品限制→严格串行+开跑前清检测在途任务),提交前强校验(文案≤800字/素材必须本人云盘路径),--dry-run 校验模式/--limit/--delay-ms/--timeout-ms 参数化,产出 batch-results-*.json 明细直接供内容官分发账号矩阵。验证:ass 角标抽帧目检(右下角中文清晰无乱码不贴边)、metadata ffprobe 确认 comment/aigc.type 落盘、tsc 零错误、脚本 node --check 过且 dry-run 三类非法条目全拦截(非云盘路径/缺文案/外链)、合法样例字数→时长估算与 H3 计费口径一致(28字≈9s)、pm2 重启 health 200。
2026-08-27 17:20
我的作品规则与放大方式全面统一:所有作品(短视频 / 短剧 / 数字人)点击后统一在同一个大尺寸播放窗口中打开(约 1280px 宽、带标题和关闭按钮,按 Esc 或点击空白处关闭),不再出现小窗播放和黑色全屏两种不同体验;三个分类的瀑布流布局参数完全一致。
2026-08-27 17:35
百企提智行动基建②③④:企业AI价值地图工作台 + 轻量CRM商机看板 + 增长驾驶舱 + POC合同模板库:②新增 value-map-module.ts 与 /valuemap.html——企业背景→问题损耗地图→AI机会场景卡(业务价值30/紧迫度20/可实施20/数据准备15/Sponsor15 五维1-5分实时算分,S≥80/A65-79/B50-64/C<50 自动分级)→Top场景自动生成推荐POC决策页(客户投入/思洋交付/不包含范围)+ROI口径说明+打印导出;价值地图表 value_maps 支持草稿/定稿、企业成员共享列表。③新增 crm-module.ts 与 /crm.html 商机看板——L0-L8 九阶段生命周期(阶段概率5%-100%)、5C健康度评分自动折算S/A/B/C、下一步动作+日期强制(无下一步=无效商机警示)、跟进记录留痕、阶段推进自动记活动、加权预测金额=Σ金额×阶段概率(实测19800×25%=4950精确);商机表 crm_opps+crm_activities,企业成员共享商机池。④新增 /growth-cockpit.html 增长驾驶舱——北极星四数字第一屏(有效企业诊断/SQL以后商机/POC进行中/加权预测)、百企提智漏斗条形图、阶段分布表、需要关注清单(S/A停滞14天·临期7天·过期红警),30/60/90天周期切换,/api/cockpit/summary 聚合诊断结果_v2+价值地图+CRM三源。⑤POC合同模板库:docs/templates/ 新增《SOW-POC项目工作说明书》《标杆案例与客户证言授权书》双模板(含内部检查清单与数据表达红线),同步落入企业云盘 思洋/营销/00-合同与商务模板/ 正式目录。⑥诊断V2报告新增漏斗联动:一键为该企业生成《AI价值地图》预填企业名/建立跟进商机。验证:tsc 零错误、四页JS语法通过、E2E 全链路(地图93分S级推荐/商机S级L2→L3推进25%/跟进留痕/驾驶舱加权预测精确)且测试数据全部清理、四页200+美化URL 302正常、health 200。
2026-08-27 17:00
云盘下载按钮修复——一点就真的下载:点缩略图依旧是放大预览;点下载按钮(卡片悬停按钮 / 预览窗口右上角下载图标)现在会真正开始下载文件并提示「开始下载」。修复两处下载失效根因:①部分浏览器点下载按钮没反应(技术原因:download 属性被静默忽略);②预览窗口里的下载按钮此前点了只会再打开一遍预览、永远不下载。
2026-08-27 16:50
我的作品:操作图标化 + 加载提速 + 画面完整显示:①数字人作品卡的操作改为三个圆形图标按钮(发布到灵感 / 下载 / 删除),悬停即见,不再有重复按钮;②页面加载方式优化——视频只在滚动到可见位置时才开始加载,分类切换按需请求数据,作品多时不再卡顿;③短视频和短剧封面按作品原始比例完整显示,不再裁切画面。
2026-08-27 17:05
诊智模块升级 V2:组织智慧六维模型 · 30 题加权诊断(百企提智行动基建①):对齐《商业化作战体系》14/21号文件标准——①题库重构为六维×5题=30题(感知15/认知20/决策15/协同15/执行20/进化15),统一五级锚定量表(基本没有→系统化进化);②计分改为加权百分制:维度成熟度=原始分/25×权重,总分0-100,等级 L1启蒙/L2局部提效/L3场景赋智/L4组织融智/L5智慧跃升;③新增商机资格补充题10道(AI计划/决策人意愿/数据可得性/Q7优先意向等,不计分入报告),按企业信息采集行业/规模/地域(对齐指数数据字典);④自动报告引擎:三大智慧断点(<40%明显断点/40-59%基础薄弱/60-79%基础较好/≥80%相对成熟四级判读)+POC产品推荐(Q7意向优先否则最低维度映射到 P1知识/P2销售/P3经营/P4会议/P5内容/G1出海 6个标准包,含周期/价格带/验收指标)+90天三阶段路径(每阶段带检查门)+采购准备度标签;⑤前端 diagnosis.html 全流程重写:企业信息→30题作答→资格补充→V2报告(分数环/100、六维雷达、断点卡、产品推荐卡、路径时间线、打印导出PDF);⑥新旧共存:历史列表双版本合并展示(V2/V1 标签),旧报告点开走 V1 渲染器,游客免登录测评+登录自动认领机制保留;⑦新增 /api/diagnosis/v2/* 七个路由与 admin.db 表 diagnosis_results_v2(含 assessment_version/top_scenario/purchase_readiness 数据字典字段)。验证:tsc 零错误、E2E 提交总分57手算一致(L3场景赋智)、缺题400拦截、全4分边界80分L4≥80%正确落相对成熟、游客历史/报告读写、旧版10维接口回归正常、测试数据已清理。
2026-08-27 16:10
我的作品全面纯媒体化——文字不落图下、间距四向等距、无圆角无背景:①短视频/短剧卡片与数字人卡片统一为纯画面瀑布流——标题、时间、发布/更多按钮全部不再显示在图片下方,改为鼠标悬停时底部渐变浮层内浮现(触屏设备隐藏,点开预览看全量信息);②作品间距统一为上下左右各 10px 等距错落布局(手机端 8px),不同比例的视频混排不再出现大片空白;③图片视频圆角全部去除、背景保持透明——满屏都是画面本身,与灵感页视觉语言完全一致。验证:桌面+手机双视口 DOM 断言 15/15(图下零文字节点/媒体无圆角无背景/hover 浮层真实鼠标测试/双容器等距)、零 JS 错误。
2026-08-27 16:10
数字人卡片黑底清除 + 操作补齐:①作品卡与预览区的黑色背景彻底移除;②悬停信息条的操作补全为三个:「发布到灵感」「下载成片」(真实下载)「删除」(带确认框),此前「更多」菜单因重构丢失功能已修复。
2026-08-27 15:50
我的作品·数字人卡片同款极简化:「我的作品 → 数字人」中的作品卡片改为与灵感页一致的纯画面瀑布流——去掉白色卡片底和图片下方的标题文字,鼠标悬停时底部浮现信息条(标题、时间)并直接提供「发布到灵感」和「更多」(下载/删除)操作;生成中和失败的任务以状态徽标卡展示。
2026-08-27 16:05
登录过期自动提示——不再「页面打不开」:修复登录状态失效后(如长期未活动),云盘、用户中心等页面只显示「加载失败」却不知道要重新登录的问题。现在任何接口遇到登录过期,会自动弹出「登录已过期」提示并打开登录窗口,重新登录即可恢复;未登录访客浏览不受影响。
2026-08-27 15:30
灵感页极致净化——纯画面瀑布流:按反馈把灵感页做成和即梦一样的沉浸式瀑布流:去掉卡片边框和标题文字行,作品之间只保留 5px 极小间距,满屏都是画面本身;鼠标悬停在某个作品上时,底部才会浮现渐变信息条(标题、作者、点赞评论数),移开即消失。另外修复访客打开灵感页时误提示「登录已过期」的问题。
2026-08-27 14:50
全站媒体框线清理——图片视频不再有黑框和底色块:素材库、我的作品、灵感页、历史记录、预览浮层等所有展示图片和视频的位置,删除了黑色/灰色背景块与描边线条;视频画面四周不再出现死黑边缘,卡片直接以媒体内容呈现,整站视觉更干净统一。
2026-08-27 13:55
我的作品:新增「短剧」分类 + 版面简化:①分类标签细化为全部 / 短剧 / 短视频 / 数字人——工作室合成的剧情成片归入「短剧」,与快速生成的「短视频」分开,找作品更直接;②版面大幅简化:去掉卡片底色块和多余文字行,封面即卡片;操作按钮(发布到灵感 / 更多)改为鼠标悬停时浮现的毛玻璃条,画面更干净,触屏设备上按钮常显。
2026-08-27 13:30
数字人作品并入「我的作品」,支持分类查看:数字人板块底部的作品横条已移除,「我的作品」新增分类标签——全部 / 短视频 / 数字人。所有口播成片统一在「我的作品 → 数字人」中管理:完成的成片可预览、发布到灵感、下载、删除;生成中和失败的记录也会在此显示实时状态。
2026-08-27 12:55
全面审计修复批次②:存储型 XSS 四入口封堵 + 任务系统加固:①【XSS 系统性修复】此前 onclick 属性内的 JS 字符串用 HTML 实体转义('),会被 HTML 解析器解码回单引号导致逃逸(payload 如 x');alert(1);//)——新增 jsq() JS 上下文转义函数(双层解析后仍为字面量,经恶意 payload 与正常值还原双重验证)并全量替换四个跨用户入口:应用广场卡片(chat.js,含未转义的 p.id/p.url/应用名)、技能广场列表与详情(chat.js,名称/描述/触发词/文件名/元数据标签)、模型广场卡片与供应商筛选(index.html,display_name/vendor/tags/discount/m.id)、系统后台全部 onclick 内 h() 换 jsq(admin.js 46 处,部门名/模型标签等租户管理员可控数据);短剧页同款修复 esc()→jsq() 46 处;②【会议 postMessage 校验】全屏会议 iframe 消息监听补 e.origin 同源校验——此前任意 iframe 可注入 meeting-send 等指令以观众身份代调 AI 烧配额;③【tasks.json 加固】写盘改「临时文件+原子改名+异步链」——进程被杀不再产生半截 JSON 导致启动时静默清空全部任务记录(29MB 全量同步写也不再阻塞事件循环);损坏时自动留存坏文件并从最近备份恢复,不再静默清空;④【音频任务重启恢复】音频生成任务提交后持久化上游任务 ID,服务重启后自动恢复轮询收片——此前重启即标失败+退款而上游可能已出片;⑤前端 chat.js/admin.js/index.html 缓存版本号 bump。批次②中涉及 short-drama.html 的改动随数字人会话场景融合 WIP 一并入库。
2026-08-27 11:31
灵猫AI 手机版系统审计 + 全面修复:390×844 真机视口全状态实测+代码审查,修复 P0 导航断链与 P1/P2 布局触控问题。①【P0】数字人工作台手机端无任何入口——底部 Tab 栏扩展为 6 项(新增「数字人」)、hash 路由补 #/dh 直链支持(parseSdHash/restoreModeFromHash/syncSdHash/lmSyncNav 四处同步);②【P0】灵感广场手机端不可达——抽屉菜单新增「灵感广场」项(社区分组)+ 首页案例区标题栏新增「完整灵感库›」直达链接;③【P1】创作台高级参数行 nowrap 溢出屏外(比例/清晰度物理不可点)且被右下浮动发送/模型钮遮挡——移动端允许换行 + 底部预留 54px 浮动钮地带;④【P1】横向滑动区可滑无提示——工作室步骤条/素材库分类/灵感分类/数字人作品带统一加两端渐隐提示;⑤【P2】iOS Safari 聚焦自动放大根治:≤820px 断点下全部输入控件字号提升至 16px;⑥【P2】触摸目标提升:数字人形象卡操作钮 22→30px、案例卡「下架」≥28px、抽屉历史项 ≥38px 高、作品页 ⋯ 弹出菜单 z-index 提升至 Tab 栏之上;⑦studio-step1 高度补 100dvh 双写适配 iOS 地址栏。桌面端零回归(1600×950 抽查:Tab 栏隐藏/侧边栏正常/参数行原样)。验证:Puppeteer 手机视口 13/13 断言全过、零 JS 错误。
2026-08-27 12:50
灵感页开放访客浏览——分享平台化:未登录访客现在可以直接打开灵感页查看全站公开作品与评论,无需注册登录。页面顶部会显示访客身份提示并提供一键登录入口(登录后自动回到灵感页);访客点击点赞、评论或举报时会收到登录引导。发布、点赞、评论等操作仍需登录账号;待审核和未通过的作品仅作者本人可见。
2026-08-27 12:05
全面审计修复批次①:下架模型自动映射 + 图片生成失败退款:①H3 老三档模型(U01/U03/U06-minimax_h3_light2v)上游已下架,此前被硬编码为各创作链路默认值/回退值导致用户任务提交必 404——新增统一映射模块 video-model-map.ts:默认值全部换为在架活模型(全能参考→e5e_MiniMax_H3_img2video、文生视频→e5e_MiniMax_H3_txt2video、首尾帧保留 U02),所有视频任务提交上游前自动把死模型名映射为对应活模型(一处兑底全网生效),全档位白名单同步更新;②存量数据迁移:用户设置/分镜任务/会话历史内 1138 处死模型名一次性替换为活名(留 .premodelmap 备份);③图片生成修复「失败还扣费」:上游返回错误或响应异常时自动退款(幂等);④顺带修复场景融合 ffmpeg 参数笔误。服务已重启生效。
2026-08-27 11:35
数字人核心升级:长文案自动分段拼接 + 场景融合成片:①H3 等音频驱动模型单段音频有上限(约10秒),超长配音会被截断——现在按句子边界自动把文案分段、逐段生成后无缝拼接(图片数字人2.0 按30秒/段);②新增「场景融合」:从素材库选择场景画面,以缓推/缓拉运镜插入口播片头/片尾,配音连续不断,输出完整叙事视频;③预生成配音超长时按静音点智能切分,不切断词句。
2026-08-27 11:50
灵感卡片封面比例完全自适应:封面不再被强制裁切为固定比例(竖屏 9:16 / 横屏 16:9 两档),改为读取每个视频的真实宽高比自然展示——竖屏、横屏、方形成片都按原始比例完整显示,画面不再被裁掉边缘;加载瞬间以竖屏比例占位防止页面跳动。
2026-08-27 11:35
灵感页瀑布流加密至 5 列:根据反馈将作品卡片参考宽度调小(232→172px),常规屏幕下每行稳定显示 5 个作品卡片,更宽的屏幕自动增至 6 列,手机端仍为两列。卡片缩小后标题自动省略号截断,点赞数与作者信息依然清晰可读。
2026-08-27 11:15
灵感页新增搜索与分类,瀑布流按屏幕自适应:①页面右上角新增搜索框,输入关键词即时筛选作品(匹配标题与创意描述);②新增分类筛选条——全部 / 短视频 / 数字人 / 剧情短剧 / 产品营销 / 知识科普 / 其他,每个分类显示作品数量,发布作品时也可选择所属分类;③瀑布流布局升级为按卡片参考宽度自动计算列数,窗口宽窄变化时列数平滑增减,不再出现固定列数下卡片过宽的问题。顺带修复:从临时素材发布的作品因路径解析错误一直提示「文件不存在」无法发布的问题。
2026-08-27 10:35
「作品广场」更名「灵感」,版面升级为即梦风格瀑布流:板块名与所有相关文案统一改为「灵感」(导航、发布按钮、提示语等同步更新)。版面参照即梦 AI 创作平台发现页重新设计——多列瀑布流卡片(桌面 4 列 / 平板 3 列 / 手机 2 列自适应),视频封面完整铺满卡片并按横竖屏智能适配比例,右下角悬浮点赞数胶囊,卡片下方展示标题与作者(首字头像+昵称),鼠标悬停时卡片浮起、浮现播放按钮并轻微放大画面。功能不变:最新/最热排序、我的发布管理、点赞评论举报照旧。
2026-08-27 10:30
数字人模块优化第二批:标准音色试听 + 批量逐条进度:①创作台与批量生成页的「音色」下拉旁新增试听按钮,点击即合成短句试播(再点一次停止),选音色不再靠猜;②批量生成新增逐条实时进度——每条文案独立显示排队/配音中/数字人播报/完成/失败状态与汇总(完成 X/Y),提交后立即显示、刷新页面自动恢复;③修复媒体路由模块在 ESM 下 __dirname 未定义的潜伏错误(顺带修复抖音分析同款问题)。
2026-08-27 09:55
数字人模块体验优化八项:①克隆/设计音色「生成成片」自动衔接配音(此前未先试听会静默回退标准音色);②改文案/换声音后旧配音自动失效(防新文案配旧声音);③形象改名原生弹窗改为应用内模态;④AI 形象/导入/AI 写稿三个弹窗补右上角关闭、Esc、点遮罩关闭;⑤批量生成页可直接点选形象(迷你网格,不必回创作台);⑥失败/取消任务可一键重试、作品记录可删除(新增后端 retry/delete 接口);⑦刷新页面自动恢复进行中任务的进度显示;⑧H3 音频驱动模型选中时时长档位禁用并提示(成片时长跟随配音)。
2026-08-27 10:10
作品广场上线——全站作品展示与交流社区:「灵猫AI」侧边栏新增一级板块「作品广场」。看作品:全站用户发布的短视频、数字人成片在此集中浏览,支持「最新 / 最热」排序,点开即可播放并一键「生成同款」;聊作品:每个作品可点赞、评论、回复某条评论、删除自己的评论,作者优先展示昵称(未设置则手机号脱敏);管作品:「我的发布」随时查看自己作品的审核状态(待审核 / 未通过角标显示于封面),可下架;保安全:发布仍走先审后发,评论区长度限制与防注入清洗,同一作品被 3 人及以上举报将自动重新进入人工审核队列。
2026-08-27 00:20
分镜视频批量生成「串行 → 一次性全量提交并发」:④生成本集视频此前是「一个镜头完成才提交下一个」的串行(整集 12 镜要跑数小时)。根据模型广场已支持排队 + 2 路 GPU 的现状,改为:提交阶段一次性把本集所有待生成镜头全部发给模型广场(由模型广场排队 + 2 路 GPU 并发),思洋并发轮询收结果(每个镜头独立等待/降级/重试/写回,互不阻塞),速度约翻倍。顺带修复:降级/重试换子任务时复用旧 waitP 导致新子任务不被 executeVideoTask 执行的隐藏 bug(改为换子任务即重置 waitP)。
2026-08-26 19:50
分镜底图支持无参考图文生图 + 图片尺寸统一采用视频设定尺寸:①无参考图镜头自动走纯文生图(默认 z-image,以用户图片模型设定为准),有参考图仍走溶图(fusion 模型);②文生图底图尺寸按 maxEdge 换算(与视频一致,如 9:16 高清 960→540×960);③修复 z-image 内置 comfyui 工作流「任务刚提交返回 task_not_found 时被误判为失败」的问题(改为继续轮询);④★图片尺寸统一采用视频设定尺寸(ratio+maxEdge)——除 duo/z-image 外,普通 Seedream 分支(doubao-seedream5.0 等)也加 maxEdge 优先换算(长边=maxEdge、短边按比例取偶),不再只按 2K 分辨率出图;seedream 模型最小像素限制仍放大保底(如 seedream5.0 lite 最小 3686400 像素,540×960 会等比放大到 1440×2560 保持 9:16)。实测无参考图镜头 540×960 / 720×1280 底图均成功生成。
2026-08-26 11:40
修复移动端工作报告「请先登录」:移动端(App/内嵌页)查看工作报告显示「加载失败:请先登录」——移动端 cookie 不可用时报告请求未显式携带登录凭证;已改为报告请求显式带 token(Bearer),并优化 401 提示(登录过期引导重新登录,不再模糊显示加载失败)。实测手机视口无 cookie 有 token 时报告列表正常加载。
2026-08-26 11:25
修复辩论模式未解析知识库引用:辩论模式中 @知识库[文档] 引用此前只放在系统提示里(后端只解析用户消息)导致检索注入不触发、参会模型无引用内容;已改为用户消息携带辩论主题(含引用),辩论模型基于引用文件内容讨论。实测:模型明确引用「工作记录.txt」内容输出观点。
2026-08-26 10:40
修复 @知识库 引用总结「生成没完就停止」:调用 @知识库[文档] 总结时输出中断(模型说找不到/停在工具调用)。四层根因修复:①知识库文件名匹配命中只回显文件名、不返回文档正文(导致模型看不到内容说「找不到」);②系统提示诱导模型输出 tool_call 代码块;③智能体工具集缺 kb_search 工具(乱跑文件/命令工具后停止);④引用走智能体循环时已注入的检索内容被忽略。修复后实测:@知识库[工作记录.txt] 总结正常输出完整正文。
2026-08-26 10:30
会议/辩论模式知识库引用读取解析修复:排查确认——聊天对话、会议模式、辩论模式中引用知识库文件(@知识库[名称] 或 [引用: 文件名])都会触发后端检索并注入回答上下文;本次修复会议模式漏注入(原后端只解析最后一条用户消息,引用在主持人第一条消息时被漏掉),现遍历全部用户消息聚合引用。实测三模式均「已引用知识库 + 已检索内容」。
2026-08-26 10:22
云盘「上传文件」按钮移入操作栏:上传文件按钮从云盘页顶部上下文工具栏移到云盘操作栏(新建文件夹旁,主题蓝强调样式),顶部工具栏保留「搜索文件」。
2026-08-26 10:18
删除确认统一为平台内置确认框:知识库/云盘/编程文件树的删除确认(含批量删除、反链二次确认)从浏览器原生弹框统一改为平台内置确认框(标题+说明+红色删除按钮),与技能/智能体删除一致,视觉统一。
2026-08-26 10:08
知识库删除加「删除中」浮层:删除文档/文件夹时页面中央显示「正在删除...」加载遮罩(防误操作 + 明确处理中状态),完成后自动关闭。
2026-08-26 10:02
技能/智能体企业模式下操作个人维度修复:排查「知识库等是否有同样的问题」——知识库无问题(数据按文档 ID 操作);云盘已修;本次修复技能与智能体——企业模式下查看/编辑/删除纯个人(个人tab)的技能或智能体时,后端按企业上下文解析目录导致「不存在」;已全部按当前 tab 维度解析目录(纯个人/企业个人/企业共享),前端同步传维度参数。实测:企业模式删纯个人技能/智能体、查看技能/智能体详情均正常。
2026-08-26 09:56
修复云盘批量操作(纯个人盘):云盘批量删除、单个/批量移动在「个人云盘」(纯个人盘)时未带 personal 标记,后端解析错目录导致操作失败;已补齐。实测:批量删除成功 2/失败 0、移动正常。
2026-08-26 09:50
修复个人云盘删除无反应:①上传落点错误——企业模式上传文件按登录上下文先落企业成员目录,纯个人盘(personal=1)上传后未移动,文件滞留企业成员目录;已改为无条件移动到目标盘目录,纯个人盘上传正确落在 data/users/<用户>/assets。②删除路径错误——文件/文件夹删除、回收站恢复/彻底删除在纯个人盘未带 personal 标记,后端解析错目录找不到文件;已全部补上。实测上传→删除全链路 success(删除成功 1/失败 0)。
2026-08-26 09:42
修复企业个人知识库写入落错企业共享:知识库「企业个人」tab 上传文件/新建文件夹/手动建文档,原来全部落到「企业知识库」(共享),现已修复——企业个人维度统一为 kb_type=personal + 企业隔离(tenant_id),上传/建夹/建文档均正确落在企业个人知识库,与企业共享完全隔离。排查确认其他模块无同类问题:云盘(个人/企业个人/企业三分流正确,含大文件分片)、技能与智能体(企业模式自动落企业成员隔离目录)、应用(无企业个人维度)。
2026-08-26 09:35
侧边栏「创作/更多功能」浮层互斥:打开「创作」再打开「更多功能」时,前一个浮层自动关闭(手风琴效果),不再两个同时展开。
2026-08-26 09:33
修复主站侧边栏「创作/更多功能」重复显示:主站默认菜单分组统一后,动态菜单渲染与静态「创作/更多功能」折叠入口重复出现两组;已改为动态只渲染企业自定义子模块,「创作/更多功能」保留原有静态入口(样式不变、子项按权限过滤)。侧边栏布局恢复定版:新建对话 → 直属主菜单 → 创作 → 应用/下载 → 更多功能 → 搜索对话。
2026-08-26 09:30
主站前端菜单与权限中心配置完全同步:排查确认——已配置菜单的企业,主站侧边栏/头像弹出/用户中心的模块、子模块分组、菜单名称、顺序、图标(SVG/图片/emoji)、打开方式(iframe/新页面)全部按后台权限中心配置渲染(员工级→部门级→企业级继承 + 系统后台开放范围上限);本次修复未配置菜单的企业默认生成逻辑,主站读取与权限中心展示一致(首页:直属6+创作3+更多功能5;用户中心:账户/智能服务/组织智慧/工具/其他),不再出现「权限中心有子模块、主站平铺」的不一致。
2026-08-26 09:20
权限中心首页默认展示子模块分组:企业未配置过菜单时,权限中心「首页」模块默认按主站侧边栏定版结构分组展示——6 个主菜单直属 +「创作」子模块(AI短剧/数字人/音频生成)+「更多功能」子模块(日程与任务/定时任务/知识库/技能/云盘);「用户中心」模块同步按账户/智能服务/组织智慧/工具分组。权限中心配置面板打开即可看到子模块,可直接拖拽/改名/增删。
2026-08-26 09:16
管理权限树「权限中心」归人力资源组:员工档案「管理权限」弹框中 ent.ent-perms(权限中心)原被归到「系统管理」组,与权限中心实际导航位置(人力资源组)不一致导致在人力资源组下找不到;已同步归「人力资源」组(与系统后台权限树一致)。实测:展开人力资源组可见「权限中心」模块(职务管理之后)。
2026-08-26 09:12
管理权限弹框只管家后台权限(移除主站前端权限块):员工档案列表「管理权限」弹框不再显示「企业主站前端」权限(主站前端权限已有独立「前端权限」按钮——拖拽菜单配置,所有成员可配);管理权限弹框仅保留企业管理后台权限树(仪表盘/人力资源/资产管理等 98 项),职责清晰不重复。
2026-08-26 09:08
员工管理权限弹窗补齐权限中心菜单权限:员工档案列表「管理权限」弹窗中的「企业主站前端」权限从静态列表改为与权限中心同源(动态拉取权限点池),分组与权限中心一致——主站侧边栏 / 头像弹出(新增) / 用户中心,共 133 个前端权限点可配置;同时修复权限回显前缀不匹配问题(已勾选权限正确显示勾选态)。实测:弹窗三组齐全、零 JS 错误。
2026-08-26 09:00
修复前端权限配置「现有权限点与已配置菜单重复」:权限中心/部门/员工前端权限配置弹框中,已配置到菜单的权限点仍显示在左侧权限池(可重复拖拽)。根因:已配置菜单的 perm_id 存无前缀(chat.page),权限池 id 带 entweb. 前缀(entweb.chat.page),前端过滤比较字符串不匹配导致失效。修复:渲染过滤/添加菜单/去重统一剥前缀比较;后端保存菜单项时归一化存无前缀(防新数据混格式)。实测:首页模块 14 项全配置后池显示「权限点已全部配置」,已配置项与池零重复,零 JS 错误。
2026-08-26 08:50
企业权限管理对标思洋(权限中心/部门/员工前端权限分配):①权限中心改为「前端菜单配置」拖拽式(左栏权限点池→右栏模块/子模块/菜单拖拽分配排序,模板保存/应用/设默认,作用域 tenant/dept/user 三级继承);②部门「菜单」、员工「前端权限」按钮均打开同款拖拽弹框(员工单独配→部门→企业默认,可选模板基准+自定义覆盖+清空回退);③员工档案列表所有成员(含普通员工)都有独立「前端权限」按钮(不再藏在管理员专属按钮里),管理员专属按钮改名「管理权限」避免混淆;④成员列表页操作列同步补「前端权限」入口。实测:权限中心/部门弹框/员工弹框拖拽交互正常、员工档案页 20 行全有按钮、点击打开「菜单配置-×××」拖拽弹框,零 JS 错误。
2026-08-26 08:25
优化侧边栏运行中提示,减少闪烁感:任务生成中时侧边栏的「任务中心」红点与历史记录「生成中」圆点,由快速脉冲改为缓慢呼吸(透明度变化减半、周期拉长一倍),长时间等待时不再刺眼。
2026-08-26 08:15
修复口播成片(图片数字人)生成卡住:图片数字人的形象图与配音此前因参数传错(数组/单值不匹配)未真正传给上游模型,导致任务一直显示生成中不成功。现已修正为正确传递,卡住的任务已自动取消退款,重新生成即可。
2026-08-26 08:10
修复页面刷新闪烁:页面加载后多个后台轮询每 4-5 秒无谓 fetch 并整段重建历史列表/作品带(含视频缩略图),导致视觉闪烁。现已:历史列表与数字人作品带加内容签名防抖(状态无变化不重建);无进行中任务时自动停止轮询(提交新任务时自动恢复),页面空闲时不再有后台刷新。
2026-08-26 07:25
数字人板块新增视频数字人(上传视频角色 → 对口型):①形象库支持「视频角色」——上传视频片段(自动转码归一化)作为数字人角色,卡片/预览/批量面板均用视频预览 + 「视频」角标。②模型按形象类型自动切换:视频角色→视频数字人(e5e_Human2.5 Flash 默认 / e5e_digitalHuman Pro),图片形象→图片数字人(e5e_imgdigital/OmniHuman1.5/minimax-h3-szr)。③上传入口自动识别图片/视频,一键生成对口型数字人视频,声音克隆/批量生成均支持,按原有模型计费。
2026-08-25 23:15
灵猫AI「数字人」一级板块上线(形象库 + 创作台 + 批量生成 + 作品带):①侧边栏新增「数字人」一级板块(短剧之下),三栏布局(左形象库 / 中创作台 / 右参数)+ 底部作品带,页签「创作台 / 批量生成」。②形象库:本地上传、AI 生成形象(复用短剧角色定妆生成,生成后自动入角色库)、短剧角色库+素材图片导入互通,支持改名/删除。③创作台:AI 写稿(带货/新闻/知识/企业四场景);声音面板「标准音色 / 克隆音色 / 声音设计」,先试听配音再生成成片;参数 比例/时长/图片数字人模型。④批量生成(企业场景):一形象×最多 30 条文案,逐条独立计费+失败退款,串行执行队列,重启自动续跑;声音克隆直接开放,按原有模型计费规则。⑤UI 与整体风格统一。
2026-08-25 21:30
分镜底图尺寸对齐视频 + 生图任务失败找回根治:①底图尺寸改为与视频尺寸一致(不再写死 739×1280)——duo 分支按 ratio+maxEdge 换算(9:16 高清 960→540×960、超清 1280→720×1280、16:9 横屏倒过来),与 executeVideoTask U06 分支同款逻辑;前端「②生成本集底图」提交时透传 studio-size 清晰度(maxEdge)+ ratio,shot-image 路由白名单透传。②生图任务「失败但上游已成功」根治——根因:executeImageGenTask 普通图片分支提交上游后只 updateTask(progress) 未保存 extTaskId,服务重启后 recoverStuckTasks 对 image 类型直接标 failed+退款,而实际上游已出图;修复:提交后立即保存 extTaskId(updateTask 对含 extTaskId 的 patch 立即落盘),新增 resumeImageGenTask 恢复函数(按 extTaskId 重新轮询上游收片),recoverStuckTasks 增加 image 分支(先尝试找回,找不回才标失败退款)。③数据清理——2 条孤儿 pending 底图任务(重启前未执行、已扣费)退款各 0.154 元 + 标失败;确认 25 条历史 failed 图片任务已全额退款。涉及 server.ts + short-drama-routes.ts + public/short-drama.html。
2026-08-25 18:38
灵猫AI 界面调整(侧边栏/输入框/图标按钮):①侧边栏背景改回浅紫色(--violet-soft 浅柔紫底,亮度 5%);②输入框外边框删除,改为无边框模式;③输入框左下角菜单图标(创作方式/视频类型/时长/模板/比例/清晰度)后面加文字标签,解决用户看不懂图标含义;④删除图标及按钮的外边框(纯文字样式)。涉及 public/short-drama.html。
2026-08-25 18:26
移除文案/图片/视频创作功能(老板指令):移除今日移植的创作中心(文案创作/图片创作/视频创作)——删除 creation-module.ts + copy/image/video.html、server.ts executeCopyTask/copy-generate 路由/registerCreationRoutes、chat.js openCreationPage/closeCreationPage/PAGES 注册/菜单映射、entweb.creation.* 权限点(种子+数据+企业配置池)、企业菜单/权限列表/配置面板相关引用。短视频/短剧/数字人/音频(创作模块入口)保留不受影响。
2026-08-25 17:50
创作中心上线(文案/图片/视频创作):企业菜单「文案创作/图片创作/视频创作」功能落地——独立创作页面(AI 文案生成、AI 绘画、AI 视频生成),支持历史记录云端同步、任务异步执行、刷新恢复当前创作页。涉及 creation-module.ts + server.ts + copy/image/video.html + chat.js。
2026-08-25 17:30
部门/员工级菜单配置(阶段 3):部门管理和员工档案新增「菜单」配置入口——可为部门或员工单独配置主站菜单(勾选/应用模板/清除回退),优先级:员工配置 > 员工模板 > 部门配置 > 部门模板 > 企业默认。涉及 enterprise.js + hr-module.js。
2026-08-25 17:10
企业前端菜单可配置化(阶段 2):企业管理员可在企业后台「前端菜单」配置员工主站侧边栏/头像弹出/用户中心显示的功能菜单(勾选即显隐);企业员工主站菜单按企业配置动态渲染,支持分组折叠。涉及 enterprise-module.ts + chat.js + enterprise.js。
2026-08-25 16:40
企业主站前端权限控制上线(阶段 1):企业可配置员工在主站(侧边栏/用户中心)可见的功能模块——系统后台可设置企业开放范围,企业权限中心/员工档案可给员工配置主站前端权限;企业身份用户主站前端按企业配置显示(未配置时降级个人权限),与个人会员权限完全解耦。涉及 admin-module.ts + admin-audit-module.ts + enterprise-module.ts + hr-module.js + admin.js。
2026-08-25 16:00
定时任务简报获取最新行情数据:修复简报任务内部搜索端口错误导致执行失败,并强化搜索时效性——简报严格基于最新联网搜索结果生成(如黄金简报已能准确引用近期金价 4642 美元/盎司),不再混入模型旧知识。涉及 lens-scheduler.ts + server.ts。
2026-08-25 15:48
定时任务搜索简报真实联网:搜索简报(如「每日现货黄金价格趋势分析报告」)此前仅凭模型知识生成导致内容过期——已改为真实联网搜索后整理,内容为近期信息。涉及 lens-scheduler.ts。
2026-08-25 15:42
IM 新消息提示精简:定时任务等长内容推送时,站内弹窗提示只显示单行短预览(前 30 字)不再多行刷屏,完整内容在 IM 会话中查看。涉及 chat.js + server.ts。
2026-08-25 15:35
定时任务手动执行恢复推送结果内容:手动点击「立即执行」成功后,任务产出内容(简报/技能/智能体结果/提醒)仍推送 IM 消息;执行失败状态仅弹框提示不发 IM。涉及 lens-scheduler.ts。
2026-08-25 15:44
对比/会议多选仅限语言类模型:进入对比/会议多选时,非语言类(图像/视频/音频/3D)模型整个从列表隐藏,只保留语言/对话类模型(request_type=chat 或推断含文本能力)供勾选;退出多选后非语言模型恢复显示。涉及 public/static/js/chat.js + public/static/css/main.css。
2026-08-25 15:30
灵猫AI 全面审计修复(P0×2 + P1×7 + P2×7 + P3 若干):①【P0 重启风暴止血】pm2 max_memory_restart 500M→1500M(近 8h 重启 88 次、RSS 460MB 逼近上限被循环 kill),新配置生效后 RSS 93MB 稳定;②【P0 企业数据双写收敛】灵猫任务元数据全链路带 tenant(genTasksWrite/createCharacterRun/generateCharacterMaterials/readEp·Sb·SvTasks/ensureProjectIntegrity 及全部路由与后台任务函数),启动恢复扫描覆盖企业成员目录(此前只扫 data/users,企业任务重启不恢复),素材/配额缓存键加 tenant 维度;2.1GB 双写重复数据以硬链接去重(712 文件、md5 校验、零数据丢失);③【P1 上传阻断修复】数字人形象/图文成片上传字段错位(前端读 item.imageUrl、后端返回 item.image)——两处补齐,上传恢复可用;④【P1 广场公开播放】过审作品列表改发 /temp_media/plaza_*.mp4 公开副本(私有 ?user= URL 非作者观众必 401 全裂),副本免 TTL 清理,下架/驳回自动清理;前端补「未过审」徽标;⑤【P1 后台安全】登录防爆破改 req.ip(原手工读 X-Forwarded-For 可伪造绕过);平台配置写入限 super_admin(原 operator 可关「先审后发」);后台会话 cookie 改 httpOnly + 过期会话启动清理;works/materials 删除接口 userId/projectId 正则禁 .. 穿越;⑥【P1 取消态修复】分镜批量轮询与快速短视频进度气泡补 cancelled 终态(取消后按钮/气泡不再永久卡生成中);⑦【P2 计费修复】TTS 扣费后参数/配额失败 7 处退款;角色定妆照恢复超限/参考图丢失标失败补退款;短剧历史「重新生成」补全参数(此前丢参考图/清晰度);后台人工调余额写入 consumption_records 进财务报表;runSvTask 计费 fakeReq 补 tenant 头。验证:tsc 零错误、前端 4 个 script 块 node --check 通过、plaza 公开副本 200、防爆破/登录链路正常、health 200。
2026-08-25 15:08
侧边栏菜单分类调整:AI 短剧 → 创作(四个子模块):原侧边栏「AI 短剧」单一按钮改为「创作」分类父级菜单,下设四个子菜单——①短视频(进入灵猫AI 短视频板块 /short-drama.html#/quick);②短剧(进入灵猫AI 短剧工作室 /short-drama.html#/studio/1);③数字人(e5eTalk,原「更多功能」菜单项移入);④音频(AI 音频生成,原「更多功能」菜单项移入)。原「更多功能」菜单下的「创作与生成」分组(数字人/音频生成)已移除并入创作分类。权限点 drama.page 更名「短视频 / 短剧」、media.digital/voice.page 描述同步更新;新增「创作」父级权限联动(子项全隐藏时父级按钮自动隐藏)。涉及 public/index.html + public/static/css/main.css + public/static/js/chat.js + admin-module.ts。
2026-08-25 15:17
主对话模型列表选择优化(消除复选框混淆):原模型列表「复选框(对比/会议多选)」与「单击模型名(单选)」并存极易混淆。现默认单击即选定单一模型(无复选框);需多模型对比/会议时,点菜单底部「对比」或「会议」按钮进入多选模式(模型项出现复选框 + 顶部提示「多选模式 · 勾选 2-4 个模型」),勾选 2-4 个模型后点「确定」进入对应模式,「取消」或关闭菜单则退出多选回到单选。涉及 public/static/js/chat.js + public/static/css/main.css + public/index.html。
2026-08-25 14:20
思洋 502 恢复(组织图谱性能修复):组织意图对话触发组织图谱全量扫描导致服务 CPU 100% 卡死(502)——已优化超大图谱跳过关键词召回阶段,服务恢复稳定,组织相关问答响应正常。涉及 org-graph-module.ts。
2026-08-25 14:35
定时任务余额不足自动跳过付费任务:自动执行时,余额/配额不足的付费定时任务(智能体/技能/简报/搜索/LLM 步骤)不再执行,任务标记失败并提示原因;免费任务(纯提醒/推送)正常执行不受影响。涉及 server.ts。
2026-08-25 14:25
定时任务手动执行不再推送 IM 通知:手动点击「立即执行」结果仅弹框提示(成功/失败原因),不再发送 IM 通知;定时自动执行仍正常推送 IM 通知。涉及 server.ts + lens-scheduler.ts + lens-routes-module.ts + calendar.html。
2026-08-25 14:15
定时任务「立即执行」即时反馈优化:点击立即执行即刻提示「已触发执行」,不再等待任务跑完才有反应;执行结果通过 IM 通知送达(成功推送结果、失败推送原因),页面自动刷新任务状态。涉及 server.ts + lens-scheduler.ts + calendar.html。
2026-08-25 13:55
思洋系统全面审计优化(速度+稳定性+死代码+逻辑):①修复诊断接口磁盘泄漏(debug-report 5 天累积 24.8 万文件/989MB,前端去 debug=1 + 后端加开关限流,清理全部存量);②修复 pano 全景视频临时目录泄漏(5.7GB,加清理逻辑);③性能优化——git 权限切换 spawnSync→异步 spawn(消除最长 120s 事件循环冻结)、终端沙箱探测改模块级缓存、建议缓存定时清理、大会话文件读取加 3MB 守卫;④修复逻辑缺陷——音轨 volume=NaN 致合成失败、建站意图误判(「介绍一下这个网站」被当成建站)、企业文件夹越权删除、企业会话死文件、验证裁判 0 分被替换成 70 分等 10 处;⑤清理死代码——垃圾 checkpoint 文件、47 个死函数、45 处冗余 import、14 个死变量。涉及 server.ts + 13 个模块 + 前端 chat.js。
2026-08-25 13:26
企业数据隔离收尾:全站迁移补齐 + enterprise/PPT 模块隔离对齐:①全站补充迁移——8-24 隔离迁移遗漏 20 个成员、20 个数据项(会话/企业会话/记忆/版本历史/工作区/知识图谱/演进/项目缩略图/智能体/技能/PPT/感知等),全量补齐(幂等复制,个人目录保留双份,回收站与密码锁元数据已排除);②enterprise-module 成员数据操作(删除/转移成员、文件下载预览、会话查看、资源统计)8 处改走企业目录 data/tenants//members/;③ppt-module PPT 会话/云盘/任务/文件目录 tenant 感知——企业模式存企业目录,统一存 sessions.json 对齐主会话。涉及 enterprise-module.ts + ppt-module.ts + ppt-types.ts + server.ts + 数据目录。
2026-08-25 12:40
定时任务失败通知与执行反馈:①任务执行失败(余额不足/模型异常等)自动推送 IM 通知,不再静默;②「立即执行」同步返回执行结果,成功显示输出摘要、失败显示错误原因;③自动执行失败同样推送。涉及 lens-scheduler.ts + server.ts + calendar.html。
2026-08-25 12:30
定时任务余额校验:修复无余额用户仍可执行定时任务的问题——涉及模型调用的定时任务(智能体/技能/简报/搜索/LLM 步骤)执行前校验余额/配额,余额不足任务失败不调用模型;提醒类任务(纯推送无成本)不受限。涉及 lens-scheduler.ts + server.ts。
2026-08-25 12:20
定时任务兜底模型候选池:定时任务(技能/简报/多步编排搜索与LLM)执行模型不再固定单一模型——deepseek-v4-flash 优先,不可用时自动依次尝试其他可用模型(全局兜底链 Doubao-Seed-2.0-lite/qwen3.7-plus + 其他可用 LLM),保障定时任务稳定执行不因单模型故障中断。涉及 lens-scheduler.ts + server.ts。
2026-08-25 11:59
定时任务功能审计修复:①路径穿越(任务 ID 未校验可注入 ../ 读任意 JSON);②多步编排的搜索/LLM 步骤零计费白嫖(补计费);③内部调用指定已下线模型 gpt-5.4-nano 导致任务执行失败(改 deepseek-v4-flash)。已确认安全项:个人隔离、Agent 只读工具白名单、cron 校验、前端 XSS 转义、调度循环限流。涉及 lens-scheduler.ts。
2026-08-25 11:45
组织图谱大图写盘阻塞修复(服务卡死):大企业组织图谱(179140 节点)磁盘缓存 JSON 达 321MB,同步写盘阻塞事件循环导致服务无响应(管理后台打不开)。修复:缓存/快照改异步写盘 + 节点超 50000 跳过磁盘缓存(内存缓存够用)+ 快照保留 30→7 份。涉及 org-graph-module.ts。
2026-08-25 11:39
免费额度利润计算修正:免费额度(free_allowance)消费的利润字段原按「正常价格-成本」算成正数,实际免费额度未向用户收费(total_cost=0),利润应为负数(0-上游成本)。已修复计算逻辑并回填存量数据(思洋 465 条、思洋 30 条,利润合计从正数修正为与成本对账的负数)。涉及 admin-module.ts。
2026-08-25 11:35
错误提示样式统一优化:①toast 不再抛完整技术错误原文(如「请求失败: 本月免费额度(10万 tokens)已用完」),改显示友好分类文案;②「本月免费额度已用完」单独识别为额度类,提示「升级会员立享更高额度」,错误卡片新增紫色「升级会员」按钮(跳转会员中心)+ 金色「去充值」按钮;③错误卡片统一纵向卡片结构 + 分类配色(额度=琥珀、网络/模型=红、登录=蓝、限流/超时=橙、权限=紫),圆角/阴影/间距美化;④技术详情折叠加箭头动效。涉及 public/static/js/chat.js + public/static/css/main.css。
2026-08-25 10:00
系统整体移除前端白板功能:①删除白板页面(meeting-whiteboard.html)与增强脚本(whiteboard-enhancements.js);②移除主站侧边栏「白板」入口、快捷工具栏白板按钮、关于页白板描述;③移除后端白板专属接口(AI 画布解读 describe-canvas);④权限点 canvas.page 更名为「AI 绘画」(保留画布生图/ComfyUI 能力);⑤移除「白板」系统智能体及认知中枢相关集成;⑥同步清理主站/用户中心/后台管理/系统提示词中的白板文案。AI 绘画/画布生图能力不受影响。
2026-08-25 09:42
资源管理区分个人/企业盘点:①应用管理补「归属」列(企业应用标注企业名,21/41 为企业应用);②技能管理/智能体管理已有「来源」列(全局/企业/用户)无需改;③网站媒体/SEO/页面编辑器为站点级资源无需区分。资源管理四模块(应用/技能/智能体/资产)个人/企业维度全部齐备。
2026-08-25 09:30
管理后台资产管理区分个人/企业:①资产统计扩展扫描企业成员目录(原仅个人目录,企业资产全漏);②表格加「资产类型」列——企业资产标注企业名;③详情/预览/删除支持按企业查看。
2026-08-25 09:20
管理后台消费明细余额类型(延续交易记录):消费明细表格新增「余额类型」列——企业余额标注企业名称、个人余额纯文字,与交易记录口径一致。
2026-08-25 09:05
管理后台交易记录余额区分个人/企业:①交易列表新增「余额类型」列——企业余额标注企业名称(JOIN tenants)、个人余额纯文字;②后端按 metadata.source 判定 balance_kind(enterprise 前缀/plan_token=企业、personal/personal_fallback=个人);③修复企业渠道消费 tenant_id 丢失 bug(charge 企业扣费自动补 profile.tenant_id,防企业账单漏算);④存量回填 47 条 enterprise 消费记录 tenant_id(备份 /root/backups/xuankun-tenant-backfill-20260825/)。
2026-08-25 08:35
工作报告安卓 App 点击无反应修复:安卓 WebView 拦截 window.open('_blank') 兜底跳转导致「写日报」无反应。修复:open_report 动作 XKSlashCommands 未就绪延时重试(defer 时序)+ 兜底改 location.href 当前页跳转。浏览器环境实测提交链路正常(弹窗/表单/提交/抄送 3 人全通)。
2026-08-25 07:10
修复 H3 文生/全能参考·无损模型尺寸无效:对话窗口选 H3 模型,属性面板设尺寸/比例后生成结果无效。根因:txt2video/img2video 后端 megapixels 映射只认 736/960/1280 三档,而前端 H3 面板是 14 档最长边(608~1920),其余 11 档(608/864/1056/1152/1216/1344/1376/1504/1664/1824/1920)mpMap[edge] 恒 undefined → fallback 0.9 高清 → 尺寸设置无效(实测 maxEdge=1920 超清→mp=0.9)。修复:改为按最长边范围映射(≤864→0.4标清 / ≤1280→0.9高清 / >1280→2.0超清)。U03/U01/U02/U06 尺寸(h3SizeMap 14 档 + ratio 换算 width/height)实测一直生效(GPU 收 414×736 正确)。涉及 server.ts。
2026-08-24 18:08
任务中心审计与修复:企业模式下任务中心全空——任务按 tenant 过滤,而个人模式创建的历史任务 tenant 为空,企业模式全部消失。修复:任务列表改为显示用户全部任务(任务为用户私有记录,username 维度);任务创建仍带 tenant_id(账务/产物归属不变)。审计确认其余功能正常:列表白名单裁剪/详情/取消(退款+级联子任务)/删除/重试(冷却)/200 条上限驱逐前归档。
2026-08-24 17:32
对话内容截断修复(deepseek-v4-flash 等):双根因——①flash 不在推理模型名单,主对话不补 max_tokens,长回答被上游默认预算截断(已把正则 deepseek-v4-pro 扩为 deepseek 覆盖 flash,实测补 16384 后 4000 字完整输出);②前端自动续写 SSE 解析只认标准 choices[0].delta,而 /api/chat 返回自定义 {type:content,data},续写内容全丢导致误判终止(已兼容双格式)。
2026-08-24 17:22
思考区 workbuddy 模式:参考 WorkBuddy 交互——思考区折叠态显示最新几行(88px 限高 + 底部渐变遮罩 + 自动滚动到最新内容),其余收起;点击展开查看全部思考。兼顾深度思考模型(GLM-5.2 等)的思考可见性与正文防重复。
2026-08-24 17:15
GLM-5.2 对话内容重复修复:根因——GLM-5.2 为深度思考模型,思考过程会组织完整答案(思考尾部≈正文开头),前端思考区自动展开导致思考全文+正文重复显示。修复:思考区默认折叠不自动展开(正文出现后转「已思考」折叠态,可手动展开查看),重复感消除。
2026-08-24 16:57
回退:企业模式侧边栏余额显示——老板确认侧边栏恒显示个人余额为正确设计(企业余额在企业后台展示),回退 16:55 的企业余额显示改动。
2026-08-24 16:55
个人/企业计费与显示全面排查:①修复企业模式侧边栏余额显示个人余额——改为显示企业余额(entBalance),切回个人模式恢复个人余额;②验证计费归属正确:个人模式扣个人余额、企业模式对话走企业池/余额、企业模式工具类扣企业余额(tenant_id 正确归属);③验证显示正确:用户中心账单按身份过滤(企业模式只看企业账单)、企业后台余额/明细/配额正常、管理后台消费明细无企业维度(可改进项);④企业 token 池已超限 120%(degrade 降级策略生效中)。
2026-08-24 16:35
资源生成与预览排查修复:①版本保存栈溢出(files 循环引用)→ 安全序列化;②图片生成上游 completed 但 data 空 → 自动重提 1 次 + 友好错误(带模型名);③e5e_zimage-3view 上游生图服务异常(空 data/invalid json 稳定失败)→ 广场屏蔽(恢复后移除)。预览链路实测正常(图片/视频缩略图、大图、原图下载均 200)。
2026-08-24 15:58
应用分享打开跳首页修复:分享给别人的应用链接打开后停在首页/跳首页——①_openPendingApp 原依赖登录态,未登录分享对象停在首页;②应用内绝对路径跳转(/dashboard)在沙箱下会逃逸到主站;修复=未登录也走应用查看器 iframe(应用正常显示、内部跳转被困 iframe、主站 URL 不变)+ handshake 恢复登录双路径补触发。分享对象无论登录与否都能直接看到应用。
2026-08-24 15:25
编程模式预览渲染两次修复:进入编程模式预览闪烁——①showCoderProjectLanding 多次调用每次重设 srcdoc(示例页幂等);②switchFileTab→syncEditorPreview 在 landing pending 设置前先渲染真实项目再被示例页覆盖(pending 提前);③syncEditorPreview 拦截条件改回无条件保持示例页(AI 生成/用户选择路径均已先置 false)。进入后示例页只渲染 1 次,点「继续/新建」正常切真实预览。
2026-08-24 15:15
编程模式项目保存防重复脏数据:①projects/save 按 deployId 优先匹配(同部署/同应用重复保存更新同一条,不再按 name 新增);②未传新 deployId 时保留原部署关联(修复保存抹掉部署关联+误删最新部署目录的隐患);③前端记录 _lastBuildDeployId 随自动保存携带。同一应用反复构建/部署/保存只保留一条项目记录,旧部署目录自动清理。
2026-08-24 15:10
知识库搜索框浏览器自动填充手机号修复:刷新页面后搜索框被浏览器自动填手机号(autocomplete=off 对部分浏览器/密码管理器无效)——7 个搜索框改 autocomplete=search + 无关 name + data-lpignore,页面加载统一清空搜索框残留(双重防护)。
2026-08-24 14:40
数据隔离审计修复(A-1/A-2/A-3):①token 认证(APP/iframe)企业模式数据落个人目录——getSessionTenantId 补 x-tenant-id header 通道+归属校验(canAccessTenant),asset-routes 统一走 getSessionTenantId,前端 entModeHeaders 统一补发 x-tenant-id;②用户账单按身份过滤(企业模式只看本企业,个人模式看个人账单);③清理 transactions 脏数据(user_id 误存企业 ID 补 tenant_id + 测试残留删除);顺带修复并行会话遗留 tsc 错误。
2026-08-27 11:35 — 数字人:长文案分段拼接 + 场景融合
  • 长文案不再被截断:H3 音频驱动模型单段上限约 10 秒、图片数字人 2.0 约 30 秒。系统现在按中文句子/逗号边界把文案切成安全片段(每段留安全边),逐段生成数字人画面后用 ffmpeg 无缝拼接为整片;单个超长句会按字符硬切兜底;最多 8 段(超出提示精简文案或换模型)。
  • 预生成配音同样处理:先试听再生成的流程中,若配音超过所选模型上限,服务端用 ffmpeg 静音检测在词句间隙找最接近均分点的切位切分,避免切断正在说的字词。
  • 场景融合:创作台右栏新增「场景融合」面板——从素材库场景图点选 1-3 个(带序号角标),选版式(片头+片尾 / 仅片头 / 仅片尾)与单段时长(2-5 秒)。场景画面以 Ken Burns 缓推/缓拉运镜渲染后插到口播前后,口播配音整体延迟保持连续,成片从「干讲」变成有开场的完整叙事视频。
  • 计费校准:H3 任务此前按默认 10 秒档计费,现按文案长度估算实际时长计费(约 4 字/秒)。
  • 进度可视化:创作台进度条显示分段进度(第 X/Y 段)与「拼接分段画面」「融合场景画面」阶段。
  • 涉及文件:dh-audio-utils.ts(新增)、server.ts、media-routes.ts、public/short-drama.html、public/short-drama.css。
2026-08-27 10:30 — 数字人:标准音色试听 + 批量逐条进度
  • 音色试听:创作台与批量页「音色」下拉右侧新增喇叭按钮(SVG 图标),点击调用 edge-tts 合成固定短句即时播放——合成结果以音频流直接返回,不占用云盘、不进素材库、不计费;播放中按钮变紫色实心,再点一次停止;每分钟限 12 次防滥用。
  • 批量逐条进度:批量提交后左侧进度区实时列出每条文案的状态(排队中 / 配音中 / 数字人播报 / 完成 / 失败),顶部汇总「完成 X/Y · 失败 Z」,失败条目标题可看原因;数据复用作品列表接口,签名去重防闪烁,批次全部结束 30 分钟后自动收起。
  • 稳定性修复:媒体路由模块为 ESM 模块但引用了 __dirname,首次触发会 500——已在模块内补齐定义(同时修复抖音分析路由的同款潜伏问题)。
  • 涉及文件:media-routes.ts、public/short-drama.html、public/short-drama.css。
2026-08-27 09:55 — 数字人模块体验优化(八项)
  • 克隆/设计音色一键到底:选择克隆或声音设计后直接点「生成成片」,系统自动先生成配音再提交成片——此前会静默回退标准音色生成,与用户所选声音不符。
  • 配音失效保护:修改文案、切换配音方式/音色、更换参考音频后,已生成的试听配音自动作废,避免「新文案配旧声音」错位成片。
  • 形象改名升级:由浏览器原生小弹窗改为应用内风格模态,支持 Enter 确认 / Esc 取消 / 点遮罩关闭。
  • 弹窗关闭三件套:AI 生成形象、导入形象、AI 写稿三个弹窗补齐右上角关闭按钮(SVG 图标)、Esc 键与点击遮罩关闭,操作与其他弹窗一致。
  • 批量页直接选形象:批量生成左侧形象区从只读展示改为迷你网格,可直接点选切换,无需切回创作台。
  • 失败重试与删除:作品带中失败/取消的任务出现「重试」按钮(继承原参数重新生成);完成/失败的作品出现「删除」按钮清理记录(不影响云盘视频文件)。
  • 进度恢复:刷新或离开页面后再回到数字人板块,进行中的任务自动恢复创作台进度条显示。
  • H3 时长提示:选择 H3 音频驱动模型时禁用时长档位并悬浮提示(该模型成片时长跟随配音时长)。
  • 涉及文件:media-routes.ts、server.ts、public/short-drama.html、public/short-drama.css。
2026-08-26 23:30 — 数字人模块 UI 全面审计与重设计
  • 形象库:卡片统一固定比例展示,竖屏视频与方形人物不再互相拉伸变形,卡片等高整齐;编辑/删除按钮触控区加大,移动端更易点击。
  • 提示与状态:右上角功能提示改为带图标的紫色提示条(清晰可读);「创作台 / 批量生成」切换激活态加紫色填充与阴影,一眼识别当前页面;空态增加图标引导。
  • 细节规范:按钮圆角统一为圆角矩形;表单 hover/focus 增加品牌色光晕反馈;作品卡片增加 hover 提升效果;批量生成形象卡文本规范显示;数字编号使用等宽数字字体对齐。
  • 验证:桌面、移动端、批量生成、暗色模式四态复核,无拉伸变形、无横向溢出、无白底残留,对比度达标。
  • 涉及文件:public/short-drama.css、public/short-drama.html。
2026-08-26 22:40 — 创作台预览区自适应角色比例
  • 优化:中间预览窗口不再固定横屏,改为跟随所选角色/成片方向——竖屏形象显示为竖屏预览窗口,横屏内容显示为横屏窗口,内容完整显示不裁切。
  • 细节:预览窗口形状切换带平滑过渡;空态(未选形象)保持默认尺寸。
  • 涉及文件:public/short-drama.css、public/short-drama.html。
2026-08-26 22:32 — 数字人作品点击放大改为全屏预览
  • 问题:点击数字人作品放大预览时,视频被挤在创作台小预览区内,竖屏几乎没放大。
  • 优化:点击作品(视频画面或「预览」按钮)改为全屏深色浮层展示——视频按原始画幅完整显示、尺寸大幅放大,支持右上角关闭按钮、点击遮罩或 Esc 键关闭。
  • 涉及文件:public/short-drama.html。
2026-08-26 22:25 — 数字人作品横竖屏区分展示
  • 问题:作品带中竖屏成片被裁切显示不完整。
  • 优化:作品卡片按视频实际画幅自适应——横屏成片显示为宽扁卡片,竖屏成片显示为高瘦卡片,画面完整显示不裁切、不拉伸、不变形。
  • 适用:数字人板块「数字人作品」作品带全部历史与新增成片。
  • 涉及文件:public/short-drama.html。
2026-08-26 22:10 — 历史数字人作品无法预览修复
  • 问题:数字人板块作品带中历史成片全部无法预览(视频黑屏)。
  • 根因:历史成片文件保存在个人云盘目录,而企业模式下按企业成员目录查找,路径不一致导致文件读取 404。
  • 修复:文件读取接口在企业目录找不到时自动回退到本人个人目录(仅同用户文件,不影响权限边界),历史作品恢复可预览。
  • 验证:历史数字人作品播放器正常加载(元数据加载完成、无错误),零 JS 报错。
  • 涉及文件:server.ts。
2026-08-26 20:58 — 数字人任务结果取回与比例尺寸修复
  • 结果取回:数字人口播成片任务支持断点续跑——服务异常中断后,已提交/已完成的子任务结果会自动回收并完成父任务收尾,不再出现「任务失败但视频实际已生成」的情况。
  • 比例尺寸:MiniMax H3 图片数字人(e5e-minimax-h3-szr)此前未传递比例与清晰度参数,生成结果固定为 16:9 横屏;现已按创作台选择的比例(9:16/16:9/1:1 等)与清晰度档位生成,实测 9:16 输出 736×1280 竖屏。
  • 说明:音频驱动数字人的视频时长跟随配音长度(对口型),文案短则成片短,属于模型特性。
  • 验证:真实链路提交 h3-szr 9:16 任务出片成功且为竖屏;老板 20:12 失败的成片已恢复为已完成并可在作品区查看。
  • 涉及文件:server.ts。
2026-08-26 14:02 — 模型列表比例专项校准
  • 问题修正:模型列表此前存在固定高度、默认行高、移动端触控规则和标签换行相互覆盖的问题,导致视觉上忽高忽窄。
  • 统一规范:模型项统一 28px 高度,模型名称与能力标签保持同一行,标题行高 1.2,菜单宽度调整为 360px。
  • 响应式:桌面、平板、手机分别校准;手机端不再套用导航项 44px 高度,菜单仍按视口自适应。
  • 验证:生产 Puppeteer 实测桌面/平板/手机均加载 7 个模型项,实际行高均为 28px,标题高度约 15–16px。
2026-08-26 13:50 — 模型列表行高增加 3px
  • 模型项高度从 24px 调整为 27px,内边距同步调整,保持名称、图标、标签和复选框垂直居中。
  • 模型简介继续隐藏,单行紧凑布局和交互逻辑不变。
2026-08-26 13:41 — 模型列表行高减少 5px
  • 模型项高度从 29px 调整为 24px,内边距同步收紧。
  • 模型名称、图标、标签、复选框和选中交互保持不变,简介继续隐藏。
2026-08-26 12:36 — 模型列表行高调整为 29px
  • 模型单行高度从 19px 增加 10px 至 29px,内边距同步调整,名称、图标、标签和复选框保持垂直居中。
  • 简介仍保持隐藏,模型列表继续采用单行紧凑布局。
2026-08-26 11:54 — 模型列表单行高度再压缩 15px
  • 行高:模型项由 34px 压缩至 19px,内边距同步收紧,列表更紧凑。
  • 保留:模型名称、类型图标、标签、选中态、多选复选框和点击交互不变。
  • 版本:前端资源版本已更新。
2026-08-26 11:41 — 模型列表紧凑化
  • 列表密度:模型单行高度由 50px 压缩至 34px,上下内边距和模型项间距同步收紧。
  • 复选框:对比/会议多选圆形复选框由 24px 缩小至 18px,内部勾选标记和右侧间距同步缩小。
  • 可用性:保留模型项完整点击区域、hover、选中和键盘焦点反馈。
  • 版本:前端资源版本已更新,避免旧 CSS 缓存影响显示。
2026-08-26 11:16 — 模型列表隐藏简介
  • 显示规则修正:模型列表现在只显示模型名称、类型图标和能力标签,不再显示模型名称下面的简介文案。
  • 适用范围:动态模型列表与 e5e-Lens 智能路由项统一处理,模型项保持单行紧凑布局。
  • 修正原因:此前将「单行模式」误解为「简介单行省略」,本次改为正确的「简介不显示」。
  • 版本:前端资源版本已更新,避免浏览器继续读取旧 CSS 缓存。
2026-08-25 22:12 — 模型列表简介改为单行显示
  • 列表密度:所有模型名称下方的简介统一为单行显示。
  • 超长处理:简介超过可用宽度时使用省略号,不再换行撑高模型列表。
  • 保留信息:模型名称、类型图标、能力标签、当前选中态和对比/会议入口不受影响。
  • 涉及文件:public/static/css/main.css、public/index.html。
2026-08-25 22:05 — 对比/会议入口按钮改为图标+文字无框样式
  • 入口样式:模型菜单底部「对比」「会议」改为 SVG 图标在前、文字在后的横向布局。
  • 去除双层外框:同时清除按钮外层操作容器与按钮自身的边框、背景、阴影,避免出现两层框体;对比中/会议中状态也保持无框,仅使用主题色表达状态。
  • 交互保持:对比、会议的进入/切换逻辑不变,清除和多选确认按钮仍保留原有操作语义。
  • 验证:chat.js node --check 通过,生产页面健康检查正常,版本号已更新。
2026-08-25 21:45 — 主对话模型列表视觉规范审计与优化
  • 审计范围:左上角模型触发器、模型菜单浮层、e5e-Lens 智能路由项、搜索与类型/厂商筛选、模型列表项、对比/会议多选态,以及亮色/暗色主题。
  • 主要优化:触发器补齐键盘焦点与 aria-expanded 状态;菜单统一 336px 规范宽度、主题阴影与圆角;当前模型在列表内显示主题色对勾,默认单选与对比/会议多选层级更清晰;列表项补齐 hover/pressed/focus-visible 状态与统一高度;移除 e5e-Lens 项浅色硬编码,暗色模式不再出现白色补丁;底部主操作按钮统一使用主题色令牌。
  • 使用规范:日常直接点击模型名称完成单选;对比/会议从菜单底部进入多选模式,列表仅显示语言模型;搜索、类型、厂商筛选可组合使用;键盘可通过 Tab 聚焦模型触发器与列表项。
  • 验证:生产环境 3002 Puppeteer 覆盖关闭、打开、展开、多选、暗色五态,模型列表 7 项,菜单定位与主题状态正常;chat.js node --check 通过。
  • 涉及文件:public/index.html、public/static/css/main.css、public/static/js/chat.js。
2026-08-23 23:45 — 灵猫后台分镜图片预览 + 素材库场景默认大图
  • 灵猫后台分镜预览修复:素材管理「分镜」分类原只显示「无图」占位符(adapter 未提取分镜缩略图)。已补 listAllMaterials storyboards 分支的 refImage(shot.thumb base64 缩略图)+ 新增 viewImg 大图预览函数,分镜卡片显示缩略图、点击打开大图(原点击跳项目详情/播视频)。
  • 素材库场景默认大图:场景图片点击打开默认进全景(体验不对),改为默认 viewLibImg 看大图,「360° 角标 / 全景」按钮才进 openPanoViewer 全景模式。
  • 涉及文件:lingmao-admin-adapter.ts / public/lingmao-admin.html / public/short-drama.html。
2026-08-22 15:57 — 模型标签体系(同步思洋)
  • 标签库:标签管理页可新建(名称+颜色+权重)/编辑/删除标签(唯一创建入口)。
  • 批量分配:模型广场/内置模型列表勾选模型 → 批量设置/取消标签(多选框+颜色效果预览)。
  • 展示:模型表格标签列(颜色徽标)、权重排序、首页/用户中心广场标签徽标+标签权重排序。
  • 涉及:admin-module.ts / admin-mgmt-module.ts / model-plaza-routes.ts / admin.js / admin.html / index.html / user-center.html / chat.js。
2026-08-22 16:16 — 模型选择器标签独立行修复 + BUILD 强制清缓存(同步思洋,老板「需要」)
  • 修复:chat.js 模型选择器标签从标题单行(nowrap+ellipsis 截断)移出为独立 .model-item-tags 行(flex-wrap 可换行完整展示);main.css 新增样式;index.html chat.js/main.css 版本号 1787410000 + BUILD 202608221616(触发 SW 缓存自动清理)。
  • 验证:本地 3002 实测 chat.js 含新版代码、BUILD 生效、health 200。
  • 涉及文件:public/static/js/chat.js、public/static/css/main.css、public/index.html。
2026-08-22 15:52 — 全站模型写死/兜底排查 + 全局多级兜底链(同步思洋,老板「同步到思洋吧」)
  • 同步内容(思洋 25c91c2):①全局 LLM 兜底多级链——GLOBAL_LLM_FALLBACK_CHAIN=[deepseek-v4-flash, Doubao-Seed-2.0-lite, qwen3.7-plus] + fallbackLLMDefault()(返回链上首个广场可用模型,缓存 60s),callModelCore 配置缺省/Gemma 降级/Agent 流式降级/modifyLLM/gemma 代理改写/子代理默认等 16 处单兜底全部接入;callModelCore 主模型空内容时沿链换模型重试一次(无副作用);config MODELS 内置 flash 直连终极兜底保持。②index.html 删除 plazaSelectedIds.add("deepseek-chat") 死默认残留(已不在广场列表,_derivePlazaDefaults 推导替代)。
  • 验证:tsc 0、node --check 0、服务重启 health 200。
  • 涉及文件:server.ts、public/index.html。
2026-08-22 00:20 — 接入 MiniMax H3 全能参考·无损模型(e5e_MiniMax_H3_img2video)
  • 新模型:模型广场新增 e5e_MiniMax_H3_img2video(图生·全能参考_无损),GPU 工作流 e5e_MiniMax_H3全能参考_无损,支持图片(最多 9 张)/视频(1)/音频(3)作为参考。
  • 契约映射:137/139/142/324/325/326/327/328/329:image=参考图、330:video=参考视频、333/334/338:audio=参考音频、115:aspect_ratio=比例、115:megapixels=清晰度(0.4标清/0.9高清/2.0超清)、132:value=时长秒、138:value=提示词;清晰度/时长与文生视频一致(标清≤15s/高清≤10s/超清≤5s)。
  • 部署:createVideoTask 新增 img2video 分支 + getMediaModelSpec 识别(至少 1 图必传)+ 短剧/短视频「全能参考」下拉新增 + model_tier_map 归入 tier_flagship。
  • 测试:直连模型广场提交 + 系统 /api/media/generate 实测 ratio=9:16 (Portrait Widescreen) mp=0.4 sec=5 imgs=1 正确。
  • ⚠️ 遗留(上游侧):完成返回 data 空(同文生视频),视频 URL 未回填,上游修复后思洋自动收片。
  • 涉及文件:server.ts / public/short-drama.html。
2026-08-21 23:40 — 接入 MiniMax H3 文生视频·无损模型(e5e_MiniMax_H3_txt2video)
  • 新模型:模型广场新增 e5e_MiniMax_H3_txt2video(文生视频·无损),GPU 工作流 e5e_MiniMax_H3文生视频_无损,取值方式同 H3(input_values 节点字段)。
  • 契约映射:234:value=提示词、235:megapixels=清晰度(0.4标清480x864 / 0.9高清1280x736 / 2.0超清1920x1088)、236:value=时长秒;后端按清晰度钳制时长(标清≤15s / 高清≤10s / 超清≤5s),前端「清晰度」maxEdge(736/960/1280)自动映射 megapixels。
  • 部署:createVideoTask 新增 txt2video 分支 + megapixels 透传;短剧/短视频「视频·文生视频」下拉新增该模型;模型档位归入 tier_flagship。
  • 测试:直连模型广场提交(queued→processing→completed 约 40s)+ 系统 /api/media/generate 实测 mp=0.9/sec=5 正确。
  • ⚠️ 遗留(上游侧):该模型(同 U03 文生)上游完成时返回 data 空(视频 URL 未回填),属模型广场收片层问题;上游修复后思洋轮询会自动收片,无需改代码。
  • 涉及文件:server.ts / public/short-drama.html。
2026-08-21 23:55 — 识图反推模型换 2.0-mini(修复 504 超时)
  • 根因:反推模型 2.1-turbo 生成六维描述需 73-100+ 秒,超上游网关超时返回 504,反推静默失败走图生,导致服装发型不对。
  • 修复:反推模型优先 Doubao-Seed-2.0-mini(12 秒跑完六维,反推同样准)。
  • 涉及文件:server.ts。
2026-08-21 21:40 — 短视频历史页加「发布到广场」按钮
  • 需求(老板):历史记录页面增加发布按钮,点击可把对应视频发布到创意广场。
  • 改动:历史卡片操作区(成片存在时)新增「发布到广场」按钮,复用现有发布弹窗与接口,审核通过后展示在首页用户案例。
  • 涉及文件:public/short-drama.html。
2026-08-26 12:20 — 用户中心「公告」后台权限点补全
  • 背景:用户中心公告板块(uc.announcements 页级权限点)早已上线,但企业主站前端权限(entweb.uc.announcement)在系统后台权限点池与员工「前端权限」弹窗分组清单中漏注册——企业管理员在后台找不到「公告」权限项。
  • 修复:①系统后台权限种子补 entweb.uc.announcement(重启自动入库,实测 permissions 表已含);②员工「前端权限」弹窗用户中心分组补「公告」项;③相关版本号刷新。
  • 效果:系统后台权限管理、企业权限中心、员工前端权限弹窗三处均可见「公告」权限点,可按角色/员工配置用户中心公告入口显隐。
  • 涉及文件:admin-module.ts / public/static/js/hr-module.js / public/static/js/enterprise.js。
2026-08-26 10:10 — 知识库安全审计修复(P1×2 / P2×4,基线 8-07 修复复核全部有效)
  • P1-1 企业文档禁转「全平台共享」:文档类型接口增加约束——企业文档(带企业标识)禁止转为 shared(403 拦截)。此前企业成员可把企业文档一键转为全平台可见(实测另一用户个人搜索命中全文),现已堵住;个人文档转共享不受影响。
  • P1-2 文档预览补密码门控:office 在线预览接口补齐文件夹密码锁校验(原缺失——内容/下载接口均有,实测加密文件夹内文档可经预览接口绕过密码锁读取明文,现 423 拦截)。
  • P2 四项:①移动文档校验目标文件夹归属(防移入他人/无效文件夹);②文件夹元信息接口对非归属者隐藏密码提示;③个人模式搜索排除企业文档(个人知识库语义修复,企业搜索不受影响);④OCR/解锁限流记录定期清理。
  • 验证:TypeScript 零错误、16+ 项实测回归全过(权限拦截/密码门控/搜索三态/核心流程)、2026-08-07 基线修复复核全部有效、测试数据全部清理。
  • 涉及文件:kb-routes-module.ts / kb-module.ts。
2026-08-26 09:45 — 技能功能安全审计全面修复(P0×2 / P1×2 / P2×5)
  • P0-1 路径穿越导出修复:技能导出接口补 validateSkillId 校验 + 目录前缀白名单——原 ?id=../../ 可穿越导出任意用户技能甚至平台数据目录(实测 200 ZIP),现已 400 拦截;同时补异常兜底防请求挂起。
  • P0-2 路径穿越删除修复:技能删除(body 版)补 validateSkillId——原 {id:'../../xxx'} 可递归删除任意目录(实测删除成功),现已拦截。
  • P1-1 技能使用说明 XSS 修复:技能详情页 USE_GUIDE 改 sandbox iframe 渲染(原 innerHTML 直插,恶意技能的 onerror 等事件属性可执行 = 存储型 XSS,Puppeteer 实测)。sandbox 无脚本权限,同源资源正常加载。
  • P1-2 技能包 zip bomb 防护:导入补解压总大小 ≤200MB、单文件 ≤20MB 限制(原仅 200 条目限制,高压缩比炸弹可膨胀 GB 级内存/磁盘),实测超限 400 拦截且不落盘。
  • P2 五项:①ComfyUI 技能任务重启后恢复(原恢复分支模型名不匹配被误标失败);②导出接口异常兜底;③ComfyUI 生成限流记录定期清理;④技能广场旧发布记录自动补快照(防作者删改后安装失效);⑤技能自带外部 ComfyUI 地址执行留审计日志。
  • 验证:TypeScript 零错误、14 项实测回归全过(穿越拦截/正常操作回归/zip bomb/密码锁/列表详情保存)、测试数据全部清理。
  • 涉及文件:skills-routes-module.ts / server.ts / public/static/js/chat.js / public/index.html。
2026-08-26 09:20 — 云盘安全审计全面修复(P0×2 / P1×3 / P2×4)
  • P0-1 存储型 XSS(svg 内联预览)修复:预览白名单 CLOUD_INLINE_SAFE_EXT 移除 svg——svg 可内嵌脚本,?preview=1 时浏览器直接渲染执行(公开分享链接无需登录即可触发,Puppeteer 实测脚本执行)。修复后 svg 一律 attachment 下载,前端缩略图/预览用 img 标签不受影响。
  • P0-2 企业个人云盘上传落错盘修复:①scope=member 兼容 query 参数(前端传 query、后端原只读 body 永不生效);②分支顺序修复(原被「无 tenant_id 提前返回个人盘」挡成死代码);③分片上传 init 存身份参数、complete 还原落盘目录。修复后企业个人盘文件正确落企业成员隔离盘,列表可见、不再「上传即消失」。
  • P1-1 企业共享盘密码锁绕过修复:下载/预览路由的密码检查去掉「仅个人盘」前置条件,企业文件带 tenant_id 下载同样校验密码(实测 403 拦截 + 解锁放行)。
  • P1-2 企业文件移动越权修复:移动接口补上传者/管理员所有权校验(原无校验,普通成员可移走他人文件),移动后同步所有权键防文件无主。
  • P1-3 密码文件缩略图泄露修复:缩略图接口补密码锁检查。
  • P2 四项:①分享链接记录企业上下文(token 登录企业用户分享不再 404);②云盘广场记录发布者身份,企业成员盘文件发布可正常下载(原恒读个人目录 404);③HEVC 转码缓存增加 30 天 TTL 清理;④上传去重同大小候选限量比对(大目录上传提速)。
  • 附带修复:删除/批量删除/文件夹删除后清理企业所有权记录,防脏数据堆积。
  • 验证:TypeScript 零错误、16 项实测回归全过(XSS 关闭/隔离落盘/密码锁/移动权限/缩略图/分享/广场/回收站)、测试数据全部清理。
  • 涉及文件:asset-routes.ts / server.ts。
2026-08-21 21:30 — Seedance 真人反推定稿:纯文生路线
  • 决策(老板):实测对比后,两步方案(反推→文生图→图生)相似度 4 分,低于优化后纯文生 8 分,回退两步方案,定纯文生路线。
  • 最终规则:真人照片(真实相机拍)→ Seedance 拒真人脸 → 反推六维描述 → 不传图走文生;AI 虚拟人物/动漫/卡通 → Seedance 接受 → 直接图生传图。
  • 反推优化:外貌强调脸型轮廓/表情神态精确,描述末尾加负面约束(禁尖脸/露齿笑/薄刘海/改发色/改服装),纯文生相似度 5→8 分。
  • 涉及文件:server.ts。
2026-08-21 16:12 — 识图反推提示词升级六维「近乎 100% 还原」规则
  • 需求(老板):参考 deepseek 经验,反推提示词要极其细致才能近乎 100% 还原人物。
  • 改动:人物反推描述从简短外貌升级为六维完整描述:构图(景别/视角/机位)+ 外貌(脸型/五官/发型发色/气质)+ 服装(颜色/款式/材质)+ 光影(光源/软硬/色调)+ 背景(环境/虚化/氛围)+ 动作(呼吸/眨眼/发丝微动,全程一致不变形)。
  • 涉及文件:server.ts。
2026-08-21 16:05 — 识图反推换用豆包视觉模型(修复反推不准)
  • 根因:原反推模型 kimi-k3 是推理模型,思考过程吃光 token 导致输出空或描述不准,反推人脸/发型/服装不对。
  • 修复:视觉反推优先用 Doubao-Seed-2.1-turbo(兑底 2.1-pro / 其他豆包系),实测反推细致准确。
  • 涉及文件:server.ts。
2026-08-21 15:48 — 短视频时长下限 10 秒→5 秒修复
  • 根因:后端时长 clamp 下限写死 10 秒,选 5 秒/8 秒被强制抬到 10 秒(前端有 5/8 秒选项却不生效)。
  • 修复:下限改 5 秒,对齐前端最小选项与 Seedance 4~15 秒支持范围。
  • 涉及文件:server.ts。
2026-08-21 15:45 — 短视频任务结果「模型」字段修复(硬编码 H3 U06)
  • 根因:任务完成落盘的 result.model 硬编码写死为 H3 U06,用户选 Seedance 实际生效但结果/历史记录「模型」字段永远显示 H3 U06。
  • 修复:改为记录实际镜头模型(阶段 4 选择的真实模型),兑底到用户选的视频模型。
  • 涉及文件:server.ts。
2026-08-21 15:40 — Seedance 识图反推根修(base64 data URI 读图)
  • 根因:识图反推把参考图转成公网 URL 喂给视觉模型,但首选视觉模型 kimi-k3 不支持 URL 读图(只支持 base64),返回 502「unsupported image url」→ 反推静默失败,真人图没被识别。
  • 修复:新增 assetUrlToDataUri 读本地图转 base64 data URI,识图反推改用 data URI 读图,任何视觉模型通用。
  • 验证:kimi-k3 + base64 正确返回真人判定(isRealPerson=true)+ 150-200 字细致外貌描述。
  • 涉及文件:server.ts。
2026-08-21 15:20 — Seedance 真人头像反推走文生(规避真人人脸限制)
  • 需求(老板):Seedance 默认不支持真人形象,上传真人头像会被拒。方案:上传真人头像后用识图模型反推细致外貌描述,再编排文生视频完成任务。
  • 实现:①识图反推升级——额外返回 isRealPerson 真人脸判定,人物描述从 80 字升级到 150-200 字结构化(脸型/五官/发型/服装/配饰/妆容等);②上传图处理后:Seedance 系列遇真人图则反推成文字描述、不传真人图,非真人图正常作参考图;H3 系列保持原规则不动。
  • 三条分支(仅 Seedance):只有真人图→反推→文生视频;真人+场景/卡通→真人图换提示词、非真人图走全能参考;无真人图→正常全能参考。
  • 涉及文件:server.ts。
2026-08-21 14:38 — 视频收片根修:Seedance 响应 URL 对象形式解析
  • 根因:上游 Seedance 成功响应里视频地址在 content.video_url(对象形式),系统三处解析写成 content[0].video_url(数组形式)→ URL 恒空 → 误判「completed 但 data 空」无限空轮询,视频永远收不到片。
  • 修复:三处响应解析(主轮询/延迟回收/通用媒体)补 content.video_url 对象形式优先,兼容对象 + 数组两种格式。
  • 另排查:脚本生成失败根因是上游模型广场 429 余额不足(老板已充值恢复)。
  • 验证:老板 Doubao-Seedance-2.0-mini 文生视频成功生成,10 秒成片落企业云盘、签名地址可下载。
  • 涉及文件:server.ts。
2026-08-21 14:10 — 模型设置「文生视频」增加 Seedance 系列
  • 需求(老板):模型设置里「视频 · 文生视频」下拉增加 Doubao-Seedance-2.0-mini 系列模型。
  • 修复:「文生视频」下拉补齐 Doubao-Seedance-2.0-mini(Seedance 2.0 Mini 文生)和 Doubao-Seedance-2.0-fast(Seedance 2.0 Fast 文生)两个选项,与「全能参考」下拉的 Seedance 系列对齐。
  • 说明:后端已支持 Seedance 文生视频(content 数组格式 + 旧模型名映射),无需改后端;纯前端选项新增。
  • 涉及文件:public/short-drama.html。
2026-08-21 14:05 — 灵猫后台素材管理全量化(所有用户 · 所有数据)
  • 需求(老板):管理后台需要所有用户的数据,并且是所有数据,目前只显示了一部分。
  • 缺口根因:原素材管理只读 5 个索引文件(全平台 186 条)——资产生成任务只落盘图片不写索引、根目录散文件、项目剧本、项目分镜、全景子图全部不可见。
  • 全量化(现 619 条):①目录扫描合并(道具 1→149、场景 0→134);②根目录散文件;③项目剧本(标题/集数/进度/概念,点卡片进项目详情);④项目分镜(已生成视频的镜头 90 条:集/镜/景别/时长/台词,封面+可播放);⑤场景全景子图计数;分类 Tab 扩为 8 类(全部/剧本/分镜/角色/道具/场景/其他/音频)。
  • 连带修复:分镜视频地址缺用户参数导致播放 401(36/90),签名逻辑加归属兜底,项目详情弹窗分镜签名同步修复;视频文件已被清理的分镜标注「文件已清理」(6 条)。
  • 验证:TypeScript 零错误、Puppeteer 17/17、数据对账(道具=1 索引+148 散图)、存活分镜视频实测 200 可播。
  • 涉及文件:lingmao-admin-adapter.ts / lingmao-admin-routes.ts / public/lingmao-admin.html / tests/lingmao-admin-materials.cjs。
2026-08-21 13:40 — 视频失败报错友好化(修复 Unexpected token 报障)
  • 根因:上游模型广场提交视频任务超时后返回的任务 ID 无效,轮询时上游返回 HTML 404/502 页(而非 JSON),系统把 HTML 当 JSON 解析报 Unexpected token '<',技术错误原样展示给用户。
  • 修复:①上游错误翻译函数识别 HTML/JSON 解析错误,统一翻译成「上游视频服务暂不可用或任务已过期,请稍后重试或重新生成」;②轮询响应前检查内容类型,HTML 响应直接判为任务过期并给出友好提示。
  • 说明:根本原因是上游模型广场到 GPU 的代理/状态桥接层提交超时(今日已排查),本修复将技术报错转为人话,不影响「提交只执行一次」的幂等保护。
  • 涉及文件:server.ts。
2026-08-21 13:35 — 灵猫后台素材管理改平铺视图(类型分类+时间排序)
  • 需求(老板):素材管理增加分类——按时间排序、按角色/道具/场景/素材分类,不再「只按用户分了再进入」。
  • 平铺画廊(新默认):全平台素材一页浏览——类型分类 Tab(全部/角色/道具/场景/其他素材/音频,带各类数量统计)+ 最新/最早时间排序 + 名称/用户搜索 + 用户 ID 筛选 + 分页;卡片显示类型徽标、所属用户、创建时间,角色显示多角度数、音频显示时长且可点击播放。
  • 按用户分组(保留):原「有素材的用户列表」切换保留,点「查看素材」=平铺视图+自动带上该用户筛选。
  • 数据修复:其他素材/音频条目本身不存图片/播放地址,现按素材 ID 推导并签名(实测图片/音频均 200 可访问);角色等无创建时间字段的用文件修改时间兑底,保证时间排序有效。
  • 验证:TypeScript 零错误、Puppeteer 14/14 全过、接口实测 186 条素材的分类/排序/搜索/筛选全部正确。
  • 涉及文件:lingmao-admin-adapter.ts / lingmao-admin-routes.ts / public/lingmao-admin.html / tests/lingmao-admin-materials.cjs。
2026-08-21 13:05 — 灵猫AI独立后台系统化优化(安全+运维+体验 18 项)
  • P0 安全四项:①封禁用户真正生效——原封禁写 banned 但主站登录不拦截该状态(只拦 suspended/disabled/deleted),被封用户照常使用,现改写 suspended 并禁止封禁平台管理员;②删除权限收紧——删除作品/项目/分镜/素材原来用只读权限即可操作(审核员/只读角色都能删),现需 works.delete 管理权限(仅超管+运营);③存储型 XSS 修复——用户项目标题/素材名中的恶意代码可经后台页面注入执行,现全量安全编码;④封面接口不再阻塞——视频抽帧从同步改为异步+并发限制,作品列表加载不再卡全站。
  • P1 运维八项:⑤密码登录修复——独立密码登录自上线起不可用(永远提示未设置密码),已根治;⑥密码加固——SHA-256 无盐改 scrypt+随机盐,旧账号登录后自动迁移;⑦SSO 不再冲掉手动分配的后台角色(如审核员/财务);⑧登录防爆破——同 IP+账号 5 次失败锁 10 分钟;⑨广场审核能看视频了(原来只能看封面盲审);⑩任务运维显示失败原因+任务详情弹窗+按用户筛选;⑪切菜单页码不再残留;⑫删除分镜后详情弹窗自动刷新。
  • P2 体验六项:退出登录同时销毁服务端会话;调余额需二次确认;财务页支持日期范围+用户筛选;审计日志加分页;统计页进度条轨道显示修复;素材/作品删除按钮按权限显隐。
  • 验证:TypeScript 零错误、Puppeteer 23/23 全过、权限/限流/密码迁移/封禁/封面抽帧全部实测通过。
  • 涉及文件:lingmao-admin-module.ts / lingmao-admin-routes.ts / lingmao-admin-adapter.ts / server.ts / public/lingmao-admin.html / tests/lingmao-admin-20260821.cjs。
2026-08-21 11:20 — H3 视频链路系统排查与提交幂等修正
  • 系统排查:直接向 GPU 提交 U01/U02/U03/U06 均在 0.1-1 秒返回 prompt_id,result 正确返回 pending:true;同一请求经模型广场时,U01/U06 约 30 秒后返回等待响应头超时,U03 被提前标记 completed 但 data 为空,故障定位在模型广场到 GPU 的代理/状态桥接层。
  • 思洋修正:模型广场提交等待保持 10 分钟;提交只执行一次,撤销超时后自动重新提交,避免上游已受理但响应丢失时重复生成和重复扣费;拿到外部任务 ID 后始终轮询原任务。
  • 状态规则:completed 但 data 空、timeout、context deadline 类 failed 均不视为视频最终失败,继续等待原任务回传;只有明确取消、非超时失败或 24 小时总兑底才结束。
  • 验证:GPU 四个 H3 工作流提交成功、pending 语义一致、TypeScript 检查 0 错误。
  • 涉及文件:server.ts。
2026-08-20 19:20 — 分镜切集后横幅状态隔离
  • 问题:补图后自动复检/横幅使用全局脏标记,切集后可能沿用上一集风险状态。
  • 修复:复检脏标记改为按「项目:集」存储;切集自动标记当前集需复检,横幅/提示只反映当前集。
  • 验证:p1:1/p1:2 脏标记独立、前端语法 0 错误。
  • 涉及文件:public/short-drama.html。
2026-08-20 18:25 — 灵猫AI短视频审计修复(全面优化)
  • P1 四项修复:①连续长视频失败/取消时按已扣费子任务逐项幂等退款(不再「扣了钱没成片」);②一键短视频改为「预扣 ref 最高价 + 完成后按实际镜头模型/时长结算差额退款」,失败镜头不收费、非 U06 镜头差价退回;③抽 saveFinalVideo 统一成片落盘,图文/口播/短视频企业模式都写企业云盘;④口播成片支持 stripMode 去字幕(复制数字人结果前先提交去字幕处理),subtitled 标记改为真实状态。
  • P2 四项修复:⑤通用媒体视频入口加并发闸;⑥quick-script 并发限制统一覆盖 5 类视频任务;⑦历史镜头重生成加同镜运行锁 + 稳定计费键;⑧企业作品删除按租户目录回收文件。
  • P3 两项:广场列表对临时媒体文件做存在性校验防死链;同步更新两处历史回归断言。
  • 验证:tsc 零错误、sv-audit4 13/13、sv-brand-imgv 13/13、服务重启 health 200。
  • 涉及文件:long-continuation-module.ts / media-routes.ts / server.ts / short-drama-routes.ts / tests/sv-*.cjs。
2026-08-20 19:05 — 分镜风险镜头行级定位
  • 问题:横幅只能看到风险镜号,用户还要手动找对应分镜行。
  • 修复:横幅里的风险镜号可点击——平滑滚动到对应分镜行并高亮聚焦,同时自动打开该镜参考图面板。
  • 验证:风险镜头按钮渲染正确、前端语法 0 错误。
  • 涉及文件:public/short-drama.html。
2026-08-20 18:05 — 灵猫AI短视频模块系统化审计
  • 审计范围:短视频一键生成、脚本先行、分镜批量生成、图文/口播成片、连续长视频、AI剪辑合成、历史/广场、任务恢复、权限/租户、计费/退款和素材资产。
  • 结论:当前 HEAD 0fd69085 未发现新的 P0;发现 P1=4、P2=5、P3=5。重点风险是连续长视频失败不退款、短视频多模型实际执行与单模型计费不一致、企业图文/口播成片落个人云盘、口播成片复制结果前未可靠去字幕。
  • 健康项:认证、drama.page 能力点、本人素材白名单、企业目录归属校验、模型白名单、断点续跑防重入、取消前复查和 TypeScript 检查均在位。
  • 验证:tsc 通过;两个历史回归脚本各有 1 项陈旧断言失败,其余接口冒烟/页面 JS 检查通过;完整报告见 AUDIT-REPORT-SHORT-VIDEO-20260820.md。
  • 状态:本轮为只读审计,未修改业务逻辑;整改顺序已按“逐项退款→口播最终文件去字幕→企业落盘→模型分项计费/并发统一”排列。
2026-08-20 18:50 — 分镜参考图状态横幅
  • 问题:补图后自动复检只有 toast 瞬间提示,回到分镜页看不到整体状态。
  • 修复:分镜页顶部新增参考图状态横幅——本集镜头数/就绪数/风险数;有风险时可一键打开风险处理弹窗;复检通过时显示「参考图全部就绪,可以生成视频」。
  • 验证:就绪/风险两态横幅渲染正确、前端语法 0 错误。
  • 涉及文件:public/short-drama.html。
2026-08-20 18:35 — 分镜补图后自动复检
  • 问题:补完场景/道具图后,用户不知道风险是否已清零。
  • 修复:资产/分镜变更后自动重算本集风险;风险清零时提示「本集参考图已复检通过,可以生成视频」,否则提示剩余风险镜头数;「参考图偏少」只作提示不阻塞。
  • 验证:good ready=true、bad ready=false、前端语法 0 错误。
  • 涉及文件:public/short-drama.html。
2026-08-20 18:20 — 分镜风险镜头快捷处理入口
  • 问题:提交前一致性检查只能列出风险镜头,用户还要回表里逐个找入口。
  • 修复:一致性检查改风险镜头处理弹窗——每个风险镜头可直接打开对应参考图面板,或一键跳转资产库对应分类补图;保留「仍然生成」确认。
  • 验证:缺场景跳 scenes、缺道具跳 props、前端语法 0 错误。
  • 涉及文件:public/short-drama.html。
2026-08-20 18:05 — 分镜提交前一致性检查
  • 问题:批量生成视频前,用户无法一眼看到哪些镜头参考图不足。
  • 修复:每镜状态区新增参考一致性徽标(参考图数量/角色/场景/道具/归一/缺失);点「生成本集视频」前汇总风险镜头并确认,可选择「仍然生成」或「先处理参考图」。
  • 验证:正常镜 warn、风险镜 bad、前端语法 0 错误。
  • 涉及文件:public/short-drama.html。
2026-08-20 17:45 — 分镜归一化审计展示
  • 问题:系统自动归一资产名对用户不可见,无法确认是否“自作聪明”。
  • 修复:后端记录 shot.assetNorm(原始值→归一值);前端分镜表显示「归一」徽标,参考图面板顶部说明系统自动归一了什么,参考图与提示词按归一后资产生成。
  • 验证:主角→林夏 审计记录正常、前后端检查 0 错误。
  • 涉及文件:public/short-drama.html / short-drama-routes.ts。
2026-08-20 17:30 — 分镜泛称资产归一化
  • 问题:分镜表仍会输出「主角/女主/男主/配角」或泛场景词;历史项目「主角」兜底可能拿错角色。
  • 修复:分镜表生成后自动归一化——角色按 role 与唯一候选映射到具体资产名;场景/道具只在唯一命中时归一,不确定就保留缺失提示,不硬猜。
  • 验证:主角→林夏、男主不唯一时保持原样、具体场景保留、前后端检查 0 错误。
  • 涉及文件:public/short-drama.html / short-drama-routes.ts。
2026-08-20 17:15 — 分镜参考图链路二次审计修复
  • 二次问题:①手动参考图空 URL 导致 <Picture N> 序号错位;②缺资产时用本剧第一个角色图兜底,无关角色进本镜;③无参考图时提示词虚构 <Picture 1>;④底图场景描述被截成「古代」。
  • 修复:手动 refs 图片与身份标签成对过滤;取消无关角色图兜底、缺资产保持空并提示补图;无参考图明确省略 <Picture>;底图提示词保留完整场景描述。
  • 验证:第 4 集 23 镜自动匹配 0 错配 0 缺失、前后端语法/类型检查 0 错误。
  • 涉及文件:public/short-drama.html / short-drama-routes.ts。
2026-08-20 16:35 — 分镜参考图匹配根修(时代前缀场景名错配)
  • 问题(老板):生成分镜时匹配参考图不准确、不匹配。
  • 根因:场景名带「时代前缀」(如「古代:洛彦密室内,…」),旧匹配逻辑取冒号前=「古代」,所有同代场景核心名撞车,参考图全部错配到第一个同代场景(实测第4集 23 镜全错配)。
  • 修复:①前端匹配去掉时代/朝代词前缀+描述后缀取真正场景主体,加双向包含兜底;②后端分镜表生成 prompt 强化场景/角色/道具「逐字复制」资产列表。
  • 验证:7 个项目场景/角色/道具匹配 0 错配、前端冒烟 4/4 场景正确、tsc 零错误。
  • 涉及文件:public/short-drama.html / short-drama-routes.ts。
2026-08-20 16:10 — 剪辑工作台全屏「下一步:合成」按钮重叠修复
  • 问题(老板):分镜生成→剪辑环节(Step5)全屏时,右上角固定浮动的「下一步:合成」按钮(.studio-foot position:fixed top:24px right:20px)与全屏头部「导出/全屏」按钮重叠,遮挡全屏按钮,全屏显示错乱。
  • 修复:全屏态(#studio-step5.clip-fullscreen)隐藏「下一步」浮动按钮(display:none !important),退出全屏自动恢复。
  • 验证:Puppeteer 实测全屏前后按钮坐标——修复前「下一步」按钮(x1295-1420)覆盖「全屏」按钮(x1302-1402),修复后 display:none、全屏/导出按钮清晰无遮挡。
  • 涉及文件:public/short-drama.html。
2026-08-20 16:00 — 删除/操作确认框改紫金居中弹窗
  • 问题:删除提示框为原生浏览器弹窗(不居中、无紫金样式),跑顶部不符合设计铁律。
  • 修复:新增紫金确认框(鎏金警示图标 + 取消/删除按钮,居中)+ 暗紫底亮金 toast,替换全部原生 confirm/alert。
  • 验证:语法零错误、弹窗居中、删除按钮触发回调正常。
  • 涉及文件:public/lingmao-admin.html。
2026-08-20 15:25 — 后台分镜废片可预览/删除 + 详情弹窗加大;短剧页资产库空态居中
  • 分镜废片:分镜卡片新增「预览/查看」+「删除」按钮(废片可查看详情、可删除);详情弹窗加宽至 1080px。
  • 资产库居中:短剧页资产库空态「角色:暂无…」文字及图标横跨整行居中显示。
  • 验证:tsc 零错误、删除接口实测、前端 79 分镜卡+宽窗口正常。
  • 涉及文件:lingmao-admin-routes.ts / public/lingmao-admin.html / public/short-drama.html。
2026-08-20 14:55 — 后台短剧项目详情层级展示(分集→分镜)
  • 需求:短剧应按「短剧名称→第几集→分镜」层级展示,分镜包含废片。
  • 实现:项目详情弹窗改为层级展示——项目信息 + 分集(第 N 集·镜数·成片/废片数)+ 分镜网格(缩略图+镜号+景别+时长+台词),废片标红。
  • 验证:tsc 零错误、详情弹窗分集 5 集+第 1 集 9 镜+9 缩略图正常。
  • 涉及文件:lingmao-admin-adapter.ts / lingmao-admin-routes.ts / public/lingmao-admin.html。
2026-08-20 14:40 — 后台作品/素材管理详细分类 + 删除
  • 作品分类:新增类型分类 Tab(短剧项目/短视频/短剧/合成成片/分镜视频/其他)+ 作者下拉筛选 + 名称搜索。
  • 删除:作品(成片/项目)与素材均支持删除(带二次确认),删除操作审计留痕。
  • 验证:tsc 零错误、分类/删除接口实测、前端分类 Tab + 删除按钮正常。
  • 涉及文件:lingmao-admin-adapter.ts / lingmao-admin-routes.ts / public/lingmao-admin.html。
2026-08-20 14:25 — 后台素材管理默认展示用户列表
  • 问题:素材管理默认空态「请输入用户手机号」,打开无内容。
  • 修复:默认展示有素材的用户列表(角色/道具/场景/其他/音频数量),点击「查看素材」浏览该用户素材。
  • 验证:tsc 零错误、用户列表 8 行、点击后素材卡正常。
  • 涉及文件:lingmao-admin-adapter.ts / lingmao-admin-routes.ts / public/lingmao-admin.html。
2026-08-20 14:20 — 注册短信验证恢复(老板:之前取消短信验证搞错了)
  • 背景:14:07 因「无法注册新账号」关闭了注册短信验证(免短信本地建号),老板确认搞错。
  • 恢复:注册重新要求短信验证码(必填),删除免短信本地注册与本地密码兑底逻辑,前端验证码恢复必填。
  • 影响:恢复前无用户通过免短信注册,无用户受影响。
  • 验证:tsc 零错误、注册/登录/改密/重置四处短信验证恢复、前端无「可跳过」残留。
  • 涉及文件:auth-routes.ts / admin-module.ts / public/static/js/auth.js / public/index.html。
2026-08-20 13:35 — 后台作品管理视频播放功能
  • 问题:作品卡片只有封面缩略图,点击无播放入口。
  • 修复:新增播放器弹窗(点成片卡片即播放);项目详情弹窗加「播放成片」按钮;顺带修复项目详情「项目不存在」(id 双重 proj_ 前缀)。
  • 验证:tsc 零错误、点击播放→视频加载成功。
  • 涉及文件:lingmao-admin-adapter.ts / lingmao-admin-routes.ts / public/lingmao-admin.html。
2026-08-20 13:15 — 后台视频缩略图改用封面抽帧(修复手机/微信无法预览)
  • 根因:视频缩略图用 <video preload=metadata>,PC 正常但手机/微信内置浏览器首帧黑屏。
  • 修复:新增封面抽帧接口(视频 ffmpeg 抽第一帧转 jpg + 缓存),作品/任务/广场返回封面图 URL,前端改 <img> 加载(所有设备天然支持)。
  • 验证:tsc 零错误、封面接口 200、前端封面图正常加载。
  • 涉及文件:lingmao-admin-routes.ts / public/lingmao-admin.html。
2026-08-20 13:00 — 灵猫广场内容审核工作流(先审后发)
  • 先审后发:发布到创意广场后进入待审核状态(status=pending),公开列表只展示审核通过的案例 + 用户本人自己的案例;后台审核通过后才公开。
  • 后台审核:广场页新增「通过 / 拒绝 / 下架」三态操作 + 审核状态徽章,审核记录留痕(审核人 / 原因 / 时间)。
  • 短剧页:发布文案改「提交后进入审核」,本人待审案例显示「审核中」标记。
  • 验证:发布→待审、本人可见/他人不可见、通过→公开、拒绝→不公开、下架→删除 全链路实测通过。
  • 涉及文件:short-drama-routes.ts / lingmao-admin-adapter.ts / lingmao-admin-routes.ts / public/lingmao-admin.html / public/short-drama.html。
2026-08-20 12:50 — 灵猫后台补齐素材管理 / 数据统计 / 审核记录
  • 素材管理:后台新增按用户查看素材库(角色定妆照 / 道具 / 场景 / 其他 / 音频),缩略图网格展示,签名 URL 跨用户加载。
  • 数据统计:新增任务类型 / 状态 / 视频模型 / 行业模板分布(横条分布图)。
  • 审核记录:新增内容审核历史表(广场案例下架等)。
  • 菜单:10 → 13 个模块。
  • 验证:tsc 零错误、接口实测、Puppeteer 冒烟零 JS 错误。
  • 涉及文件:lingmao-admin-adapter.ts / lingmao-admin-routes.ts / public/lingmao-admin.html。
2026-08-20 12:40 — 灵猫后台 UI 紫金重做 + 缩略图为主
  • 设计铁律:灵猫紫金五色(深主紫 #6A2F96 / 浅柔紫 #9857BC / 缭金 #D4AF37 / 亮金 #F2D489 / 暗调紫 #542378)+ 宋体标题 Noto Serif SC + 暖白底 #FDFBF7 + 编辑风。
  • 重做后台 UI:深紫墨侧边栏+缭金选中态、宋体大标题、指标改「大数字+分割线」无卡片框、作品/任务/广场改「视频封面帧缩略图网格」(gallery 感无边框)、用户改圆形头像、去 emoji 改 SVG 线性图标。
  • 跨用户缩略图:作品/任务/广场三接口返回 signAssetUrl 签名 URL(assets 路由强制 ?user=本人,否则 401)。
  • 自动 SSO:主站平台管理员访问 /lingmao-admin 自动签 token 进入(免手动点按钮)。
  • 验证:tsc 零错误、签名 URL 实测 200、Puppeteer 冒烟零 JS 错误。
  • 涉及文件:lingmao-admin-adapter.ts / lingmao-admin-routes.ts / server.ts / public/lingmao-admin.html。
2026-08-20 13:15 — 注册暂时关闭短信验证(老板「无法注册新账号,暂时先关闭短信验证功能」)
  • 需求(老板):无法注册新账号,暂时关闭短信验证功能。
  • 后端:/register 短信验证码 smscode 改为可选——缺失时本地注册(创建本地用户目录 + syncUserFromCloud + scrypt 密码哈希存 user_profiles.password_hash);有验证码仍走上游注册;/login 上游登录失败时本地密码兑底(hasLocalPassword/verifyPasswordLocal,个人/企业/总后台登录分支复用)。
  • 数据库:admin-module.ts 加 setLocalPassword/verifyPasswordLocal/hasLocalPassword + _migrateCol('user_profiles','password_hash')。
  • 前端:auth.js 注册校验去掉验证码必填;index.html 注册弹窗验证码 placeholder 改「可跳过」+ 提示「短信服务暂不可用时可直接注册,登录将校验本机密码」。
  • 验证:tsc 0;本地注册→登录→错误密码拦截→handshake 全链路通过(思洋/思洋双仓库);测试用户已清理。
  • 涉及文件:admin-module.ts、auth-routes.ts、public/static/js/auth.js、public/index.html。
2026-08-20 12:25 — 主站对话 H3 视频模型时长加 15 秒档位(老板指令)
  • 需求(老板):选择 H3 模型后属性面板时长设置最长只有 10 秒,增加 15 秒档位,全部调整。
  • 前端:public/static/js/chat.js 两处时长 chips 数组 [5, 8, 10] → [5, 8, 10, 15](H3 视频模型分支 U01/U03 + 普通视频模型分支),点击 15 秒即 _setMediaParam('duration',15);public/index.html chat.js?v bump(1787134263→1787199925)。
  • 后端确认(无需改动):执行侧 server.ts u01Sec = Math.max(1, Math.round(Number(params.duration) || 5)) 无上限、media-routes.ts 路由上限 60 秒——15 秒参数原样透传上游,链路已支持。
  • 数字人不受影响:数字人(dhMode)分支不渲染时长档位,时长由配音决定(既有设计)。
  • 同步:思洋同源同步(chat.js 两处 + index.html?v=1787199936)。
  • 验证:node --check 两仓 chat.js 语法 0、两处档位均已含 15。
  • 涉及文件:public/static/js/chat.js、public/index.html(思洋 + 思洋)。
2026-08-20 11:44 — 灵猫AI短剧平台独立后台管理系统
  • 背景:为灵猫AI短剧平台(对标小云雀的 AI 短剧创作产品)开发一套独立后台管理系统,架构预留「后期从思洋主站剥离为独立产品」能力。
  • 功能模块(10 个):运营总览 / 用户管理(封禁·余额调整)/ 作品管理(项目·成片)/ 任务运维(失败重试)/ 创意广场(下架审核)/ 财务计费(收入·成本·毛利对账)/ 模型定价 / 后台账号 / 审计日志 / 系统配置(品牌·参数)。
  • 剥离独立设计(四层解耦):数据(Adapter 适配层,独立库不双写业务数据)、鉴权(独立后台账号 + 首期主站超管 SSO 导入,可设独立密码)、服务(/api/lingmao-admin/* 独立前缀)、品牌(品牌配置表换皮即用)。
  • 登录:主站超管 SSO 一键登录 + 独立账号密码登录(剥离后主入口)。
  • 验证:tsc 零错误、后端全接口实测(SSO 全链路/总览/财务毛利口径修正)、前端冒烟零 JS 错误。
  • 涉及文件:lingmao-admin-adapter.ts / lingmao-admin-module.ts / lingmao-admin-routes.ts / public/lingmao-admin*.html / server.ts。方案:docs/lingmao-admin-console-plan-20260820.md。
2026-08-20 08:50 — 媒体扣费错位修复(同步思洋:部分扣费走固定兑底价而非模型上游动态价)
  • 问题(老板):思洋上面是否也存在一样的问题?先排查下。
  • 确认存在(且比思洋多一处):①/api/media/generate 扣费传未解析的原始 body.model——调用方未传模型时执行侧兑底默认模型干活,但扣费侧 modelId 为空 → 动态定价(广场成本×上浮)跳过 → 回退 pricing 固定兑底价;②思洋 task.params.model 也存原始 model(思洋 8-19 已修为解析后 m,思洋未同步),执行侧同样可能用错模型。
  • 修复 3 处:①media-routes.ts task.params.model 改存解析后 m;②同文件扣费改用 m;③server.ts audio_gen/3d_gen 任务完成扣费补 task.params?.model(原传 null 永远走固定价)。
  • 存量 generic 数据归因(非 bug 部分):image_gen 375 条中 374 条为 z-image(内置 workflow 聚合模型,不进广场无成本概念,固定 0.5 元/张属合理兑底);7-29 Seedance-mini 20 元为 8-09 广场价格脏数据修正前历史;omni_realtime 固定 0.3 元/分钟(不在动态白名单,设计如此)。
  • 验证:tsc 零错误、pm2 重启 health 200。
  • 涉及文件:media-routes.ts / server.ts。
2026-08-19 17:15 — 模型对比/会议模式显示原始 tool_call JSON 修复
  • 根因:模型对比直接请求具体模型(不走 agent loop),模型按系统提示输出 {"tool_call":{"id":"ask_user",...}} JSON 文本时原样流入内容区,显示成不友好的提示框(如输入「帮我写一份AI趋势分析报告」触发模型反问确认)。
  • 修复:新增 sanitizeCompareContent 协议清洗——ask_user 提问提取为引用样式友好展示,其余工具调用 JSON(含 ```json 围栏、任意嵌套)整段剥离,正常 JSON 代码块不受影响。应用到模型对比(首次发送/追加提问/重新生成)与多模型会议的全部内容渲染与历史保存。
  • 验证:语法检查零错误、9 用例单测全过、Puppeteer 页面注入无 JS 错误。
  • 涉及文件:public/static/js/chat.js、public/index.html。
2026-08-19 17:35 — 模型对比黑色 JSON 框流式中间态修复
  • 根因:qwen3.7-plus 等模型流式输出 tool_call JSON 时,首个内容块就是 ```json 围栏,JSON 完整前所有内容块渲染成未闭合代码块(黑色框),直到最后一块才消失。
  • 修复(渐进遮蔽):检测到未闭合的 tool_call JSON 时先显示友好占位(「模型正在确认需求...」/「正在生成内容...」),JSON 完整后自动替换为提取出的真实提问(引用样式);其余工具调用 JSON 整段剥离;正常 JSON 代码块不受影响。
  • 验证:语法零错误、13 用例全过(含 qwen 真实 62 块流式逐块模拟全程无黑色框)、Puppeteer 真实请求零 JS 错误。
  • 涉及文件:public/static/js/chat.js、public/index.html。
2026-08-19 17:56 — 语音识别结果卡片出现 html 代码修复
  • 根因:语音识别结果由后端以「内联 HTML 卡片」形式发送,复制按钮的 onclick 属性里用了 \" 转义双引号——HTML 属性语法不认这种转义,浏览器解析时属性值提前终止,后半段 JS 和样式残片变成可见文本(「html 代码」)。
  • 修复:后端改为发送结构化事件 asr_result(纯文本),前端用 DOM API 安全构建「语音识别结果」卡片(含复制按钮),历史以 markdown 引用形式保存。
  • 验证:tsc 零错误、SSE 实测输出 asr_result 事件、Puppeteer 完整对话流程实测卡片正常渲染、无任何 html 代码残留。
  • 涉及文件:server.ts、public/static/js/chat.js、public/index.html。
2026-08-19 11:46 — 灵雀音频音色/历史云端同步
  • 云端同步:自定义音色、历史记录从纯本地 localStorage 改为云端同步(后端 /api/audio/user-data 读写),换设备/清缓存不再丢失。
  • 涉及文件:audio-process-module.ts、server.ts、app/e5eaudio/src/lib/xkAudioApi.ts、app/e5eaudio/src/App.tsx + 重新构建产物。
2026-08-19 11:24 — 灵雀音频平台系统化审计修复
  • P1 音色/历史 URL 过期:克隆/合成/设计结果改返回稳定 URL(去签名),播放/下载带 cookie 访问,根治 24h 签名失效。
  • 鉴权补齐:/api/media/voices 和 /api/audio/process/actions 加登录鉴权。
  • 校验补齐:工具箱字幕 charsPerLine 限 1-100。
  • 清理:删除未引用的死代码(音乐创作/人声提取)+ 移除「声贝消耗」假计费显示。
  • 涉及文件:audio-process-module.ts、media-routes.ts、app/e5eaudio/src/*、public/app/e5eaudio/。报告:docs/AUDIT-LINGQUE-AUDIO-2026-08-19.md。
2026-08-19 10:59 — 灵雀音频克隆声线结果加「下载音频」按钮
  • 根因:灵雀音频的语音克隆结果卡片只有试听/合成试听/保存到音色库,缺下载入口。
  • 修复:结果卡片改为「下载音频 + 保存」两按钮,点击下载克隆音频到本地 .mp3。
  • 涉及文件:app/e5eaudio/src/components/VoiceCloningView.tsx + 重新构建的 public/app/e5eaudio/。
2026-08-19 10:36 — 首尾帧图生视频校验 2 张图
  • 优化:首尾帧图生视频(U02)需要首帧+尾帧两张图,此前只校验「有没有图」不校验「几张」→ 现在按 refsMin 校验数量,不足时提示「需上传 2 张参考图(首帧 + 尾帧)」。
  • 涉及文件:public/static/js/chat.js、public/index.html。
2026-08-19 10:24 — 视频数字人上传视频/音频仍提示「请上传」修复
  • 根因:视频数字人(e5e_human2.5/e5e_digitalhuman)要求参考视频+参考音频,但前端校验同样只认「参考附件入口」,不认对话窗口通用附件的视频/音频。
  • 修复:把「语音克隆音频兑底」泛化为「spec.refs 要求的 audio+video 都从聊天附件兑底」——音频 base64 上传转 URL、视频用 videoUrl 直接同步。覆盖所有需参考附件的模型(语音克隆/视频数字人/图生视频等)。
  • 涉及文件:public/static/js/chat.js、public/index.html。
2026-08-19 10:12 — 修复语音克隆上传音频仍提示「请上传参考音频」
  • 根因:语音克隆走媒体生成 API,前端 refs 校验只认「参考音频入口」上传的 URL,不认对话窗口通用附件的音频(base64)→ 点发送被前端拦截提示「请上传参考音频」,根本到不了后端。
  • 修复:语音克隆时若未通过参考音频入口上传,自动把聊天附件的 base64 音频上传到云盘得到 URL 作为参考音频,校验即通过。
  • 涉及文件:public/static/js/chat.js、public/index.html。
2026-08-19 10:00 — 语音克隆支持上传音频/视频自动提取参考音频
  • 根因:语音克隆模型(voice_clone 工具)参考音频提取只认「音频URL:」文本标记,漏掉对话窗口上传的 input_audio(base64)和 video_url(视频)附件 → 总提示「请上传参考音频」。
  • 修复① 上传音频自动启用:input_audio 内联音频 → 写 temp_media 转公网 URL 作为参考音频,不再需要额外「音频URL」标记。
  • 修复② 视频无感提取:对话窗口上传视频 → 自动 ffmpeg 提取音频并截取前 10 秒(16kHz 单声道 wav)→ 作为参考音频,用户无感。
  • 修复③ 附件支持音频:对话窗口附件上传 accept 白名单补 .mp3/.wav/.m4a/.ogg/.flac/.aac/.amr(此前文件选择器挡住音频,后端 handleFiles 本就支持)。
  • 验证:tsc 零错误、node --check chat.js 零错误、重启 health 200。
  • 涉及文件:server.ts、public/index.html、public/static/js/chat.js。
2026-08-19 09:40 — 主站对话超时错误友好化
  • 根因:上游模型 API(api.e5e.cn)09:30-09:40 拥堵,多个模型(deepseek-v4-flash/pro、Doubao、GLM)全部首字节超时(120s),主站对话 agent loop 也超时,前端显示技术错误「The operation was aborted due to timeout」。
  • 修复:callModelStream 首字节超时(非用户主动 abort)时抛友好提示「上游服务繁忙,请稍后重试」,保留 name=AbortError 不影响上层 abort 判断。
  • 验证:tsc 零错误、重启 health 200、上游已恢复(实测 chat completions 0.79s)。
  • 涉及文件:server.ts。
2026-08-18 20:08 — U06 分镜画质提示增强
  • 画质词升级:【画面规格】「电影级画质,画面干净通透」→「电影级画质,超写实质感,光影层次自然,画面干净通透」;【画面呈现】「干净通透的电影画面」→「干净通透的电影画面,色彩真实自然,光影柔和,细节锐利」。
  • 按景别注入细节词:特写=面部细节真实皮肤质感自然 / 近景=人物细节清晰质感真实 / 中景=人物与场景层次分明 / 远景=场景空间层次丰富环境细节清晰。
  • 原则:保持纯正面描述(不写负面指令),H3 对否定词反向强化。
  • 验证:tsc 零错误、四景别+默认+呈现行输出正确、pm2 重启 health 200。
  • 涉及文件:server.ts。
2026-08-18 17:51 — 短剧平台优化(字体自托管 + 自定义视频播放器)
  • 背景:老板明确「先优化灵猫AI短剧平台,主站后面再考虑」,且「短剧/主站样式各自独立(短剧将来独立剥离)」——修正审计 P0-1 的「短剧基准回灌主站」方向。
  • 字体自托管(零 Google 依赖):①Plus Jakarta Sans(西文/数字)自托管 27KB 可变字体(wght 200-800);②Noto Serif SC(中文标题)从 fontsource 下载 85 个 CJK 分片(700 字重)→ fonttools 合并 → 子集化 GB2312 一级字库 3755 字+标点 → woff2 1.5MB;③完全移除 Google Fonts 引用(preconnect + link 全清),--font-display 加 Songti SC/SimSun 宋体兑底(生僻字 fallback)。
  • 自定义视频播放器(替换原生 controls):新增 short-drama-player.js 全局播放器皮肤(零 HTML 改动)——居中播放/暂停大按钮、深色渐变控制条、鎏金进度条(拖拽/点击 seek)、时间显示、全屏、缓冲 loading,匹配短剧编辑风(深紫墨色+鎏金 #D4AF37);jsdom 8/8 PASS。
  • 假按钮无障碍补齐:short-drama.html 引入 a11y-fake-button.js,覆盖 70 个 div/span+onclick 假按钮。
  • 验证:字体/脚本 HTTP 200 + immutable、CSS 花括号平衡、node --check 零错误、health 200。
  • 涉及文件:public/static/fonts/PlusJakartaSans-latin.woff2、NotoSerifSC-l1-700.woff2、public/static/css/short-drama-fonts.css、public/static/js/short-drama-player.js、public/short-drama.html。
2026-08-18 16:50 — UI 审计 P0 修复(品牌字体 + 设计令牌统一 + 蓝紫渐变消除 + 缓存策略)
  • 背景:全站 UI 设计审计(docs/UI-AUDIT-2026-08-18.md,综合 5.5/10),识别 6 个 P0 硬伤,本次修复其中 4 个。
  • P0 品牌字体落地:XuanKunSans-Bold 转 woff2(83KB)注册为 --font-display 标题字体(32px+ 大标题用品牌定制字体);删除 main.css 从未加载的 'Geist' 幽灵引用;物理删除 misans/noto-sans-sc 9.9MB 死字体。
  • P0 设计令牌统一:ui-font.css 成为唯一权威令牌源(--xk-* 主色/文字/背景/阴影/圆角),main.css/ui-kit.css 全部 alias 到 --xk-*,消除三套冲突令牌(--xk-*/--primary-color/--primary)与暗黑模式主色漂移(#3b82f6 vs #5b8df5 统一 #5b8df5)。
  • P0 蓝紫渐变指纹消除:body 三色柔渐变(蓝→紫→绿)改克制同色系;发送按钮/对比按钮/用户头像的紫蓝渐变(#a855f7/#6366f1)改纯主色 var(--primary-color);全站 focus 色 #6366f1 统一主色变量。
  • P0 缓存策略修复:server.ts 静态资源按 URL 区分——带 ?v= 版本号/字体/图片 → Cache-Control: public, max-age=31536000, immutable(1 年长缓存);HTML 保持 no-cache。实测 main.css/chat.js/字体均返回 immutable,首页 no-store。
  • 验证:tsc 零错误、server.ts 语法 OK、3 个 CSS 花括号平衡、pm2 重启 health 200、缓存头 5 项实测正确。
  • 涉及文件:server.ts、public/static/css/main.css、ui-font.css、ui-kit.css、public/static/fonts/(XuanKunSans-Bold.woff2 新增 + 死字体删除)、各页面 CSS 版本号 bump。
2026-08-18 20:34 — 连续长视频进度细化 + 人物一致性根治
  • 进度细化:生成阶段从「只有全景上下文」细化为:全景运镜上下文 → 角色定妆照 → 分段生成(第 N 段)→ 桥接过渡 → 拼接合成,父任务进度随子任务实时映射,前端按阶段显示当前动作。
  • 人物一致性:复用短视频「角色定妆照」经验——视觉分析参考图提取人物/场景特征,生成多人定妆照,每一段都注入定妆照+原图+尾帧,提示词锁定人物外观,解决第二段人物漂移问题。
  • 涉及文件:long-continuation-module.ts、server.ts、public/short-drama.html。
2026-08-18 20:05 — 修复连续长视频全景模式崩溃
  • 根因:pano-continuation.py 的 render() 里 nz 用 np.ones_like(uu) 生成 int64 数组,与 float64 的 norm 做除法触发 numpy 类型错误(Cannot cast ufunc divide output from float64 to int64),全景环视任务在渲染阶段崩溃失败。
  • 修复:np.ones_like(uu) 改为 np.ones_like(uu, dtype=np.float64)。
  • 验证:真实 2048×1024 全景图渲染 15 秒成片成功(h264 / 540×960 / 15.0s)。
  • 涉及文件:scripts/pano-continuation.py。
2026-08-18 19:12 — 历史分镜手动获取按上游 ID 轮询并回写详情
  • 根因:手动获取成功只更新了分镜子任务,没有同步父短视频任务的 shotsMeta/result.shots,历史详情仍判断该镜「未生成」;同时旧入口错误触发 GPU 直查。
  • 修复:有上游 extTaskId 时,手动获取直接恢复同一个 video/generations/:id 轮询,最长 24 小时,不重新提交、不重复生成、不访问 GPU。
  • 回写:上游返回视频后同步写入子任务、父任务分镜元数据和结果列表,前端刷新历史详情即可显示视频与缩略图。
  • 涉及文件:server.ts、public/short-drama.html、public/architecture.html。
2026-08-18 18:38 — 左侧历史记录恢复运行中任务执行页
  • 问题:点击左侧「生成中」任务后,页面没有回到对应的执行状态,尤其是「AI短视频:图片1中的人」这类任务容易看不到实时阶段。
  • 修复:点击运行中/失败记录会拉取任务最新详情,切回短视频创作页、隐藏首页输入区,重建对应进度卡片并显示任务标题、阶段和进度;运行中任务自动重新启动轮询,失败任务显示错误状态。
  • 验证范围:覆盖刷新后恢复、从其他模块点击返回、已有进度卡片再次点击,以及任务不存在/已清理时的提示。
  • 涉及文件:public/short-drama.html、public/architecture.html、public/user-manual.html。
2026-08-18 18:28 — 剪辑工作台支持直接拖拽导入媒体
  • 入口:从电脑文件管理器直接把视频、图片或音频拖到剪辑工作台时间轨道,轨道出现金色高亮和「松开导入到时间轨道」提示。
  • 导入规则:视频/图片上传后进入视频轨,并按鼠标落点插入;音频上传后进入当前音轨,并以落点作为起点。支持一次拖入多个文件。
  • 保持不变:原「插入素材」弹窗、素材库导入和音频上传入口继续可用;上传仍沿用现有素材接口与用户权限校验。
  • 涉及文件:public/short-drama.html、public/architecture.html、public/user-manual.html。
2026-08-18 17:27 — 剪辑工作台轨道卡片预览清晰度优化
  • 根因:轨道截帧固定 200×112、JPEG 质量 0.72,卡片放大后发糊。
  • 优化:缩略图按卡片实际尺寸生成,最高 2x 像素比,最小 320×152,JPEG 质量 0.88。
  • 范围:只调整轨道预览截帧,不修改源视频或导出质量。
  • 涉及文件:public/short-drama.html、public/architecture.html、public/user-manual.html。
2026-08-18 23:55 — 感知系统自动获取频率降为一天两次
  • 需求:感知系统自动获取次数过多,大量消耗接口资源,正常情况一天默认两次。
  • 改动:联网检索类感知器检查间隔统一改为 12 小时(一天两次)——①天气监测 30分钟→12小时;②RSS订阅 15分钟→12小时;③情报监测 30分钟→12小时;④工作关联情报 8小时→12小时。系统监控(本地磁盘/内存)与同事数据关联(本地扫描)不消耗外部接口,保持不变。
  • 涉及文件:server/services/sensors/builtin.ts、server/services/sensors/work-intel.ts。
2026-08-18 19:12 — 视频任务改为纯依赖上游 API 轮询(移除 GPU 直取)
  • 老板经验:上游 API 有 extTaskId 即可精准获取数据,24 小时内都能轮询查到;只要向上游 API 获取,上游就会自己去 GPU 服务器取数据——根本无需直接跑 GPU。
  • 修正:移除全部 GPU 直取兑底(recoverFromGpuNode 调用)——completed 但 data 空、上游 timeout、queued/processing 均改为持续轮询上游 API 不判失败(24 小时兑底);processing 超时判失败、failed 时 GPU 直取全部删除;scheduleVideoRecovery 也只轮询上游 API。
  • 涉及文件:server.ts。
2026-08-18 18:12 — 视频处理任务「排队中」GPU 直查兑底
  • 补充:chaofen/shuiyin 视频处理任务,上游桥接层除 data 空外还会「排队中」状态丢失(GPU 已生成但 API 仍报 queued,延迟 6-7 分钟才回传);此前排队状态不做 GPU 直查(08-16 为防误取移除)→ 任务长时间卡 running。补上:视频处理任务排队/处理中状态每 2 分钟 GPU 直查一次(refVideo hash 精确匹配,不误取)。
  • 验证:18:03 提交的 chaofen 画质修复,重启后恢复轮询 + 上游延迟回传完成,返回视频 5.04s 与原片一致✅。
  • 涉及文件:server.ts。
2026-08-18 17:55 — 修复 AI 剪辑 chaofen 视频处理返回错误/空视频
  • 根因:①chaofen(M09B-LTX2.3视频修复)视频输入节点是 5102:file,此前与 shuiyin 共用 6102:file,上游收不到输入返回示例视频(内容错、时长翻倍);②上游 API 对 chaofen 返回 completed 但 data:[](桥接层不回传 GPU 输出),而 GPU 节点实际已生成视频。
  • 修复:①视频输入节点按模型区分——chaofen→5102:file、shuiyin→6102:file;②上游 data 空时走 GPU 直取兑底(recoverFromGpuNode),并适配视频处理任务用 refVideo hash 匹配(不再因无台词跳过);③提交时存 gpuRefVideo(转 public 的 hash URL)。
  • 验证:tsc 零错误、服务重启 health 200;端到端实测 chaofen 画质修复——上游 data 空 → GPU 直取回收成功,返回视频 5.04s 与原片时长/画面一致(涂口红画面)✅。
  • 涉及文件:server.ts。
2026-08-18 17:04 — 修复作品发布「视频地址不合法」
  • 根因:前端发布弹窗用 $('publish-video').src 取视频地址,浏览器会把它解析成绝对 URL(https://host/api/user/assets/…)提交;后端白名单只认 /api/user/assets/ 开头的相对路径 → 绝对 URL 被拒「视频地址不合法」。
  • 修复:①前端 openPublishModal 存原始相对路径到 data 属性,confirmPublish 改用 dataset.videoUrl || getAttribute('src')(取原始字符串而非解析后的绝对 URL);②后端发布接口白名单校验前,把 http(s):// 绝对 URL 归一为 pathname+search,双保险。
  • 验证:tsc 零错误、服务重启 health 200;端到端实测绝对 URL 与相对路径两种 videoUrl 均发布成功;测试数据已清理。
  • 涉及文件:public/short-drama.html、short-drama-routes.ts。
2026-08-18 16:56 — 修复企业模式作品无法发布到创意广场
  • 根因:企业模式生成的成片存企业云盘(data/tenants/<tid>/assets),作品 videoUrl 带 tenant_id 参数;但发布接口(POST /api/short-drama/plaza)校验「文件是否存在」只查个人目录(data/users/xxx/assets),没处理 tenant_id → 个人目录找不到文件 → 误判「视频文件不存在」返回 400,企业作品全部无法发布。
  • 修复:发布接口 + 广场列表(GET /api/short-drama/plaza)的死链过滤,都按 videoUrl 的 tenant_id 解析企业目录校验文件(带 tenant_id → 企业目录 + 租户归属校验;无 tenant_id → 个人目录)。
  • 验证:tsc 零错误、服务重启 health 200;端到端实测企业作品(带 tenant_id)发布成功 + 广场列表正确显示(不再被死链过滤误杀);测试数据已清理。
  • 涉及文件:short-drama-routes.ts。
2026-08-18 15:47 — 修复 AI 剪辑「视频超分/去水印/画质修复」失效(后端补 chaofen 识别)
  • 根因:前端已把「去水印/视频超分/画质修复」模型改为 e5e-ltx2_3_chaofen(3d7deec),但后端 server.ts 的模型识别正则只认 shuiyin 字样,chaofen 未被识别为「视频处理」任务——走了普通视频生成路径,5099:value 功能值根本没传上游,导致超分/去水印/修复提交失败。
  • 修复:executeVideoTask 的 isSubtitleStrip 与 getMediaModelSpec 两处正则由 /shuiyin/i 扩为 /shuiyin|chaofen/i,让 chaofen 走与 shuiyin 相同的 M09B workflow 提交链路(5099:value 正确透传)。
  • 确认:老板确认 M09B-LTX2.3视频修复 = M09B-LTX2.3去字幕去水印 是同一 workflow,chaofen 复用该 workflow_id 正确。
  • 验证:tsc 零错误、服务重启 health 200、shuiyin(去字幕)向后兼容不受影响。
  • 涉及文件:server.ts。
2026-08-18 14:29 — AI 剪辑 5099:value 功能参数按工具分别传值
  • 参数映射:去水印传 5099:value=去水印,视频超分传 5099:value=视频超分,画质修复传 5099:value=画质修复;去字幕仍传 去字幕。
  • 保持不变:模型名称、提示词、其他请求参数、轮询和片段替换流程均未修改。
  • 验证:前端 stripMode: m.lb → 后端白名单 → 上游 5099:value 透传链路确认完整,内联 JS 语法零错误。
  • 涉及文件:public/short-drama.html(本次只调整功能值映射链路确认)。
2026-08-18 14:20 — AI 剪辑工具栏模型切换:去水印/视频超分/画质修复改用 e5e-ltx2_3_chaofen
  • 调整:剪辑工作台「去水印」「视频超分」「画质修复」三个工具统一改用模型 e5e-ltx2_3_chaofen。
  • 保持不变:去字幕继续使用 e5e-ltx2_3_shuiyin;三个工具的提示词、参数、接口、轮询、替换片段和 UI 均未修改。
  • 验证:内联 JS 4 个 script 块语法零错误,模型引用仅在剪辑工具栏处理入口更新。
  • 涉及文件:public/short-drama.html。
2026-08-18 13:15 — AI 剪辑轨道实际时长与播放头精度修复
  • 根因:轨道片段宽度/标尺/播放头分别使用旧的 s.duration/trimOut、额外 340px 尾部空白和片段间 6px gap,真实媒体时长与显示长度不一致,指针还可拖入轨道外虚拟 5 秒区域。
  • 修复:视频 loadedmetadata 后读取真实 duration,回填 _mediaDuration/mediaDuration/duration;新增 tlShotDuration 统一计算「真实媒体时长 - 裁剪区间」,轨道宽度、标尺、播放头、播放、拆切、音轨起点全部复用;轨道/标尺统一实际内容宽度,移除额外尾部空白和片段 gap;指针不再越过总时长;裁剪/拆切按 25fps(1/25s)帧精度吸附。
  • 验证:真实 1.72s + 2.32s 视频测试——真实时长回填成功、轨道/标尺宽度一致、播放头坐标误差 0px;内联 JS 语法零错误、tsc 零错误。
  • 涉及文件:public/short-drama.html。
2026-08-18 12:40 — 剪辑导出任务化 + 草稿云端保存(UX 审计第 1、2 项)
  • ① 导出任务可离开页面:/api/short-drama/compose 从同步合成改为任务化——提交即返回 taskId,后台异步合成(全局并发闸改排队等待),完成/失败写入任务 result;前端 composeNow 改「提交+轮询」,exportCompose 改「提交后立即返回+后台轮询」,弹窗文案改为「可离开页面」,解决 nginx 60s 超时 + 用户干等。
  • ② 剪辑草稿云端保存:新增 GET/POST /api/short-drama/clip-draft,自由剪辑草稿除 localStorage 外同步存云端(防抖 500ms),进入剪辑工作台时云端优先加载——解决跨设备/清缓存丢失。
  • 验证:tsc 零错误、内联 JS 语法零错误、端到端实测(compose 提交→running→completed+videoUrl、clip-draft POST/GET 正常)。
  • 涉及文件:short-drama-routes.ts、public/short-drama.html。
2026-08-18 12:10 — AI 剪辑工作台用户体验专项整改(按 UX 审计推进)
  • 顶部上下文标识:剪辑区头部新增「当前项目 · 第 N 集」或「自由剪辑 · 本地草稿」标识,让用户清楚当前剪的是哪个项目/哪一集。
  • 保存状态指示:头部新增保存状态(已保存/保存中/本机草稿/保存失败/更新冲突)——自由剪辑草稿存本机时明确标注「本机草稿」;409 冲突不再静默,明确标红提示。
  • 移动端工具栏重新分组:主行只保留高频(撤销/重做/删除/播放),其余按「编辑/AI 生成/音频/画面/缩放」分组收纳到「更多」,不再一排图标难认。
  • 关闭素材弹窗清理已选:关闭插入素材弹窗自动清空已选,防止上次选择残留误插入。
  • 选中片段信息栏增强:显示时长/静音/转场;多选显示「已选 N 段 · 共 Xs」。
  • 音轨操作优化:选中音轨片段后信息栏显示试听/淡入淡出/删除提示;新增音量循环调节按钮(100%→50%→25%→静音)。
  • 空轨道三入口引导:自由剪辑空轨道显示「从素材库添加 / 上传本地视频」两个明确入口。
  • AI 处理语义明确:超分/去字幕/数字人等提交时明确「完成后自动替换当前片段」。
  • 插入素材优先排序:本集分镜/当前项目素材排最前,避免 431 个素材混杂难找。
  • 涉及文件:public/short-drama.html(纯前端 UI/状态,接口零改动)。
2026-08-18 08:52 — 灵猫短视频模式切换器重设计(美观/专业优化)
  • 分段控件:模式切换从一排独立按钮改为统一圆角容器包裹的「分段控件」(4 个等宽分段),视觉更整体、更专业。
  • 图标+选中态:每个模式带专属图标(视频/麦克风/图片/胶片),当前选中模式为紫色填充卡片(白字+紫色阴影),与发送按钮/侧边栏品牌色一致。
  • 涉及文件:public/short-drama.html(纯样式/图标重设计,功能逻辑不变)。
2026-08-18 08:42 — 灵猫短视频「统一创作输入框」重构(老板:学习主站对话窗口,共用输入框/附件/参数/发送)
  • 模式切换器:输入框下方新增「短视频/口播成片/图文成片/连续长视频」分段选择,替代原来「更多」面板里 4 个独立弹窗按钮——切模式只改输入框提示语、行业/时长显隐、属性面板专属参数,输入框/附件上传/比例/清晰度/发送按钮全模式共用。
  • 发送统一路由:发送按钮按当前模式自动路由——口播→数字人播报、图文→图文成片、连续→连续长视频、短视频保持 AI 编导两步走。
  • 属性面板随模式变化:口播模式显示「口播音色」、连续模式显示「目标时长+生成模式(普通/全景)」、画面规格(比例/清晰度)全模式共用;模板库(选模板填字段交互特殊)保留为独立入口。
  • 涉及文件:public/short-drama.html(纯前端 UI,后端接口零改动)。
2026-08-18 08:32 — 灵猫短视频/短剧模块 P1 安全审计修复(9 项)
  • ① analyze-image 任意文件读取修复:识图接口仅允许本人云盘图片(?user= 必须等于当前用户)、拒绝路径遍历/反斜杠/控制字符、图片扩展名白名单、视觉模型白名单(未知模型回退默认)、新增用户级限流。
  • ② douyin-analyze SSRF 修复:仅允许抖音官方域名(douyin.com/iesdouyin.com 等),禁止内网/环回/云元数据/私网 IP,新增用户级限流(防刷 Chromium 资源)。
  • ③ 成片保存 tenant_id 不信任客户端:任务创建只从 session 企业上下文或本人档案推导;写企业目录前 canAccessTenant 归属校验,伪造/污染回退个人云盘。
  • ④ 企业素材读取租户归属校验:带 tenant_id 的企业文件读取改用 canAccessTenant 三口径校验(超管/企业负责人/档案归属/角色成员),个人用户/越权一律 403。
  • ⑤ 合成企业目录回退归属校验:从视频 URL 提取 tenant_id 读企业目录前校验归属,防跨企业素材读取。
  • ⑥ 图文成片/数字人口播接入计费:两个入口新增幂等计费(图文按图片段数预估时长、口播按目标时长计 video_gen)+ 失败自动退款。
  • ⑦ 取消后降级/重试不再扣费:分镜批量任务在降级/重试扣费前复查取消状态,取消后禁止再扣费/再提交;最终状态写回前复查,取消任务不被覆盖为 completed。
  • ⑧ 资产生成超时退款:启动恢复扫描中超过 30 分钟的 running 资产任务标失败时同步退款(幂等)。
  • ⑨ 项目完整性恢复修正:分集脚本补回取最新任务(原取最早)、分镜补回按任务真实集号(原硬编码 ep1)。
  • 验证:tsc 零错误、pm2 重启 health 200;SSRF/路径遍历/跨租户读取实测 400/403 全拦截;commit b6cdaed 已推送。
  • 涉及文件:short-drama-routes.ts、media-routes.ts、server.ts。
2026-08-18 07:05 — 灵猫短视频「输入框扩展模块」UI 优化
  • 输入框自动增高:「短视频」首页创意输入框从固定 2 行改为随内容自动扩展(最长约 190px 超出滚动),写长创意不再局促。
  • 字数统计:发送按钮旁新增实时字数提示(x/500),聚焦或有内容时显示,发送后归零。
  • 「更多」按钮升级:从弱文字链接改为带滑块图标的描边胶囊按钮,hover/展开金色高亮,更易发现高级功能。
  • 高级面板分组重构:展开后从「一行混排」改为「创作方式(口播成片/模板/图文成片/连续长视频,各带图标)+ 画面规格(比例/清晰度)」两组标签分区,逻辑归类清晰不再拥挤。
  • 涉及文件:public/short-drama.html(纯前端 UI,不影响接口/权限/生成逻辑)。
2026-08-17 17:40 — 连续长视频新增360°全景环视模式
  • 入口:灵猫AI → 短视频 → 更多 → 连续长视频,新增「普通参考模式」和「360°全景环视」选择。
  • 普通模式:上传普通场景图/人物图/参考视频,图片和视频作为U06人物与场景参考。
  • 全景模式:第一张图片必须是接近2:1的360°等距全景图;系统先用确定性透视投影生成15秒环视背景上下文,再交给U06叠加人物表演和对白,后续继续沿用无损尾帧递进与U02桥接。
  • 校验:服务端使用ffprobe校验全景图宽高比,非2:1图片直接拒绝;普通模式行为不变。全景投影脚本为scripts/pano-continuation.py。
2026-08-17 15:26 — 日报归属按业务规则批量修正 8 条(老板规则)
  • 业务规则(老板):日报在次日 18:00 前提交的,基本都是补前一天的;当天 18:00 后提交的才是当天日报。
  • 修正:①朱燕 4 条(8/12 09:10→8/11、8/13 09:02→8/12、8/14「8.13主要完成工作」→8/13、8/15「8.14号学习」→8/14)——朱燕 8/10~8/15 每天一条补齐;②王罗俊武 3 条(8/13 10:46→8/12、8/14 12:38→8/13、8/15 00:04→8/14)——链补齐但 8/15 变缺交(预期);③杨来婴 1 条(8/12 09:02→8/11)——链补齐。
  • 排除:内容/标题明确写当天的记录(杨来婴 8/10、赵姝琳 8/10、邓铧成 8/15 补交等)尊重内容不动。
  • 验证:团队统计 8/11-8/14 三人按时;8/13 王罗俊武 12:38 提交超截止 38 分钟判迟交;8/15 朱燕(周六补交)迟交、王罗俊武缺交。
  • 涉及文件:数据库 work_reports 8 条记录 period 修正。
2026-08-17 15:20 — 日报周期错位全量扫描修正 2 条(老板确认)
  • 修正:①朱燕「8.10号日报」(8/11 08:49 提交)→ 归 8/10 周期(标题明确 8.10,且 8/10 周期原本空缺;归位后按时);②李春凤「8月12日日报」(8/12 18:16 提交)→ 归 8/12 周期(标题+内容均为 8/12,原挂 8/11 导致 8/11 双条、8/12 空;归位后按时)。
  • 全量扫描排除项:「上午交当日日报」标题明确当天属正常;李春凤 8/11「8-10日报」标题手误但归属正确;8/12 彭晓平/杨小艳/熊立群、8/16 周日为真实缺交非错位。
  • 遗留待确认:朱燕内容日期链(「8.13主要完成工作」「8.14号学习」)与王罗俊武 2 条(8/13 10:46、8/15 00:04)需业务确认后再动。
  • 涉及文件:数据库 work_reports 2 条记录 period 修正。
2026-08-17 15:11 — 杨轩日报周期错位修正(老板判定)
  • 背景:杨轩是「每天补昨天」模式(8/14 00:19 凌晨补 8/13、8/15 09:53 补 8/14、8/16 12:23 补 8/15),但此前规则把 8/15 09:53 那条归到了 8/15——导致 8/13 周期空缺、8/16(周日)多一条,整条链错位一天。
  • 修正:三份日报整体后移一天——8/14 00:19 提交的「今日工作日报」→ 归 8/13(按时);8/15 09:53 提交的「今日日报」→ 归 8/14(按时,截止 8/15 12:00);8/16 12:23 提交的「8月16日日报」→ 归 8/15(迟交,超截止 23 分钟)。
  • 验证:团队统计实测 8/13 on_time / 8/14 on_time / 8/15 late / 8/16 pending(周日无交),与老板判定一致。
  • 涉及文件:数据库 work_reports 3 条记录 period 修正。
2026-08-17 15:00 — 工作报告(日报/周报/月报)审计 P1 修复
  • ①企业隔离越权实锤修复:此前 GET /api/work-reports/settings 与 /rules 完全信任客户端 X-Tenant-Id 头且不校验归属——实测普通成员传其他企业 ID 即可读到对方企业成员名单(姓名+账号)。现在 X-Tenant-Id 仅当用户是该企业管理员、平台超管,或属于本人所属企业(含多企业角色关联)时才放行,越权请求返回 403;其余接口(详情/收到的/团队统计)本就隔离良好,实测不受影响。
  • ②日报补交不再被强制改到今天:此前提交已过截止的日报会被静默改成「今天」(与「用户选哪天就提交哪天」的设计意图矛盾),导致补交历史日报归错天、昨天/前天的未提交统计永远补不上。现在日报保持用户选择的周期,迟交由团队统计按截止规则判定。
  • ③连带修复月报截止判定失效:月报截止计算正则只认 YYYY-MM 格式,但系统内周期全部是 YYYY-MM-DD → 月报截止恒为空、永不判迟交;现已兼容两种格式。
  • ④规则数据清理:已废弃的 start_time 字段从存量企业配置中清除,规则接口只返回已知字段(enabled/time/offset/day)。
  • 验证:越权实测 5/5(他人企业 403/自己企业正常/超管特权正常);周期归属逻辑单测 10/10(日报补交保持、周报/月报缓冲期归属不受影响);团队统计冒烟正常;tsc 零错误;服务已重启 health 200。
  • 涉及文件:server/work-reports-module.ts、public/architecture.html、public/user-manual.html。
2026-08-17 17:36 — 企业邀请链接加入失败根治(老板报障「个人用户点击企业邀请链接无法成功加入企业」)
  • 根因:未登录用户点邀请链接 → 302 到主站并存 localStorage.pending_join_enterprise → 但消费逻辑只在 onLoginSuccess(登录回调)执行——已登录/刷新恢复登录态走 performHandshake,不调用 onLoginSuccess → pending 永不消费 → 永远加不进企业。
  • 修复:join 逻辑提取为独立函数 window.processPendingEnterpriseJoin(),在 onLoginSuccess + performHandshake(会话恢复)两个路径都调用——无论本次登录还是已登录刷新,邀请码都会被消费并自动加入。
  • 验证:未登录点链接存 pending → 注入登录态刷新 → DB tenant_id 正确更新为邀请企业 ✅、pending 消费清除 ✅、零 JS 错误。
  • 涉及文件:public/static/js/chat.js、public/index.html。bump chat.js?v=1787024156。
2026-08-17 16:35 — 权限覆盖模块父节点锁定(老板「原来的会员权限中用户中心和更多功能为什么还要可以取消勾选」)
  • 问题:权限覆盖弹窗中「用户中心」「更多功能」等模块父节点(feat.* 虚拟节点)不在角色权限点集合里,虽由子节点算出勾选态,但父节点本身可点击取消——会级联把会员已含的子权限也取消。
  • 修复:①renderPermTreeNode 父节点(含 children)若其后代有会员已含权限(disabledSet),父节点一并锁定(disabled 灰色);②onPermTreeNodeChange 增加 disabled 防护——锁定节点不级联子节点(防 JS 强制触发取消会员权限);③子节点仍可单独勾选/取消(额外授予的不受影响)。
  • 验证:feat.用户中心/feat.更多功能/feat.用户中心.智能服务 全部锁定;含可授点的子模块(如「其他」)不锁定可整选;强制触发 disabled 父节点 change 后会员已含子权限不被取消;保存收集正常;零 JS 错误。bump admin.js?v=1787042000。
  • 涉及文件:public/static/js/admin.js、public/admin.html。
2026-08-17 16:16 — 权限覆盖保存失效根治(老板报障「赋予了工作报告功能,保存后没被勾选」)
  • 根因:权限覆盖弹窗保存收集用 document.querySelectorAll('#modalBody .grant-cb:checked')——但 showModal 生成的弹窗结构是 #globalModal(无 modalBody id)→ 收集恒空数组 → 保存接口收到 [],勾选的权限全部丢失(审计日志实锤 permissions:[])。
  • 修复:选择器改 #globalModal .grant-cb:checked(真实弹窗容器)。
  • 验证:真实 showModal 环境——修复后收集含 uc.reports ✅、旧代码收集空(复现 bug);uc.reports 落库正确、重开勾选正常。bump admin.js?v=1787042000。
  • 涉及文件:public/static/js/admin.js、public/admin.html。
2026-08-17 16:02 — 权限覆盖展示完整权限树 + 会员权限锁定(老板指令「展示当前用户树型结构哪些勾选了哪些未勾选,会员体系的权限点不允许取消勾选,可勾选会员等级以外的权限点」)
  • 展示:权限覆盖弹窗展示当前用户完整权限树——会员等级已含权限(灰色锁定 + 「会员已含」标记)与额外授予权限全部勾选态展示,未勾选权限点一目了然。
  • 规则:①会员体系已有权限(角色权限点 rolePerms)disabled 不可取消;②可在会员等级以外的权限点额外勾选添加(补充式授予);③保存只收集非 disabled 且勾选的权限点写入 custom_permissions(角色权限不入 custom、不可取消)。
  • 实现:GET custom-permissions 接口新增 rolePerms 字段(getUserRolePerms 纯角色权限);renderPermTreeNode/renderGenericTree 支持 disabledSet 参数(disabled checkbox + 灰色样式 .perm-check-disabled);showCustomPermModal checkedSet=角色∪额外、disabledSet=角色。
  • 验证:角色权限(chat.page/writer.page)勾选+锁定不可取消、custom 授予(uc.memory)勾选可取消、会员外权限可勾选;保存只收集 uc.memory(角色权限不写入);零 JS 错误。bump admin.js?v=1787042000 + admin.css?v。
  • 涉及文件:public/static/js/admin.js、public/static/css/admin.css、public/admin.html、admin-module.ts、admin-audit-module.ts。
2026-08-17 15:58 — 权限覆盖树型结构与权限配置一致(老板指令)
  • 调整:权限覆盖弹窗的权限树从「分类平铺」改为与权限配置同构的「模块 → 页面 → 按钮」三级树(buildFeatTree + renderGenericTree,含父级勾选联动、feat.* 模块标签)——与角色编辑/权限列表展示完全一致。
  • 保存过滤:doSaveCustomPerm 增加 feat.* 虚拟父节点过滤(与角色编辑保存一致,虚拟模块节点不入库)。
  • 验证:树结构 ul.perm-tree + 模块标签正常;权限点为主站前端(无后台);保存只收集真实权限点(虚拟节点过滤);零 JS 错误。bump admin.js?v=1787042000。
  • 涉及文件:public/static/js/admin.js、public/admin.html。
2026-08-17 15:54 — 会员权限覆盖改为纯补充式授予(老板指令「权限覆盖只针对会员体系的主站前端权限进行补充式添加」)
  • 调整:会员详情「权限覆盖」弹窗去掉强制移除区块,只保留额外授予——在会员角色权限基础上补充式添加主站前端权限(新增对话/工作台/智能体/写作/编程/AI PPT/应用中心/数字人/音频/日程/白板/知识库/技能/云盘/用户中心等);权限列表 = 主站前端权限列表配置(filterPermCats member,不含后台/企业权限点);权限剥夺通过调整会员等级/角色实现。
  • 实现:弹窗只渲染 grant-cb(额外授予树),保存只收集正权限(不再收集 deny);存量库无 deny 数据需清理。
  • 验证:弹窗无强制移除区、额外授予树勾选/保存正常;权限列表仅主站前端点(admin./ent. 过滤);零 JS 错误。bump admin.js?v=1787042000。
  • 涉及文件:public/static/js/admin.js、public/admin.html。
2026-08-17 14:26 — 企业申请列表优化(老板指令)
  • ①去掉「计划」列:企业申请默认都是基础版(tenant_basic),计划列无信息量——列表列改为「公司名称/申请人/手机号/状态/拒绝理由/申请时间/操作」。
  • ②新增「拒绝理由」列:enterprise_applications 表新增 reason 字段(迁移);拒绝接口保存理由(原只写审计日志不落库);历史已拒绝申请从 audit_logs 回填理由(「已有同名企业入驻」等);列表已拒绝行展示理由(未填写显示「未填写」)。
  • 验证:列头 7 列正确(无计划列有理由列);rejected 申请返回 reason;tsc 零错误;零 JS 错误。bump admin.js?v=1787042000。
  • 涉及文件:admin-module.ts、admin-audit-module.ts、public/static/js/admin.js、public/admin.html。
2026-08-17 14:22 — 企业申请管理「拒绝」无反应修复(老板报障)
  • 根因:admin.js rejectEnterpriseApp 的拒绝原因弹层确认按钮内联 onclick 引用了 Promise 闭包局部变量 resolve——内联事件处理器作用域是全局,访问不到闭包变量 → 点击确认时 ReferenceError,弹层关闭但 Promise 永不 resolve,后续拒绝请求不发出(表现为「没反应」);取消按钮同理只 closeModal 不 resolve。
  • 修复:改用全局暂存 resolve(window._rejectConfirm(v))——确认按钮调 window._rejectConfirm(原因)、取消按钮调 window._rejectConfirm(null)(resolve null 中止流程),Promise 正常继续 → POST reject 接口 → 列表刷新。
  • 验证:三种场景全过(空原因确认 resolve 空串 / 带原因 resolve 值 / 取消 resolve null);后端 reject 实测 pending→rejected;零 JS 错误。bump admin.js?v=1787042000。
  • 涉及文件:public/static/js/admin.js、public/admin.html。
2026-08-17 14:14 — 企业套餐 free 档清除(老板「为什么企业有 free 版本,我们企业是没有 free 的 plan 的」)
  • 根因:①前端提交企业申请硬编码 plan: 'free'——但企业套餐体系只有三档(企业基础版 tenant_basic ¥299/企业专业版 tenant_pro ¥999/企业旗舰版 tenant_enterprise ¥4999),不存在 free 档;②后端申请/审核建企业均不校验 plan 白名单,非法值直接落库。
  • 修复:①前端企业申请改提交 tenant_basic(默认基础版);②后端 createEnterpriseApplication + approveEnterpriseApplication 双处加 plan 白名单校验(非三档值自动回退 tenant_basic);③存量数据——删除两个空壳「第五元素」free 企业(0 成员测试/重复数据),其余 3 个真实 free 企业统一改为 tenant_basic。
  • 验证:企业套餐分布 free 清零(tenant_basic 7 家 + tenant_pro 2 家);白名单单测——非法 plan 回退基础版 ✅、合法 plan 保留 ✅;tsc 零错误、health 200。bump chat.js?v=1786947594。
  • 涉及文件:public/static/js/chat.js、admin-module.ts、public/index.html。
2026-08-17 14:11 — 开发日志改为分批加载(老板「首次加载15条,然后点击加载更多每次渲染15条不全量渲染」)
  • 调整:「加载更多日志」按钮从一次性全量展开改为每次加载 15 条——点击一次渲染 15 条、按钮剩余数同步递减,全部加载完按钮自动隐藏;页面初始仍只渲染最新 15 条。
  • 验证:初始 16 条 → 每次点击 +15 条(按钮剩余 1341→1326→…)→ 全部 1358 条加载完按钮隐藏;零 JS 错误;思洋同步(1329 条全量)。
  • 涉及文件:public/user-manual.html。
2026-08-17 14:01 — 开发日志懒加载全面生效(老板「开发日志不能一次性加载太多了」)
  • 优化:开发日志从「静态全量渲染 1153 条」改为「初始仅渲染最新 15 条 + 点击「加载更多日志」一次性展开全量」——页面初始 DOM 节点 14826→1869(-87%),首屏加载大幅提速;同时清理历史遗留的结构坏数据(08-06~08-10 插入的扁平/嵌套/缺闭合 changelog 条目共 33 处),条目内容全部保留无丢失。
  • 验证:25 个 tab 切换零失败;开发日志初始 15 条、加载后 1357 条全量归位(游离 0);零 JS 错误;思洋同步优化(DOM 14478→1843)。
  • 涉及文件:public/user-manual.html。
2026-08-17 13:50 — 用户手册开发日志显示错乱根治(老板反馈「每个container模块后面都有很多单独的changelog-item」)
  • 根因:2026-08-04 并行会话插入 changelog 时产生 5 处「双重闭合」坏数据(如 ...日期</div> — 重复标题</div>)——changelog-date 被提前闭合,浏览器容错解析从该点起把其后全部 259 条 changelog-item 解析到 section 之外(body 直接子级),视觉上每个 tab/container 模块后面都出现 changelog 条目。
  • 修复:删除 5 处多余的双重闭合标签(08-04 09:24/09:15/09:10/09:05/08:50 五个条目);浏览器 DOM 验证——1152 条 changelog 全部回到 sec-changelog,游离 0;加载更多后 1388 条全量在位,逐 tab 切换零混入、零 JS 错误;思洋同步修复。
  • 涉及文件:public/user-manual.html。
2026-08-17 13:28 — 报告时间设置:开始/截止分行强化(老板指出仍同行)
  • 布局优化:每种报告类型的时间配置改为明确的两行色块——第一行「开始时间」(含「00:00 表示不限制」说明),第二行「截止时间 + 截止偏移」,两行用浅色底块+行间距区分,偏移量明确归属截止时间。
  • 验证:渲染逻辑断言(开始行独立/两行块/偏移在截止行)通过;思洋同步。
2026-08-17 13:25 — 报告时间设置:开始/截止时间分两行(老板指令)
  • 布局优化:企业后台报告时间设置中,每种报告类型的时间配置改为两行——第一行显示类型与周期(周报含星期选择),第二行显示开始时间与截止时间(含偏移),更清晰。
  • 思洋同步:同步修复。
2026-08-17 13:18 — 企业创建统一走申请-审核流程(老板指令「企业创建应该是提交申请后,通过了才在企业列表中创建」)
  • 原问题:注册时选「企业」类型会立即 createTenantAndLink 创建企业(注册即建,无审核);与已登录用户「升级为企业」申请流程(/api/enterprise/apply → 总后台审核 → 通过才建)不一致。
  • 修复:auth-routes.ts /register 企业分支改为:注册成功但不再立即建企业——创建一条待审核申请(createEnterpriseApplication,plan=tenant_basic),返回 application_pending 标记;管理员在总后台「企业申请」审核通过(approveEnterpriseApplication)后才自动创建企业租户;已有 pending 申请则复用返回。前端 auth.js 注册成功分支:application_pending 时提示「注册成功!企业申请已提交,待管理员审核通过后自动创建」。
  • 验证:状态机闭环(pending 不建企业 → approve 才建 → 清理);11 个现有企业为历史审核通过产物不受影响;tsc 零错误 + node --check 过 + health 200。bump auth.js?v=1786944044。
  • 涉及文件:auth-routes.ts、public/static/js/auth.js、public/index.html。
2026-08-17 13:14 — 报告开始时间不应用偏移(老板指出)
  • 修正:开始时间固定为报告周期当天的时刻,不随截止偏移后移——「天偏移」只作为截止时间的补交缓冲(如日报开始 08:00 = 当天 08:00,截止 12:00 + 1 天 = 次日 12:00)。
  • 验证:开始/截止计算分离正确;思洋同步修复。
2026-08-17 13:05 — 个人用户申请创建企业入口补全(老板问「现在有没有个人用户申请企业创建的入口」)
  • 排查:后端链路完整(/api/enterprise/apply 提交申请 + /api/enterprise/apply/status 查状态 + 管理员审核自动创建企业),申请弹窗(upgrade-enterprise-modal)也在 HTML 中——但入口按钮 #upgrade-enterprise-btn 只在 JS 里 getElementById(显示逻辑有),HTML 从未创建该按钮 → 个人用户看不到「升级为企业」入口。
  • 修复:①index.html 用户设置下拉菜单「个人信息」下方新增「升级为企业」菜单项(id=upgrade-enterprise-btn,仅非企业用户显示,updateEnterpriseUI 控制);②chat.js 新增 openUpgradeEnterpriseModal()(打开申请弹窗 + 预填当前手机号 + 聚焦企业名称)。
  • 验证:Puppeteer 全链路——个人用户设置菜单按钮 display:flex → 点击弹窗 active → 填表提交 POST /api/enterprise/apply {company_name,phone,description,plan:free} → 状态弹窗「申请已提交,管理员审核通过后将自动创建企业空间」;零 JS 错误。
  • 涉及文件:public/index.html、public/static/js/chat.js。bump chat.js?v=1786943203。
2026-08-17 12:46 — 报告时间设置:增加开始时间(老板指令)
  • 改名:企业后台报告管理「报告截止时间设置」改为「报告时间设置」。
  • 新增开始时间:日报/周报/月报可分别设置开始时间与截止时间——早于开始时间提交记为「提前」,晚于截止时间记为「迟交」,中间为「按时」;开始时间设为 00:00 表示不限制。
  • 团队统计:用户中心团队完成情况新增「提前」统计卡与成员状态标签(紫色),筛选支持提前状态。
  • 验证:保存/统计/还原全链路通过;思洋同步修复。
2026-08-17 11:59 — 日报周期归属修复:上午提交的今日日报不再被误归昨天(老板反馈)
  • 问题:查罗晓帆 8/15 提交的日报时发现——之前「上午提交默认补昨天的日报」的规则有副作用:用户上午写的今日日报被误归到昨天(朱燕/杨来婴/王罗俊武/杨轩等多条「X月N日日报」被归到 N-1 日)。
  • 修复:①写日报默认周期改为当天(不再自动回溯昨天)——用户写哪天的日报就提交哪天,补交昨天的日报由用户手动改日期;②周报/月报保留「截止缓冲期内归上一周期」的规则(老板此前要求);③已误归的 7 条日报历史数据全部修正回正确日期。
  • 效果:日报归属不再受提交时刻影响——标题写哪天就是哪天的;思洋同步修复。
2026-08-17 11:50 — 周报/月报提交周期归属修复(老板反馈)
  • 问题:8/17(周一)早上提交的周报,有的算上周、有的算本周——归属取决于谁先交,不合理。李春凤 08:48 和杨轩 02:29 提交的周报被归到了本周,实际应在第五元素上周截止(周一 12:00)缓冲期内、算上周的周报。
  • 修复:①提交时按企业截止规则自动纠正周期归属——截止缓冲期内提交保持原周期(补交仍算按时),超截止才归当前周期;②企业截止规则下发给前端,写报告时默认周期也按缓冲期自动归属(周报截止前默认上周、月报截止前默认上月、日报截止前默认昨天);③已提交的两条错归属记录已修正为上周。
  • 效果:同一时间窗口内提交的报告周期归属一致,补交在截止内不算迟交;思洋同步修复。
2026-08-17 11:00 — 企业权限配置界面补全报告管理(老板追问「企业管理员还可以配置后台权限,怎么变成全企业都缺了」)
  • 追问:既然企业管理员可以配置后台权限,为什么全企业都缺报告管理权限?——排查发现权限配置界面本身就有缺口,管理员想配也配不了。
  • 三处漏挂:①hr-module.js ENT_MODULE_GROUPS 人力资源分组缺 report-settings(权限中心功能权限 Tab 不显示「报告管理」勾选框);②hr-module.js EMP_GROUP_MAP + admin.js ENT_GROUP_MAP 缺 ent.reports.* 六点(员工档案权限弹窗/总后台企业权限树归「其他」);③enterprise-module.ts ENT_MODULES 缺 report-settings(allModules 不含)。
  • 另修长期潜伏 bug:权限中心模块勾选存裸模块 ID(dashboard)与 ent.* 权限点体系不匹配(后端只认 ent. 前缀,保存被丢弃、回显永不勾选)——新增 _entModToPerm/_entPermToMod 映射(report-settings→ent.reports.manage 与导航同源),勾选保存/回显双向打通。
  • 验证:Puppeteer 权限中心 188 卡片「报告管理」勾选框 checked;映射单测 4/4;双文件 node --check 过;tsc 零错误。commit df6b310。bump hr-module.js?v=1786938991 + enterprise.js?v + admin.js?v。
  • 涉及文件:enterprise-module.ts、public/static/js/hr-module.js、public/static/js/admin.js、public/enterprise.html、public/admin.html。
2026-08-17 10:39 — 企业后台权限角色派生合并修复(老板报障 18874942339 缺报告管理权限)
  • 报障:企业后台 18874942339 又少了权限——报告管理的权限。
  • 根因:ent_permissions 是快照式存储(权限配置时落库的历史值),不跟随新增权限点自动更新;08-14 新增 ent.reports.* 六点后,全库 38 个企业用户 35 人快照缺失(基础点 35 人、管理点 5 人)——188 角色表有全部 6 点但快照缺 → 企业后台侧边栏「报告管理」入口隐藏。
  • 修复:enterprise-module.ts getEntUserPerms 增加角色权限派生合并——user_roles→role_permissions 的 ent.* 点并入快照(角色是权限权威源),再走企业开放范围过滤;188 快照双保险直接补 6 点。此后新增权限点只要种子里补授角色即自动生效。
  • 验证:逻辑合并验证 188 含 manage 等 6 点;Puppeteer enterprise.html 侧边栏「报告管理」显示;全库扫描确认唯一系统性缺口即 reports 6 点;tsc 零错误。commit b1aa777。
  • 涉及文件:enterprise-module.ts。
2026-08-17 10:05 — 聊天上传音频语音识别失败根治(老板报障)
  • 问题:聊天对话中上传音频让系统识别转文字,一直失败/无响应。
  • 根因(三个叠加):①识别完成后响应流未正常关闭,前端一直等不到结束(即使识别成功也表现为失败);②服务器端口被旧进程占用,更新后的服务一直没真正生效(线上跑的是旧逻辑);③主识别引擎(e5e灵雀)上游服务节点不可用(503),需要备用引擎兜底。
  • 修复:①识别完成后正常关闭响应流(前端能收到结果与结束信号);②清理端口占用、重启服务让最新代码真正上线;③备用引擎(qwen3-asr-flash)兜底链路验证可用并加日志。
  • 验证:真实音频上传 → 识别成功输出文字(「逗你们的,不过各位姐姐…」)+ 正常结束;服务双端口健康、tsc 零错误;思洋同步修复。
2026-08-17 10:05 — 企业余额不足登录引导(快捷充值到企业账户)
  • 需求:企业余额不足影响使用时,登录时给予引导——企业成员给提示,有企业后台充值权限的给快捷充值的提示和操作,点击弹出快捷充值页面直接充值到企业账户。
  • 后端:gapfill-module.ts /api/user/profile 新增 entBalance(余额+套餐)/entBalanceInsufficient(付费套餐余额<0.1,与 chat 402 拦截同口径)/entRechargePerm(企业负责人/平台超管/总后台权限/ent.billing.recharge 权限点);server.ts /api/user/enterprises-v2 企业列表补 balance 字段 + 每企业返回 balanceInsufficient/rechargePerm(覆盖多企业归属三口径:admin_user_id/档案 tenant_id/user_roles 关联)。
  • 前端:chat.js checkEntBalanceGuide() 登录成功回调+页面刷新恢复登录态两处调用,遍历所有企业任一余额不足→顶部橙色横幅;有权限显示「快捷充值」按钮,无权限显示「请联系企业管理员充值」;openQuickEntRecharge() 快捷充值弹窗(¥50/100/200/500 快捷金额+自定义)→ POST /api/enterprise/recharge 建单 → 微信二维码 → 2s 轮询 /api/enterprise/recharge/status → 到账后刷新余额+移除横幅。
  • 验证:Puppeteer 三场景全绿(负责人有权限→横幅+充值按钮+弹窗完整 / 普通成员无权限→横幅+联系管理员 / 余额充足→无横幅);提交链路金额100→POST recharge(amount:100)→二维码→轮询,零 JS 错误。commit 5ead877。bump chat.js?v=1786932784。
  • 涉及文件:gapfill-module.ts、server.ts、public/static/js/chat.js、public/index.html。
  • ★ 10:19 手动关闭记忆补充:老板「登录企业后弹提示,也可以手动关闭提示框不进行充值」——✕ 关闭按钮现在记录关闭记忆(localStorage entBalanceGuideClosed:用户名:企业ID=日期,按用户+企业隔离),当天刷新/重新登录不再打扰;充值成功自动清除记忆并重新评估余额;自动消失(10 分钟)不记关闭,下次登录仍提示。bump chat.js?v=1786933256。
  • ★ 10:21 每天只弹一次口径确认:老板「充值和公告不同,充值是每天只弹一次,只要未充值」——明确充值提示≠公告永久关闭:①手动关闭和 10 分钟自动消失都记当天记忆(严格每天最多弹一次);②未充值次日(日期变化)自动重新弹;③充值成功清除记忆并重新评估。验证:Puppeteer 3/3(自动消失→当天不再弹→模拟次日重弹)。bump chat.js?v=1786933392。
2026-08-17 09:15 — 智能体上传附件:页面显示预览 + 随消息真实发送(老板报障)
  • 问题:智能体对话中上传附件后,页面没有任何显示;且附件实际没有随消息发送给智能体(之前只有一条「已选择」提示,文件并未带上)。
  • 修复:①上传后输入框上方显示附件预览条(图片缩略图 + 文件名 + 大小 + 可移除),支持一次多选(最多 9 个);②发送时附件真实携带——图片转 base64 随消息传给模型(模型能看图),文本类文件(txt/md/json/js 等)内容直接注入消息供智能体阅读,其他文件带文件名提示;③用户消息气泡中显示附件(图片直显 + 📎 文件名);④服务端补齐图片透传(此前智能体消息里即使带图也被丢弃)。
  • 验证:上传/预览/移除/图片转 base64/文本注入全链路通过;思洋同步修复。
2026-08-17 09:00 — 语音识别直达引擎:修复上传音频走文本模型的问题
  • 问题:上传音频说「转成文字」时,系统路由显示进了语音识别,但实际却被文本模型(deepseek-v4-pro)接手——这个模型不具备语音识别能力,任务无法真正执行。
  • 根因:①上传的音频在消息里以 base64 内联格式传递,但语音识别快速路径只认「音频 URL」标记,没识别 base64 内联音频 → 误判「未找到音频附件」→ 回退到文本模型;②非流式请求也被排除在快速路径外。
  • 修复:语音识别快速路径现在直接提取 base64 内联音频 → 写临时文件 → 调用真正的识别引擎(e5e灵雀 → DashScope 兜底)输出文字,全程不经过文本模型;流式/非流式请求都直达识别引擎。
  • 验证:上传音频消息实测进入识别引擎链路(识别引擎对空数据正确报错=链路已通);识别引擎 e5e灵雀当前服务节点不可用(503,环境问题),DashScope 兜底链正常;思洋同步修复。