Uersx/dsh-dashscope-tool-adapter0

dsh-dashscope-tool-adapter

DSH plugin: adapts DashScope/闂傚啫娼¢崳閿嬬閹寸姵顏ラ柣?DeepSeek endpoints that lack native tool calling by converting tool definitions to prompt text and parsing model responses for tool calls.

包名
dsh-dashscope-tool-adapter
版本
0.1.3
最近更新
2026年8月18日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Uersx/dsh-dashscope-tool-adapter

dsh-dashscope-tool-adapter

DSH plugin: adapts DashScope / 阿里云百炼 DeepSeek endpoints that lack native tool calling.

Problem

DashScope's OpenAI-compatible endpoint (https://dashscope.aliyuncs.com/compatible-mode/v1) does not support native tool calling (function calling) for DeepSeek models. When DSH sends tool definitions, the API either ignores them or rejects the request.

Solution

This plugin converts tool definitions into prompt text and parses the model's text response for `` markers. It then constructs standard BlockAssembler-compatible tool-call chunks, which the DSH agent loop executes natively.

  • Non-DashScope providers: untouched, native tool calling works as usual.
  • DashScope providers: tools are described in the system prompt, and the model calls them via text markers.

Installation

dsh plugin add github:Uersx/dsh-dashscope-tool-adapter

Or manually:

dsh plugin --profile web add github:Uersx/dsh-dashscope-tool-adapter

How it works

  1. A systemPrompt.section() injects text-based tool descriptions into the system prompt.
  2. The llm/stream waterfall intercepts only DashScope calls.
  3. The model outputs {"name":"...","arguments":{...}} in its text.
  4. The plugin parses these markers and constructs standard tool-call-delta / block-end chunks.
  5. The DSH agent loop executes the tools natively.

License

MIT