schedule cannot activate outside the web bundle: pending (waiting for service: sessionController) #7759
Replies: 2 comments
你的三点根因我逐条核过了,全部成立——而且我还发现一个更尖锐的地方你给的环境就是当前最新的那棵树(
那个更尖锐的地方(建议你在报告里加一句)你写"web 面 rc.2 已自行 - id: schedule
name: '@deepseek-ai/dsh-schedule'
disabled: true把这两件事放在一起看,结论比"非 web 面不可用"更难看:
⇒ 也就是:按出厂配置,schedule 在任何组合里都不会以启用状态出现;而用户一旦手工启用它,就只能在没有 我认为这句话能显著提高你这条报告的优先级,建议放在"根因"小节末尾。 对你两个选项的回应
一点补充建议把复现收敛成一条可粘贴的最小 profile(你已经给了 headless 的那个 这条报告的完成度很高:机制、引入提交、唯一提供者、影响面、诉求都齐了,我唯一补的就是上面那个"两个决定互相抵消"的观察。 |
|
谢谢 @PerryLink 的逐条核对,尤其「两个决定互相抵消」这处——唯一提供 本机临时处置(不自行补挂 想请维护者给一个明确答案:schedule 是否按设计只在 web 面可用?
最小复现(headless 的 |
Uh oh!
There was an error while loading. Please reload this page.
环境
master
477b4f4205(= tagdsh-v0.1.7-rc.2),macOS,node v24.19.0。复现
任何不含 web 层的 profile 挂上官方 opt-in 的 schedule 行即复现(以 headless 为例):
然后
dsh --profile headless "reply with OK",stderr:同一行在 web profile 无告警(web 提供该服务)。
根因
packages/schedule/schedule/src/index.ts:100-101static inject = ['agents','sessions','tools','storageDomain','sessionController','sessionPersistence']。alpha.2(tag
00102833)同文件是export const inject = ['agents','sessions','tools','sessionPersistence']——无sessionController。引入提交:
7a362b263b(PR Bug 报告:(1) spill 截断标记已写入但完整内容仍被持久化;(2) 超长工具结果未计入上下文计量,误导问题排查 #4335feat/schedule-storage-phase1)。sessionController全仓唯一提供者packages/api/session-controller/src/index.ts:136,只有 web bundle 挂:
packages/bundle/web-app/cordis.patch.yml:102-103;grep -rn sessionController packages/bundle在 base/tui-app 零命中。schedule_create/list/delete三工具消失(不阻断启动)。影响面
出厂 tui/headless bundle 不含该行(默认无感);web 面 rc.2 已自行
disabled: true(
web-app/cordis.patch.yml:125-128,提交cad6fef2fd)。仅手工在非 web profile 挂该行的用户中招。请确认/建议
sessionController改为可选注入;@deepseek-ai/dsh-api-session-controller——实测它自身pending (waiting for services: fileUploads, workspaceRegistry),需连带整串 web API 行。All reactions