Replies: 1 comment
|
已把这批 本帖属于其中的
本地 CLI 聚焦测试 16/16、tools scheduler key 测试和 CLI/tools/agent-loop TypeScript build 已通过。详细补丁、用户恢复步骤、会话处理和回归门禁见上面的集中回复。 |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Summary
On 0.1.6-alpha.2 (
ddefc45fbc, including #4471), launching from a source checkout withpnpm dsh web(node --import tsx/esm apps/cli/src/bin.ts) breaks every tool call.Text-only turns succeed. The first tool (e.g.
Pwsh) fails the whole turn with:code:
UNKNOWNA later message in the same session then fails serialization with:
code:
INVALID_REQUESTThat second error is a cascade:
tool/callwas appended, but the crash happens before a matchingtool_resultis written.Where it breaks
packages/core/agent-loop/src/tool-calls.ts:TOOL_RUNTIME_SCHEDULERis a per-realmSymbol(), notSymbol.for():pnpm dsh webevaluates CLI/agent-loop through tsx + source, while Cordis plugin load uses packageexports��lib/index.js. That loads@deepseek-ai/dsh-toolstwice.Symbol('same description') !== Symbol('same description'), soctx.tools[importedSymbol]isundefined.#4471 (
feat(cli): use runtime resolution for plain Node launches) makes this split much easier to hit on a source checkout.Reproduce (Windows, source tree)
dsh-v0.1.6-alpha.2/masteratddefc45fbc.pnpm install && pnpm run buildpnpm dsh web(tsx source launcher, not the installedapps/cli/lib/bin.js)Pwsh/Bash�� turn dies onprepare.INVALID_REQUEST(unresolved tool_use).Suggested fix
Use a global symbol so both module copies share one key:
Locally, that one change unblocks tool dispatch without changing the scheduler API.
Environment
pnpm dsh webfrom a git checkout (node --import tsx/esm apps/cli/src/bin.ts)@deepseek-ai/dsh-root@0.1.6-alpha.2All reactions