[bug] devapp 上真实研究类任务卡在「正在准备…」数分钟不动,刷新后进度/计划全部消失
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- Avg merge
- 1h 7m
- Merged PRs (30d)
- 969
Description
## 现象(人类在 devapp.boardx.us 实测)
在个人 chat 新对话里提交一个真实研究类目标("do a research about future education
with ai in china"),任务卡片进入「正在准备…」状态,**卡了几分钟以上完全没有动静**
(没有报错横幅,也没有推进),最终手动刷新页面——刷新后右栏「进度」页签显示
「还没有进行中的任务。描述一个目标,Agent 会先列出计划,这里会实时显示每一步的
进展。」,之前提交的那次研究**整个消失**,看起来像是没提交过。
线程 URL:`https://devapp.boardx.us/chat/thr-6d30e1a5-dc5c-43b4-b6fb-a90764a6c13d`
(人类原话复述,本环境没有 devapp 登录权限,未能自己核实当时的网络/控制台状态)。
## 已知会指向同一类问题的线索(未坐实,留给认领的人核实)
- 右栏「进度」页签的数据源是 `usePlanLedgerPolling(threadId)`
(`apps/web/lib/use-plan-ledger-polling.ts`)——挂载即请求、之后每 3 秒轮询
`getPlanLedger`,**不是**只在同一次浏览器会话的 SSE 连接里维护的临时状态。
按这个实现,如果服务端真的落过一条计划账本(`chat_plan_ledgers`),刷新后重新
挂载应该能读回来、不会"消失"。刷新后读到空,最直接的解释是**服务端从未成功写入
过账本**——即这次 run 从一开始就没有真正跑起来,而不是"刷新把已有进度冲掉了"。
- 与今天另一个已确认的真实 bug([#2318](https://github.com/boardx/workspacex/issues/2318))症状类似:新注册组织第一次在个人 chat 发消息,
`POST /api/copilotkit/agent/default/run` 的 SSE 响应是一个 `RUN_ERROR`(内容是
字面 Next.js 404 HTML,说明请求根本没到 apps/api),前端表现为「正在思考…」之后
弹出失败横幅。**这次的症状不完全一样**——没有出现失败横幅,是无限期卡住,不是
快速失败——但同属"agent run 没有真正跑起来,且前端没能诚实呈现失败"这一类。
真实研究任务大概率会经由 deep-agent + 真实检索工具这条更长的执行路径,与 #2318
验证过的默认 agent 路径不是同一条代码路径,**不能假设是同一个根因**,需要
单独排查(真实检索/工具调用是否卡在某个外部依赖上、有没有超时兜底)。
## 复现环境
devapp.boardx.us(真实部署,非 e2e 替身环境)。本地 fullstack-smoke 用的是确定性
loopback 模型/deep-agent 替身,大概率复现不出真实检索工具卡住这类问题——排查这条
需要能访问 devapp 后端日志或在等价的真实 deep-agent 环境里复现。
## 影响
用户提交的真实工作看起来直接丢失,且过程中没有任何错误提示——比 #2318 更严重:
#2318 至少快速失败并显示了红色横幅,这次是静默卡死,用户唯一能做的是刷新,刷新后
连"曾经提交过"这件事都看不出来了。
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with apps/web/lib/use-plan-ledger-polling.ts and the POST /api/copilotkit/agent/default/run path, then inspect getPlanLedger and the devapp backend logs for the reported thread. Compare the real deep-agent and research-tool path with #2318, checking whether a ledger is written and whether failures or long-running runs reach the UI. Done means the root cause is reproduced or traced and the stuck or lost-run behavior has a verified user-visible outcome.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- api, backend, frontend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100