Skip to main content
Glama

Dsh model

dsh_model

List available models, inspect an existing session's current model selection, or choose a verified provider/model for that session.

Instructions

原生模型目录与选择(仅 web transport 可用;ACP 明确返回 UNSUPPORTED_TRANSPORT,绝不假装成功)。action=list 读取公开模型目录(provider/model/reasoning effort 与部署默认值);action=status 用 cwd 或 session_id 查看某个已有会话的 modelSelection projection(next/lastUsed),并以目录 default 作为尚无选择时的回退(current = projection.next ?? catalog.default,与原生 Web UI 一致);action=select 为已有会话选择 provider/model/可选 reasoning_effort:先按实时目录校验所有 id(禁止猜测),再调用一次原生 session/selectModel,然后回读 projection 与目录默认值并给出 verified。该原生 API 同时选择「本会话下一次请求」并尝试把同一选择保存为全局默认(保存失败仅由原生记日志),因此不是 session-only。本工具不创建/恢复/启动会话,不修改 settings.yaml,也不使用模型的自我描述作为身份依据。

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
cwdNostatus/select 的目标目录;与 session_id 同时给出时两者必须指向同一目录
modelNoselect 必填:该 provider 下确实存在的 model id(禁止猜测)
actionYes模型操作:list=读取公开模型目录;status=查看已有会话的当前选择;select=为已有会话选择模型
providerNoselect 必填:模型目录中确实存在的 provider id(禁止猜测)
session_idNostatus/select 的目标会话 id;必须是已存在的会话,本工具不会创建、恢复或启动任何会话
reasoning_effortNoselect 可选:该 model 暴露的 reasoning effort id;不传则由原生选择决定

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and delivers exceptionally. It discloses the transport constraint and exact failure mode (ACP returns UNSUPPORTED_TRANSPORT, never pretends success), the select-side-effect of also attempting to persist a global default (with failure only natively logged, hence not session-only), the status fallback formula (current = projection.next ?? catalog.default), the validation-before-write sequence, and the read-back verified result. No behavioral trait is left hidden.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place — there is no filler — and the core purpose plus transport caveat is front-loaded in the first clause. However, it is a single dense multi-clause paragraph in Chinese with nested parentheticals and no bullet or line-break structure, which makes it harder for an agent to parse than its information density justifies. Slightly restructured formatting would earn a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the real complexity (3 actions, 6 parameters, side effects, fallback logic, transport restrictions) and the absence of both annotations and an output schema, the description is remarkably complete. An agent receives everything needed to invoke correctly: action semantics, parameter constraints, failure modes, side-effect disclosure, and explicit non-behaviors. There is no material gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description adds genuine operational meaning on top — it maps each action to its parameter set, explains that select validates every id against the live catalog (禁止猜测), and that status accepts either cwd or session_id with an explicit fallback computation. The reasoning_effort defaulting behavior ('不传则由原生选择决定') reinforces the schema. The per-parameter descriptions in the schema already carry the basic semantics, and the description complements rather than repeats them.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource statement ('原生模型目录与选择' — native model catalog and selection) and precisely defines each of the three actions (list/status/select) with distinct semantics. It also draws scope boundaries against siblings by stating what the tool does not do (does not create/resume/start sessions, does not modify settings.yaml), so an agent can distinguish it from dsh_start/dsh_session/dsh_workspace.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Clear per-action routing is given: list for reading the public catalog, status for an existing session's current selection, select for choosing a model on an existing session, with the requirement that target sessions already exist. The description also gives explicit when-not conditions (no session creation/restoration, no settings.yaml changes, web transport only). It stops short of naming sibling tools as named alternatives — e.g., it never says 'use dsh_start to create a session' — so routing relies on exclusions rather than explicit alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.