🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话模式切换器 my-dsh-plugin/agent-mode-switcher

DeepSeek Harness
my-dsh-plugin50 天前有提交已提供中文文档扫描:未发现敏感能力

模型回答后切换当前会话模式,继续同一段对话

30.5/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add my-dsh-plugin/agent-mode-switcher
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · skill
装得上吗
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L5 · 运行时冒烟等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 50 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包dsh-agent-mode-switcher(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/14 18:57:03

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-agent-presets@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-store@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-renderer@deepseek-ai/dsh-client-ui-slots
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 回答后切换会话模式
  • 保持同一对话继续

模型回答后切换当前会话的智能体预设(模式),继续聊天。DeepSeek Harness 插件:模型回答后切换模式,继续当前对话。

README

由 DeepSeek 最新模型翻译生成
dsh-agent-mode-switcher DeepSeek Harness 插件:模型回答完毕后,在当前会话中切换 agent preset(模式), 并继续同一段对话。 功能 会话标题栏本来就展示当前会话运行的模式(agent preset)——标准模式 / PTC 模式 / 极简模式或自定义预设。在原生 harness 里,对话一旦开始这个标签就只读,因为 agentPreset.select 会拒绝所有非空白会话。本插件: 1. 替换随附的标题栏标签,变成可交互的切换芯片(同一个 conversation.session.header.actions 单元格,id agent-preset)。 2. 选择其他模式走标准 agentPreset.select RPC,把当前会话的 agent 重新组装到目标 preset。会话、历史与 workspace 原地不动——只换工具/提示词组合,并且选择会写进会话日志,resume 或 fork 时重建同一模式。select 的应答会立即 更新会话摘要(与随附 seat 的做法一致),标题栏芯片无需刷新页面即可显示 新模式。 3. 模型回答中芯片禁用,宿主在回合运行期间也会拒绝切换。
展开完整文档(README 剩余 1 节)
dsh-agent-mode-switcher

DeepSeek Harness 插件:模型回答完毕后,在当前会话中切换 agent preset(模式), 并继续同一段对话。

功能

会话标题栏本来就展示当前会话运行的模式(agent preset)——标准模式 / PTC 模式 /
极简模式或自定义预设。在原生 harness 里,对话一旦开始这个标签就只读,因为 agentPreset.select 会拒绝所有非空白会话。本插件:

1. 替换随附的标题栏标签,变成可交互的切换芯片(同一个 conversation.session.header.actions 单元格,id agent-preset)。
2. 选择其他模式走标准 agentPreset.select RPC,把当前会话的 agent 重新组装到目标 preset。会话、历史与 workspace 原地不动——只换工具/提示词组合,并且选择会写进会话日志,resume 或 fork 时重建同一模式。select 的应答会立即
更新会话摘要(与随附 seat 的做法一致),标题栏芯片无需刷新页面即可显示
新模式。
3. 模型回答中芯片禁用,宿主在回合运行期间也会拒绝切换。

依赖

harness 目前还没有随上游发布「空闲会话可切换模式」的能力,所以今天需要一个打了随附补丁的 deepseek-harness 源码检出。未打补丁的 harness 对已开始的会话仍会回答 agent-preset-locked,切换器无法改模式。

安装

插件本身不需要构建。 仓库把构建好的 host 入口和浏览器 bundle 提交在 lib/ 里,安装就是克隆/拉取加一条 CLI 命令——不需要在本仓库 pnpm install, 不需要 prepare 脚本,也不需要 allowBuilds 审批。整个流程里唯一要构建的是第 1 步给 harness 打补丁后的 harness 自身。

1. 给 harness 打补丁

在本仓库目录下,对 deepseek-harness 源码检出执行:

node scripts/apply-patch.mjs /path/to/deepseek-harness
cd /path/to/deepseek-harness
npm run build:lib:host

补丁(patches/dsh-agent-preset-mid-conversation-switch.patch)把
agentPreset.select 的守卫从「仅空白」放宽为「未在运行回合」,让已开始但空闲的会话也能切换模式。它是纯增量改动——空白会话的既有行为不变。

2. 安装插件(无需构建)

本地克隆(推荐迭代用)——以 link 方式安装,直接使用已提交的 lib/;
在克隆里 git pull 即可更新插件,无需任何构建:

git clone https://github.com/my-dsh-plugin/agent-mode-switcher.git
pnpm dsh plugin add --profile web /path/to/agent-mode-switcher

(dsh CLI 来自你的 harness 检出;若 DSH_HOME 不是默认的 ~/.dsh,请设置。)

直接走 git——pnpm 拉取仓库并使用已提交的 lib/,不会执行构建脚本:

pnpm dsh plugin add --profile web github:my-dsh-plugin/agent-mode-switcher

dsh plugin add 会添加依赖并整理 dsh.profile.bundles 列表。手动等价做法是
编辑 profile 的 package.json:

"dependencies": {
"dsh-agent-mode-switcher": "link:/path/to/agent-mode-switcher"
}

"dsh": {
"profile": {
"bundles": ["@deepseek-ai/dsh-base", "@deepseek-ai/dsh-web-app", "dsh-agent-mode-switcher"]
}
}

然后在 profile 目录里 pnpm install。

3. 重启并验证

重启 harness(npx @deepseek-ai/dsh web 或你惯用的方式)。打开任意已开始的会话:标题栏的 agent-preset 标签现在是切换芯片。模型回答完毕后选择其他模式, 芯片会立即更新,并在同一会话里继续对话。

- 芯片在,但选择模式没反应 → 补丁没有进入正在运行的构建(检查第 1 步的重建, 或旧进程没有完全停止)。
- 芯片完全不见 → 插件没有进入当前 profile 的 bundle 层(重新 dsh plugin add, 检查 bundles 列表)。

DeepSeek Harness Desktop(桌面端)一键安装

桌面端用户既不需要 harness checkout,也不需要打核心补丁:桌面端 harness 由 my-dsh-plugin fork 构建,已内置会话中切换 agent-preset 的支持。在普通终端执行一次(不要在 App 自带的 harness 会话里跑——那里的应用安装目录和 App 数据目录是沙箱/只读的,macOS 尤其如此):

bash 使用已发布桌面包的最终用户无需任何手动步骤 —— 升级重启即可;插件已 seed,白名单已在随包 harness 中。

维护

补丁基于当前 api-proxy 的 select 守卫,harness 上游移动后需要重新生成并验证: sh
node scripts/regenerate-patch.mjs /path/to/deepseek-harness
git -C /path/to/deepseek-harness stash
git -C /path/to/deepseek-harness apply --check /path/to/agent-mode-switcher/patches/dsh-agent-preset-mid-conversation-switch.patch
git -C /path/to/deepseek-harness stash pop

重新生成只覆盖本插件的核心扩展(三个 api-proxy 文件)。如果扩展已提交到分支,
用 DSH_PATCH_BASE= 指定基准。

开发

构建只用于修改插件本身,使用者从不构建。它需要 sibling 的 deepseek-harness 检出(../deepseek-harness),因为客户端 bundle 由共享的 harness preset 产出: sh
pnpm install
pnpm test # vitest: controller 与 select-echo 套件
pnpm typecheck # 针对 harness 检出执行 tsc -b 覆盖 src + tests
pnpm build # tsc 声明 + tsdown host + 客户端 bundle 到 lib/

构建后请把 lib/ 提交进仓库,这样使用者能持续拿到预构建产物(link 安装的 profile 只需 git pull 即可更新)。

取舍

切换已开始对话的模式,之前组合产出的历史(新工具集无法调用的已记录工具调用)
由调用方接受。回合运行中禁止切换,运行中请求所依据的工具 schema 不会在回答中途改变。

已知限制与暂缓事项

- 标题栏渲染处即提供切换;有待处理交互(如审批对话框)的会话仍可能切换,宿主
守卫(仅限运行中)是唯一强制。
- 名单刷新依赖 settings/document-updated 事件与组件自身加载;其他机器上创作的 preset 需要重新加载会话才会出现,与随附的 agent-preset 界面一致。
- 其他打开的标签页需要刷新才能看到新模式(与随附 agent-preset 界面一致)。

License

Apache-2.0
预览分享卡片长什么样 ↓my-dsh-plugin/agent-mode-switcher
分享 · DeepSeek Harness Hub
my-dsh-plugin/agent-mode-switcher

模型回答后切换当前会话模式,继续同一段对话

这是你的仓库?认领条目

回到顶部