dsh_agentlink
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DSH_HOST_URL | No | Explicit URL of the DSH Web Host. When set, this always wins over automatic host discovery. | |
| DSH_HOST_MODE | No | Optional host discovery mode. Set to 'desktop-auto' on Windows to automatically discover the verified loopback listener owned by DSH Desktop instead of relying on its changing ephemeral port. | |
| DSH_BRIDGE_HOME | No | Directory used for bridge state such as the coordination ledger, locks, and task mappings. Should be on a reliable local filesystem and should not be shared with a different bridge implementation or copied to another machine. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dsh_host_statusA | Report the connect-only bridge state and current official DSH Web Host capabilities. |
| dsh_find_sessionsA | Read bounded metadata for existing root sessions from DSH session.list. It can filter titles exactly or by a case-sensitive substring, or narrow candidates by an exact canonical cwd, an unambiguous BridgeTask mapping, or idle state; it returns no history or raw projections. These filters narrow candidates but never authorize automatic selection, history reads, attachment, or prompting. Use the returned exact sessionId and precondition fields with dsh_attach_session; never select a session by title alone. |
| dsh_attach_sessionA | Attach one idle existing root DSH session to the bridge using its exact sessionId and fresh discovery preconditions. This creates or reuses bridge-local mapping/claim state and starts normal supervision reconciliation: it does not prompt DSH, create or rename a DSH session, return or persist conversation bodies, or change model routing. After success, use dsh_followup with a compact handoff when work should continue. |
| dsh_delegateA | Create a root session on the configured official DSH Web Host and queue the initial prompt. Before calling, put a compact handoff in prompt from known progress plus read-only Git/workspace evidence; identify focus paths and tell DSH to read those focus paths first instead of scanning the whole repository unless blocked. An explicit user choice of modelProfile or reasoningEffort always takes precedence. Otherwise the caller may choose pro for complex work and a modlens profile for visual work whose local image paths are included in the prompt; omit routing fields to inherit DSH's configured model. Explicit selection uses session.selectModel, which also persists the selection as the DSH default for later sessions. Detached by default. workspaceMode is only a bridge-local cooperative claim and does not select or verify the DSH sandbox. |
| dsh_followupA | Continue the same known BridgeTask and root DSH session instead of creating another delegation for the same work. Never guess an old task id; start a fresh delegation when no matching task id is known. queue targets the next turn; steer targets the active turn's next step. Optional semantic model routing is catalog-validated and re-read before the prompt; selection failure sends no prompt, but an attempted session.selectModel may already have persisted as the DSH global default. Omit routing to inherit. The write is never automatically retried. |
| dsh_continueA | Compatibility alias for dsh_followup. Continue the same known BridgeTask and root DSH session instead of creating another delegation for the same work. Never guess an old task id; start a fresh delegation when no matching task id is known. queue targets the next turn; steer targets the active turn's next step. Optional semantic model routing is catalog-validated and re-read before the prompt; selection failure sends no prompt, but an attempted session.selectModel may already have persisted as the DSH global default. Omit routing to inherit. The write is never automatically retried. |
| dsh_statusB | Return separate availability/execution state, root and descendant sessions, queue depths, pending interactions, final message, bridge cursor/watermarks, and bridge-local workspace claim semantics. |
| dsh_tailB | Read bounded event digests using bridge coordination cursors. Conversation content is fetched from DSH history when reachable and is never copied into bridge persistence. |
| dsh_waitA | Wait at most 30 seconds for a new task cursor, status/availability change, terminal state, or pending interaction. It never waits for whole-task completion. |
| dsh_observeB | Compatibility observation alias. Prefer dsh_wait plus dsh_tail task cursors. |
| dsh_cancelA | scope=turn cancels only the active root turn and preserves queued work. scope=queue non-atomically removes each item from the latest mux queue snapshot. |
| dsh_listA | List bridge task mappings enriched with current derived DSH status and bridge-local workspace claim semantics when the Host is reachable. |
| dsh_release_workspaceA | Explicitly release this bridge task's persistent workspace claim. This does not close the DSH session or stop other clients from editing the directory. |
| dsh_answer_questionA | Answer one currently pending typed DSH question request. The requestId, task lineage, question ids/order, and selections are validated locally before one non-retried /api/respond write. |
| dsh_resolve_approvalA | Resolve one pending DSH sandbox-escalation approval as allow_once or reject. Never auto-allows; keep this tool behind the caller's human approval prompt before permitting allow_once. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 15 tools
Most tools are distinct and the descriptions carefully narrow their responsibilities, but dsh_continue is an explicit compatibility alias for dsh_followup and dsh_observe blurs into dsh_wait/dsh_tail territory. The duplicated entry points are documented clearly enough that an agent can choose correctly, though they still reduce clarity.
Naming is generally predictable: almost every tool uses the dsh_ prefix and snake_case, with clear action nouns like find_sessions, attach_session, resolve_approval, and release_workspace. Minor deviations such as dsh_status, dsh_list, dsh_tail, and the alias-style dsh_continue/dsh_observe keep it from being perfectly systematic.
Fifteen tools is a reasonable size for a session/bridge management server, and the set stays around the core lifecycle area. The count is slightly inflated by the compatibility aliases dsh_continue and dsh_observe, which could be removed or hidden without losing functional scope.
The toolset covers the major workflow: find/attach sessions, delegate work, follow up, observe status, cancel work, answer questions, and handle approvals. The most obvious gap is the lack of an explicit session close/detach or full task-level teardown operation, though much of the surrounding lifecycle is present.