在侧边栏切换助手人设,让当前会话按人设对话
27.5/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/9/19 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Starlight-bananice/dsh-zhushou该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:待复验
是什么
dsh 原生插件 · skill
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 70 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 30 处,展示前 26 条)
- 发起网络请求lib/client.js:756
res = await fetch(API_BASE + path, { - 写入本地文件lib/store.js:39
mkdirSync(dir, { recursive: true }); - 写入本地文件lib/store.js:45
writeFileSync(tmp, JSON.stringify(data, null, 2), 'utf8'); - 写入本地文件lib/store.js:46
renameSync(tmp, file); - 读取本地文件lib/store.js:50
if (!existsSync(file)) - 读取本地文件lib/store.js:52
const text = readFileSync(file, 'utf8'); - 写入本地文件lib/store.js:58
appendFileSync(file, JSON.stringify(entry) + '\n', 'utf8'); - 读取本地文件lib/store.js:62
if (!existsSync(file)) - 读取本地文件lib/store.js:64
const text = readFileSync(file, 'utf8'); - 写入本地文件lib/store.js:83
writeFileSync(file, rows.map(r => JSON.stringify(r)).join('\n') + (rows.length > 0 ? '\n' : ''), 'utf8'); - 读取本地文件lib/store.js:139
if (!existsSync(this.dir)) - 读取本地文件lib/store.js:142
for (const name of readdirSync(this.dir)) { - 删除本地文件lib/store.js:241
unlinkSync(file); - 发起网络请求src/client/api.ts:54
res = await fetch(API_BASE + path, { ...init, headers }) - 写入本地文件src/store.ts:54
mkdirSync(dir, { recursive: true }) - 写入本地文件src/store.ts:61
writeFileSync(tmp, JSON.stringify(data, null, 2), 'utf8') - 写入本地文件src/store.ts:62
renameSync(tmp, file) - 读取本地文件src/store.ts:67
if (!existsSync(file)) return undefined - 读取本地文件src/store.ts:68
const text = readFileSync(file, 'utf8') - 写入本地文件src/store.ts:75
appendFileSync(file, JSON.stringify(entry) + '\n', 'utf8') - 读取本地文件src/store.ts:80
if (!existsSync(file)) return [] - 读取本地文件src/store.ts:81
const text = readFileSync(file, 'utf8') - 写入本地文件src/store.ts:98
writeFileSync(file, rows.map(r => JSON.stringify(r)).join('\n') + (rows.length > 0 ? '\n' : ''), 'utf8') - 读取本地文件src/store.ts:174
if (!existsSync(this.dir)) return [] - 读取本地文件src/store.ts:176
for (const name of readdirSync(this.dir)) { - 删除本地文件src/store.ts:268
unlinkSync(file)
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools@deepseek-ai/dsh-client-ui-slots给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 侧边栏管理助手
- 切换助手人设
- 按人设对话
DSH 侧边栏助手插件(dsh-zhushou):在侧边栏管理/选择助手,选中后在 DSH 会话内直接以助手人设对话;不选则保持原生会话。
README
由 DeepSeek 最新模型翻译生成dsh-zhushou · 助手人设,直接在你的 DSH 会话里
DeepSeek Harness(DSH)侧边栏助手插件:侧边栏『助手』选项 → 管理/选择助手 → 选中后在 DSH 主会话内直接以助手人设/模型/参数对话(世界书、记忆、时间感知一并生效);不选则保持原生会话。
DSH version npm license topic
English ·
概述
解决什么问题: 想在多个助手人设(编程导师、翻译、写作助手……)之间切换,却不想开多个应用、多个聊天窗,或每会话手改系统提示词。
dsh-zhushou 做什么: 侧边栏『助手』入口打开管理面板,创建/编辑助手——名称、头像、标签、绑定工作区、模型参数、系统提示词+变量、快捷回复、注入模式、世界书、skill 开关与记忆。选中助手即激活会话级激活管线:该 DSH 会话内每次 LLM 请求都会被重建(人设/模型参数/注入块/世界书/记忆/时间感知行)。取消选择(或删除助手)即恢复原生。
展开完整文档(README 剩余 1 节)
dsh-zhushou · 助手人设,直接在你的 DSH 会话里
DeepSeek Harness(DSH)侧边栏助手插件:侧边栏『助手』选项 → 管理/选择助手 → 选中后在 DSH 主会话内直接以助手人设/模型/参数对话(世界书、记忆、时间感知一并生效);不选则保持原生会话。
DSH version npm license topic
English ·
概述
解决什么问题: 想在多个助手人设(编程导师、翻译、写作助手……)之间切换,却不想开多个应用、多个聊天窗,或每会话手改系统提示词。
dsh-zhushou 做什么: 侧边栏『助手』入口打开管理面板,创建/编辑助手——名称、头像、标签、绑定工作区、模型参数、系统提示词+变量、快捷回复、注入模式、世界书、skill 开关与记忆。选中助手即激活会话级激活管线:该 DSH 会话内每次 LLM 请求都会被重建(人设/模型参数/注入块/世界书/记忆/时间感知行)。取消选择(或删除助手)即恢复原生。
功能亮点:
- 会话级激活 — 选择状态按 DSH 会话存于 selection.json;激活管线拦截 llm/stream(sessionId 精确匹配 + purpose === undefined 过滤,排除压缩/标题/子代理调用)并短路重建请求
- 助手档案 — 名称 / 头像(dataURL 或 URL)/ 标签 / 绑定工作区
- 模型参数 — 模型(空=跟随主模型)/ 温度 / Top-P(预留)/ 思考强度 / 最大 Token / 上下文条数 / 流式开关
- 系统提示词引擎 — 模板 + 双语法变量({{var}} 与 {var})+ 每助手变量覆盖
- 快捷回复 — 一键发送的预写消息模板(绑定助手)
- 注入模式 — role(system/user/assistant)+ position(before/after/replace)+ trigger(always/keywords)
- 世界书 — 关键词命中 → 按 priority 降序 → token 预算(1024)截断 → 注入
- Skill — 从 ctx.skills.list() 枚举并按助手启用/禁用
- 记忆与时间感知 — 全局/私有记忆池、参考聊天记录开关、时间感知开关(把当前时间/上次对话时间/间隔注入为自然上下文行,无命令式「时间提醒」消息)
- 侧边栏 UI — sidebar.footer.action 文字选项(含选中态)+ shell.overlay 管理面板(选择/取消/编辑/复制/删除)+ settings.section 设置页
- 干净交接 — 不选 = 完全原生会话;取消选择立即恢复原生
兼容性
| 项目 | 值 |
| DSH 版本 | 0.1.1-rc.2(主线 master) |
| 运行时 | Node ≥ 22(host)+ 现代浏览器(client);无外部服务 |
| 数据 | ${DSH_HOME \|\| ~/.dsh}/dsh-assistant-panel/(助手/选择/记忆;可在设置页覆盖) |
安装 / 卸载
安装
从 npm 安装(推荐)
dsh plugin --profile web add @bananiceee/dsh-zhushou
或固定精确版本
dsh plugin --profile web add @bananiceee/dsh-zhushou@0.0.1
或从 GitHub 仓库安装
dsh plugin --profile web add github:Starlight-bananice/dsh-zhushou
或从本地 checkout 装配进 profile
dsh plugin --profile web add ../dsh-assistant-panel
或固定 release tarball——不可变且带版本(每次 GitHub Release 均附带)
dsh plugin --profile web add https://github.com/Starlight-bananice/dsh-zhushou/releases/download/v0.0.1/bananiceee-dsh-zhushou-0.0.1.tgz
注意: pnpm 11 对刚发布的包强制 24h minimumReleaseAge——如果当天发布的版本被拒绝,给 dsh plugin add 追加 --config.minimumReleaseAge=0。
注意: 仓库已提交预构建的 lib/ 产物——git 安装开箱即用,无需构建。加入插件、重启 DSH Web 即可。
或运行时注入、免重启(开发者流程) dev_inject_plugin / dsh-super-injector → 指向本仓库目录
随后启动/重启 DSH Web。无需任何配置——侧边栏底部出现『助手』入口。
升级
npm 安装:直接更新到 registry 最新版
dsh plugin --profile web update @bananiceee/dsh-zhushou
github: 安装按安装时的 commit 固定——重新 add 更新的 ref 升级:
dsh plugin --profile web remove @bananiceee/dsh-zhushou
dsh plugin --profile web add github:Starlight-bananice/dsh-zhushou#v0.0.1
停用
- 只停激活、保留数据 — 在管理面板取消选择助手:所有会话恢复原生;助手与记忆原地保留。
- 彻底停用插件 — 从 profile 的 bundles 列表移除;重新加入即恢复。
卸载
dsh plugin --profile web remove @bananiceee/dsh-zhushou
遗留数据: ${DSH_HOME || ~/.dsh}/dsh-assistant-panel/(设置/选择/助手/记忆)不会被删除——如需清空请手动移除。
快速上手
1. 安装(见上),重启 DSH Web。
2. 点击侧边栏底部的『助手』→ 打开管理面板。
3. 创建助手(名称、头像、模型参数、系统提示词、世界书、skill、记忆……)并保存。
4. 为当前会话选中它——面板显示当前选择状态;此后本会话的每次回复都使用该助手的人设与参数。
5. 取消选择即回到原生会话。
功能清单
| 功能 | 说明 |
| 助手档案 | 名称 / 头像(dataURL 或 URL)/ 标签 / 绑定工作区 |
| 模型参数 | 模型(空=跟随主模型)/ 温度 / Top-P(预留)/ 思考强度 / 最大 Token / 上下文条数 / 流式开关 |
| 系统提示词 | 模板 + 变量双语法({{var}} 与 {var})+ 自定义变量覆盖 |
| 快捷回复 | 一键发送的预写消息模板(绑定助手) |
| 注入模式 | role(system/user/assistant) + position(before/after/replace) + trigger(always/keywords) |
| 世界书 | 关键词命中 → 按 priority 降序 → token 预算(1024)截断 → 注入 |
| Skill | 从 ctx.skills.list() 枚举并按助手启用/禁用 |
| 记忆 | 全局/私有池开关、参考聊天记录、时间感知开关(注入当前时间/上次对话时间/间隔为自然上下文) |
| 会话级选择 | selection.json 按 DSH 会话记录选中助手;选中即在主会话注入(人设/模型参数/世界书/记忆),取消即恢复原生 |
| 侧边栏 UI | sidebar.footer.action 文字选项(含选中态)+ shell.overlay 管理面板(选择/取消/编辑)+ settings.section 设置页 |
HTTP API
根路径:/assistant-panel/api(prefix 路由,同源本机服务,无鉴权)。统一信封:{ ok: true, data } / { ok: false, error: { code, message, details? } }。
| 方法/路径 | 用途 |
| GET /health | 健康检查(版本 / dataDir / uptime) |
| GET /assistants · POST /assistants | 助手列表摘要 / 创建 |
| GET /assistants/:id · PUT /assistants/:id · DELETE /assistants/:id | 读取 / 部分更新 / 删除(连带私有记忆) |
| POST /chat | SSE 聊天(已退役:主会话对话,激活见 docs/ARCHITECTURE-ACTIVATION.md) |
| GET /chats… | 会话列表 / 历史 / 删除(已退役,历史由 DSH 会话承载) |
| GET /selection?sessionId= · POST /selection | 会话级助手激活/取消({sessionId, assistantId\|null};null=恢复原生) |
| GET /memory?global=&assistantId= · POST /memory · PUT /memory/:id · DELETE /memory/:id | 记忆条目 CRUD |
| GET /skills?cwd= | skill 枚举(ctx.skills.list) |
| GET /models | 提供商/模型枚举(含 default 主模型标记、思考强度档位、上下文窗口) |
| GET /workspaces | 工作区枚举(ctx.workspaceRegistry.list) |
| GET /profile · PUT /profile | 插件身份/本地化(userName/locale/timezone/dataDir) |
数据布局
数据根(可经 PUT /profile 的 dataDir 覆盖):${DSH_HOME || ~/.dsh}/dsh-assistant-panel/
settings.json # 插件级设置(userName/locale/timezone/dataDir) selection.json # 会话级选择状态(sessionId → {assistantId, lastChatTs}) assistants/.json # 助手档案(原子写:tmp + rename) global-memory.jsonl # 全局记忆池 memory/.jsonl # 助手私有记忆池 chats/ 已退役:聊天历史由 DSH 会话(~/.dsh/sessions)承载
已知限制
1. Top-P 暂不生效:DSH GenerateOptions / LlmCallConfig 当前没有 topP 字段(DESIGN 调研核实)。本插件将其作为设置保留、参与校验与持久化,但不传给 ctx.llm.stream;官方支持后接线。
2. 会话模型 UI 显示不随激活变化:选中助手后,人设/模型/参数覆盖仅作用于 llm/stream 请求层(激活管线,见 docs/ARCHITECTURE-ACTIVATION.md);会话头部与 DSH UI 显示的 provider/model 仍是原值。后续如需展示可走 request-inspection 投影(本期不做)。
3. 官方 system 可被助手人设替换:激活时 rebuilt.system 以助手组装段为主体(人设优先);助手 system 为空时保留官方 system。
4. 注入不进会话日志:激活注入只作用于请求面,session/event 记录的仍是原始消息(一致性优先)。
5. reasoningEffort 就近映射:DSH 仅 off/low/high/max 四档;medium 由 host 映射为 low;auto 不传(服务端默认)。
6. 记忆抽取未闭环:记忆注入(关键词+时间衰减取 top 5)与 CRUD 已实现;「fast model 自动抽取事实 → 写入记忆池」的异步抽取仍未接线(记忆条目由用户在设置页手动维护)。
7. skill 面板受 host 运行时影响:ctx.skills.list() 返回当前运行时注册的技能(如 vision-skills),非编译期全量目录。
8. 多模态未支持:仅文本消息;图片等后续版本扩展。
开发
重建 host + client(需要 DeepSeek Harness checkout;自动探测 DSH_CHECKOUT 或常见路径)
DSH_CHECKOUT=~/deepseek-harness bash scripts/build.sh
npm run build:client # tsdown → lib/client.js
校验已提交的 lib/ 与 src/ 同步(完整重建 + 字节级 diff)
npm run verify
启用 pre-push 守护(src/ 或构建配置变更时自动跑 verify.sh)
git config core.hooksPath .githooks
运行时注入、免重启(dsh-super-injector 流程)
dev_build_plugin { "dir": "/path/to/dsh-assistant-panel" }
dev_inject_plugin { "dir": "/path/to/dsh-assistant-panel" }
dev_plugin_status
dev_uninject_plugin { "match": "dsh-zhushou" }
文档
- docs/ARCHITECTURE.md — 整体架构
- docs/ARCHITECTURE-ACTIVATION.md — 激活管线(llm/stream 短路重建)
- docs/DESIGN-ACTIVATION.md — 激活设计的源码级 API 调研
- docs/DESIGN.md — 原始产品调研
许可证
MIT © 2026 Starlight-bananice预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Starlight-bananice/dsh-zhushou
在侧边栏切换助手人设,让当前会话按人设对话
相关插件 · 技能 / 提示词
人设统管ZiChuanLan/agent-purge
一份人设,统一管理多个 coding agent。
★ 991已汉化DSH
73.9
人物画像蒸馏titanwings/distilly
Distilly — 把他们的思考方式提炼成可复用的技能,供任何智能体或机器人使用。原名 Colleague Skill(原同事 Skill)。
★ 25,659已汉化DSH
71.3
推理工作空间套件Tiger3807861189/J-Space-Cognition-Suite
J-Space 是面向复杂推理、大型仓库工程、子代理协作与授权安全分析的推理时工作空间和控制套件。
★ 2,957已汉化DSH
70.5
两阶段工具锚定预设xiaobright/dsh-anchored-standard
实验性 DeepSeek Harness agent preset…
★ 3,742已汉化DSH
70.1
智能体工作流编排nrslib/takt
不再日夜盯着 AI 编码智能体。
★ 1,402已汉化DSH
70
Agent 运行时手册Electricitysheep/dsh-handbook
DeepSeek Harness dsh 从 0 到 1 深度手册:安装/插件开发/性能调优/实测案例/同模型多…
★ 827已汉化DSH
68.7
这是你的仓库?认领条目