Replies: 1 comment
|
这份报告的质量很高,尤其是那张四个插件四种不同失败方式的表——它证明了这不是某个插件的打包问题。补两件:一条可能今天就能给用户止血的路,和一个诊断层面的观察。 一、你的"方案 1(在安装时失败,而不是启动时)"可以更快落地——已经有人在做同类检查了你写的这条最有价值:
问题不只是"没有警告",是诊断工具主动认证了一个坏掉的状态。 用户去查 好消息是:这个前提条件在离线状态下是可判定的。cordis 在组合期就知道每个 entry 声明了哪些 而且已经有人在做这一类事了。#1697 那边为另一个 profile 层缺陷(顶层 hoist 的
"未满足的 service 依赖"和它们已有的 profile 检查是同一类东西(都是"这个 profile 组合起来会不会坏"),而且两位作者已经在讨论对齐彼此的 contract(JSON schema / exit codes)。我建议把你这条带着那张四插件的表去找他们——这可能让用户在上游改之前就有一个 (顺带一句:那两个工具本身也是"profile 层的问题必须能离线判定"这个思路的产物。你这条是同一思路的第二个实例,加起来对上游立"安装时校验"更有说服力。) 二、
|
Uh oh!
There was an error while loading. Please reload this page.
A plugin that works in
webcan stopheadlessfrom booting, with no warning at install time and nothing in--dump-configto indicate it.Reproduction
Result:
The harness will not start at all until the plugin is removed. The same install under
--profile webactivates and runs normally.dsh-memory-evolveis the highest-starred memory plugin in the community directory, so this is not an obscure edge case.Why it is hard to diagnose
dsh plugin addexits 0 and warns about nothing.--dump-configlists the plugin in the composed tree, because it composes without booting.A user who installs a plugin into
headlessgets a harness that no longer runs, and the most obvious diagnostic says everything is fine.Not specific to one plugin or one service
Testing four memory/session plugins in
headless, each failed for a different missing piece of the same kind:headlessdsh-memory-evolvepending (waiting for service: workspaceRegistry), boot failsdsh-memento@furongjun1999/dsh-memoryworkspaceRegistryis owned by@deepseek-ai/dsh-workspace, which itself injectsstorageDomainandsessionPersistence. None of those declaredsh.bundle, so they cannot be added to a profile withdsh plugin add. Stacking the shipped bundles instead —dsh-base+dsh-web-app+dsh-headless— fails withduplicate loader entry id: code-runtime, so the two app bundles appear to be mutually exclusive by design.The effect is that the
sessioncategory (252 plugins in the community directory) is effectively web-only, and there is no supported way to run those plugins in an automated context.What would help
Any one of these would resolve it:
dsh plugin addcould say so instead of leaving a harness that will not start.webservice stack without the web app — so plugins that depend on workspace/session/approval services can run non-interactively.(3) is the one that unlocks automation, but (1) alone would turn a broken harness into a clear message.
Versions:
@deepseek-ai/dsh@0.1.0-rc.6, node v24.7.0, macOS.All reactions