- scan.acfun.cn QR flow (start -> long-poll scanResult -> acceptResult) with rotated-signature handling, background poller, durable session in the Host credential service, and cookie handoff to the provider - Client half: Settings -> AcFun page (status, QR code, poll, logout) over a same-origin /acfun-panel JSON API with cross-origin rejection - acfun_moment / acfun_moment_comments / acfun_topic read tools, moment_like / moment_unlike / moment_banana actions, and comment posting on moments - acfun_account status tool; docs for the QR contract, the 广场/动态 research verdict, and the client-composition restart requirement
6.3 KiB
6.3 KiB
Raw client-composition diagnosis
Captured from a running Desktop Host on 2026-10-27 while dsh-plugin-acfun
v0.1.0 was active (all twelve tools live, /acfun-panel/state answering).
Request: GET http://127.0.0.1:<port>/acfun-panel/diagnose
Interpretation:
client.available: true— the Host exposes theclientModulesservice.client.path: null— the Web carrier has no registered bundle for this package, soclient.jscannot be requested yet.client.entries— the composed boot graph, i.e. every client module the page would load.dsh-plugin-acfunis absent.
Conclusion: the Host half is fine; the Client half has not been composed. The
graph is built from the live Loader entry set at boot, so a package that gains a
dsh.client declaration after the page booted needs a Harness restart (and then
a page reload) — see client-panel.md.
Raw response:
{"ok":true,"client":{"available":true,"packageId":"dsh-plugin-acfun","path":null,"entries":[{"id":"@deepseek-ai/dsh-api-gateway","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-open-in-app","module":"","platform":""},{"id":"@deepseek-ai/dsh-api-job-controller","module":"","platform":""},{"id":"@deepseek-ai/dsh-api-terminal-controller","module":"","platform":""},{"id":"@deepseek-ai/dsh-api-workspace-files","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-settings-account","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-hmr","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-modules","module":"","platform":""},{"id":"@deepseek-ai/dsh-cordis-client-runner","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-theme","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-locale","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-shortcuts","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-shortcuts","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-layout","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-renderer","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-session","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-resources","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-sidebar","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-sidebar-right","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-sidebar-documentpreview","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-sidebar-browser","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-sidebar-terminal","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-sidebar-files","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-settings","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-settings-general","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-settings-models","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-plugin-manager","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-settings-plugin-inventory","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-conversation","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-approval","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-chat","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-brand-official","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-attachment","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-tool","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-cordis","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-workspace","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-workflow-run","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-input-trigger","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-commands","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-skill","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-subagent","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-reference","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-secret-mask","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-jobs","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-schedule","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-goal","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-message-feedback","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-model-selection","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-deepseek-model-label-1017","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-permission-presets","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-agent-preset","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-entry-customization","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-settings-session-log","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-settings-plugins","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-settings-shell","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-settings-agent-loop","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-settings-subagent","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-settings-web-search","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-plan","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-user-questions","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-trajectory","module":"","platform":""},{"id":"@deepseek-ai/dsh-experimental-client-ui-agent-team","module":"","platform":""},{"id":"@deepseek-ai/dsh-api-remote-access","module":"","platform":""},{"id":"@deepseek-ai/dsh-session-log-export","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-file-upload","module":"","platform":""},{"id":"@deepseek-ai/dsh-api-remotes","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-deliverables","module":"","platform":""},{"id":"@deepseek-ai/dsh-typert-registry","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-product-analytics","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-connection","module":"","platform":""},{"id":"@deepseek-ai/dsh-api-workspace-controller","module":"","platform":""},{"id":"@deepseek-ai/dsh-api-session-controller","module":"","platform":""},{"id":"@deepseek-ai/dsh-client-ui-directory-picker-native","module":"","platform":""}],"error":""}}