You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Session-log and plugin-inventory upload apply to custom DEEPSEEK_BASE_URL endpoints
#9927
Hi, I'm evaluating DSH as an embedded runtime: one ACP subprocess per agent, model traffic through a gateway set with DEEPSEEK_BASE_URL.
With the shipped acp profile at 0.2.1-alpha.5, every Messages request body includes dsh_session_log and dsh_plugin_packages. The session-log-deepseek and plugin-package-inventory-deepseek READMEs describe these as being for official DeepSeek API requests. In practice they're keyed to the deepseek-official provider rather than the endpoint, so they're still sent when the base URL points somewhere else.
To reproduce
DEEPSEEK_BASE_URL=http://127.0.0.1:<port> pointing at any server that logs request bodies, DEEPSEEK_API_KEY=x, DSH_TELEMETRY_DISABLED=1.
dsh --profile acp, then initialize, session/new and one session/prompt.
Top-level keys of the request body: dsh_plugin_packages, dsh_session_log, max_tokens, messages, model, output_config, stream, system, thinking, tools. On the first call dsh_session_log was ~25 KB: system prompt, user message, runtime context, and request header including tool definitions.
This overlay removes both fields, and the conversation still works:
The opt-out works. The ask is about the default for embedders:
send these fields only when the request goes to the official endpoint, or when it's explicitly enabled; or
an environment switch, similar to DSH_TELEMETRY_DISABLED, for deployments that can't ship a profile overlay; and
a note in the README that they apply to custom base URLs too.
Context: Anthropic-compatible gateways may reject unknown top-level fields, and operators routing through their own gateway may not expect session-log content in request bodies.
Thanks for the detailed READMEs, which made this easy to track down.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
Hi, I'm evaluating DSH as an embedded runtime: one ACP subprocess per agent, model traffic through a gateway set with
DEEPSEEK_BASE_URL.With the shipped
acpprofile at0.2.1-alpha.5, every Messages request body includesdsh_session_loganddsh_plugin_packages. Thesession-log-deepseekandplugin-package-inventory-deepseekREADMEs describe these as being for official DeepSeek API requests. In practice they're keyed to thedeepseek-officialprovider rather than the endpoint, so they're still sent when the base URL points somewhere else.To reproduce
DEEPSEEK_BASE_URL=http://127.0.0.1:<port>pointing at any server that logs request bodies,DEEPSEEK_API_KEY=x,DSH_TELEMETRY_DISABLED=1.dsh --profile acp, theninitialize,session/newand onesession/prompt.dsh_plugin_packages, dsh_session_log, max_tokens, messages, model, output_config, stream, system, thinking, tools. On the first calldsh_session_logwas ~25 KB: system prompt, user message, runtime context, and request header including tool definitions.This overlay removes both fields, and the conversation still works:
Suggestion
The opt-out works. The ask is about the default for embedders:
DSH_TELEMETRY_DISABLED, for deployments that can't ship a profile overlay; andContext: Anthropic-compatible gateways may reject unknown top-level fields, and operators routing through their own gateway may not expect session-log content in request bodies.
Thanks for the detailed READMEs, which made this easy to track down.
All reactions