项目问题与任务安排

会议时间:2026-03-29 参与人员:说话人A(项目负责人,主导)、说话人B(朱晨)、小关(前端/UI);提及金芳(测试/数据)、老板

一、核心议题

1. 邮箱数据查询问题(最高优先级)

  • 上周群里反馈了 Wist 公司的查询问题:朱晨当前不清楚联系人是从哪里搜的。
  • 入口规范:最早版本中已区分 Tab——优先把 leader(决策人)和采购两类联系人全部拿到,全部联系人 Tab 可抽样取部分;但 leader/采购两类必须全量。
  • 案例验证:在 leader/采购两个 Tab 中基本都能搜到上周提到”找不到的邮件”。
  • 给 AI 的物料中要带身份标签:哪一部分是 leader,哪一部分是采购,让 AI 知道联系人类型。

2. agent 推荐联系人的有效性验证

  • 周末说话人A 与老板做了回测:用销售实际开发客户拿到的联系人数据回测系统。
  • 案例:某公司特意上有 100 个联系人,agent 判断的高优先级联系人,与销售真实首选联系的人是一致的。
  • 因此联系人查询的数据完整性非常关键——只要数据查到位,agent 推荐就基本能模拟销售选择。
  • 朱晨需要做更多校验:模拟登录 backup 邮箱后,给 AI 一些已经真正产生联系的联系人样本,让它用技能去验证能否找到,借此判断数据是否过去。

3. 加载失败问题(小关跟进)

  • 现象:沙箱还没启动完成时,会话就开始加载文件,报加载失败。
  • 解决方向:限制——沙箱未启动完成前,整个页面都不让加载(聊天记录等都不加载),仅在沙箱启动完成后才加载。
  • 背景:后期 AI 后端会全部跑在沙箱里,目前只是部分代码丢沙箱。
  • 创建 Issue 跟进。

4. 邮件展示位置调整

  • 现状:邮件内容展示到消息最上方(特殊代码约定)。
  • 目标:取消最上方展示,改成”在哪个步骤产生就在哪个位置出现”——分析时显示分析报告组件,触达创建草稿时显示邮件组件。
  • 不再展示到消息最下方。

5. 组件高度问题

  • 当前组件高度未加载成功,看起来比较矮。
  • 沙箱版本不再过多维护(新版本沙箱和一级部分会重写)。
  • 布局:整体 2/5 + 3/5 宽度。
  • 展开后高度上限:约 300px,不要让它撑满整个页面。

6. 相似产品 / 商品搜索(朱晨核查)

  • 老板反馈:相似产品看起来跟以前不一样了。
  • 怀疑:现在可能只走文本相似,没走图片相似搜索;正确做法应走图片相似搜索(向量搜索应当很快)。
  • 同系列产品应优先命中;首条结果不应该是明显不相似的。
  • 加载慢也异常——向量搜索本应很快。

二、技术决策与方案细节

1. LLM 网关项目(朱晨负责部署)

  • 部署一个独立的 LLM 网关,在网关层做:
    • 重试
    • 模型 fallback:如 GPT5.4 挂了,自动切到 GLM5(对外永远暴露 GPT5.4,背后掺假)。
  • 域名:letter.unique(即 letterm.llm.unique),目前已解析。
  • 优先使用 OpenAI Response API,不要用最早的 chat API。
  • 价格:应用层只按”最前面的”GPT5.4 / GLM5 计价,不考虑降级后的实际价格;网关层单独统计真实价格,应用层单独统计应用层价格。
  • 关于 provider:项目里 RoutCode/writecode 的 API key 还在用——之前因为不稳定开过多个,可让说话人A 提供单独 API key,或直接从项目里抽 writecode 的 API key 用。
  • Codex 本身可以保留用 sub-to-API(订阅转 API),项目内换成 LLM 网关;理论上 Codex 也能切到这个网关,但分组要分开,避免与实际调用混淆。

2. 商机转化生成邮件可调整(朱晨)

  • 邮件创建出来后要支持调整收件人和内容。
  • 调整后要改写历史记录:要么模拟一条用户消息(“真正发给谁”),要么直接改当时的函数调用,把参数和内容更新掉。

3. 多会话切换内容消失问题

  • 现象:连续创建任务,其中一个对话内容会消失。
  • 推荐解决方案:给每个对话区域加一个 React key,切换时销毁之前那个。
  • 复现不稳定,需要再观察。

三、UI/交互细节

1. 体验类问题(小关统一处理)

  • 商品查看详情返回后,应保留之前的滚动锚点位置。
  • 输入法中英文问题:从底层 input 组件统一处理。
  • 产品查看更多增加 loading 状态(向下滚动时下方加加载提示);一次加载多屏数据,不要只一屏。
  • 上传后应刷新列表:充分利用 react query 的 invalidate 机制,传完 / 删除后刷新数据源。
  • 卡片设置固定高度。

2. 侧边栏缩小后 UI

  • 缩小后只保留一个头像样式(需求略奇怪,先按设计稿做,遇到问题再调)。

3. 顶部”模拟登录”提示条调整

  • 当前问题:PC 端遮住菜单;移动端遮住菜单按钮,无法选其他菜单。
  • 处理方式(任选一):
    1. 完全干掉,用头像那里的”退出模拟登录”代替;
    2. 改成很小的红条(如 6-6px 高)表示模拟登录中;
    3. 最优方案:插入到 body 里,把下面顶下去,不影响已有页面元素。

4. 沙箱版本与一级部分

  • 不再过多维护当前版本,遇到问题再排查;后续会有新版重写。

四、后续行动与分工

角色任务
朱晨① 邮箱数据:按 leader/采购 Tab 优先全量抓取,给 AI 带身份标签;用真实销售联系人样本回测验证 ② LLM 网关部署:重试 + fallback + Response API + 域名 letter.unique ③ 相似产品搜索核查(图片向量搜索)④ 商机转化邮件可调整 + 历史记录同步修改
小关① 沙箱启动前禁止加载(整页禁用)② 邮件组件展示位置调整(不再放最上方/最下方,按步骤就近)③ 组件高度(2/5 + 3/5、最大 300px)④ 体验类问题统一处理(滚动锚点、输入法、loading、刷新列表、卡片固定高度)⑤ 侧边栏缩小 UI ⑥ 模拟登录顶条调整 ⑦ 多会话切换 React key 销毁
金芳邮箱验证数据补充测试,更多测试用例

优先级说明

  • 最先解决今天创建的两个最重要 Issue(63、64),解决完在群里说一下。
  • 剩余按顺序从下到上推进,自由把握。
  • 解决完直接交金芳测试。

五、其他要点

  • 关于会话内容消失复现:可复现但不稳定,先按 React key 方案处理。
  • 价格机制:应用层只看到 GPT5.4 / GLM5 两个名字,看不到背后的具体降级情况。
  • 网关接入点会自带价格填写或默认价格机制。
  • 朱晨疑问”网关是把现在项目抽出来一部分吗”——是,相当于把模型 provider 那一块抽出来,类似又做了一个 LiteLLM 风格的统一接入点,但侧重点是”把订阅转 API + feedback”。所有 AI 接入点未来都走 letter.unique 域名。
  • 解决问题时可让金芳直接测;遇到不清楚的随时沟通。