npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@crazx/dsh-agent-default-model

v0.2.1-rc.2.zw.9

Published

Default model selection shared by Agent entry points

Readme


description: "面向用户与维护者的部署默认模型选择说明,用于选择、配置或调试新创建的 agent(智能体)初始使用哪个模型。" kind: "package-reference"

@deepseek-ai/dsh-agent-default-model

English | 中文

概述

为会话未指定模型的新 agent 提供共享默认 provider 和模型。Provider、模型和推理强度都是即时 Config 字段。保存的选择更新当前 profile patch,并用于后续读取;会话级选择仍由入口负责。

  • ctx.agentDefaultModel.currentSelection() 返回一份分离的 { provider, model, reasoningEffort? } 选择,供新创建的 Agent 使用。
  • ctx.agentDefaultModel.saveSelection(selection) 保存完整的用户选择。未挂载设置提供方时,此调用不执行任何操作,组合配置项仍为当前值。
  • ctx.agentDefaultModel.recallEffort(provider, model) 返回用户在该路由上最后一次显式选择的推理强度;没有记忆时返回 undefined。
  • ctx.agentDefaultModel.rememberEffort(provider, model, effort?) 记录——或在 effort 为 undefined 时清除——该路由的记忆强度。未挂载设置提供方时同样不执行任何操作。

被记忆的强度存放在独立的 agent-model-efforts Settings 分节(以提供方/模型为键的条目列表),因此切换默认选择不会覆盖它们。该服务只保存被告知的值;咨询记忆的消费方会对照模型的实时能力校验,因为被记住的等级可能比当初提供它的声明活得更久。

目录


使用本包

在创建 agent 且未显式给出模型路由的任何地方挂载本包。该服务回答一个问题——新 agent 应该使用哪个模型?——因此创建 agent 的入口查询它,而不必重新实现默认值。

配置默认值

组合要求提供 provider 和模型。即使没有挂载配置编辑器,消费者也可读取即时引用。

- name: '@deepseek-ai/dsh-agent-default-model'
  config:
    provider: deepseek
    model: deepseek-chat

| 字段 | 默认值 | 含义 | |---|---|---| | provider | 必填 | 新 agent 使用的已注册提供方路由 | | model | 必填 | 新 agent 使用的、由提供方持有的模型 id |

生成的配置目录 列出所有接受的字段。reasoningEffort 是可选的;保存不含此字段的选择,会从 profile 的完整配置覆盖中移除此字段。

读取与更改默认值

currentSelection() 为新创建的 agent 返回一份独立的 { provider, model, reasoningEffort? };saveSelection() 为后续 agent 保存完整选择。

const selection = ctx.agentDefaultModel.currentSelection()
await ctx.agentDefaultModel.saveSelection({ provider, model, reasoningEffort: 'high' })

没有配置编辑器时,saveSelection() 不执行写入。此服务不验证目录成员资格;发起模型请求的消费者负责可用性诊断。


理解实现

本节解释该服务如何实现上述行为;可观察约定已在使用本包中完整说明。

设计理念

此服务保留已验证的 Config 引用,并在 currentSelection() 中读取。saveSelection() 捕获提交值,并按提交顺序串行写入 profile,包括调用重叠的情况。每个调用方收到各自的写入失败;一次写入被拒绝不会阻止后续保存。消费者优先使用会话级选择。

源码地图

| 文件 | 职责 | |---|---| | src/index.ts | 即时默认选择与 profile 写入 |

行为说明

currentSelection() 返回分离的选择值。已捕获的选择保持稳定,后续操作则读取更新后的 Config 引用。


进一步探索

包级约定对大多数消费方已经足够;需要周边领域时再阅读以下页面。


模型体验

通过该服务提供给入口的 ModelSelection 间接影响;模型可见请求由请求组装与提供方适配器负责。

KV Cache 影响

更改默认值只影响之后从它解析选择的 agent。请求日志已经指明选择的现有会话仍沿用该选择,因此本服务不会使其已建立的前缀失效。

已知限制与延期工作

这些限制界定该服务的范围。它们是当前包约束,不是任务积压。

  • 单一的进程级默认值——该服务只拥有一个默认值;按会话的模型选择仍由入口负责。
  • 持久化需要 profile 配置编辑器——没有编辑器时,保存默认值不会保留选择,rememberEffort() 也无法记住等级。
  • 推理记忆无上界——记忆按用户显式调过的路由各存一条,不会自动清理(陈旧条目在咨询时丢弃)。

开发备注

无。