deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
简体中文 · English
dsh plugin --profile web add github:xinspark/dsh-better-session-title#v1.0.0
Better Session Title 是面向 DeepSeek Harness 的会话顶栏增强插件——纯 UI 增强,不引入新能力,不改任何系统源码。DSH 原生顶栏中央只显示会话标题(层级面包屑),工作区/会话的切换入口在左侧边栏;侧边栏收起时,每次切换都要额外点击。本插件把切换入口直接放进顶栏:
行内操作全部复用 DSH 原生能力:重命名工作区/会话、删除工作区、分支会话、归档会话,与原生侧边栏行为完全一致。
支持 Windows · macOS · Linux(DSH Web GUI)——纯 JavaScript,无原生依赖,分发无需构建步骤。
dsh-better-session-title 是一个组合包(bundle)——以包形式分发的配置补丁层(见 DSH 官方插件发布文档)。用 dsh plugin 命令安装进 profile:它会自动链接包并追加到 dsh.profile.bundles:
# 从 GitHub 安装(主分发渠道,v1.0.0 为当前发布 tag)
dsh plugin --profile web add github:xinspark/dsh-better-session-title#v1.0.0
建议锁定 commit:GitHub 安装拉取的是仓库源码,tag 之后的新推送不会自动影响已安装版本;如需把运行内容严格固定到某个提交,用 github:xinspark/dsh-better-session-title#<commit-sha>(官方文档推荐做法)。
本地目录 / tarball(开发或离线环境):
dsh plugin --profile web add ./dsh-better-session-title
dsh plugin --profile web add ./dsh-better-session-title-1.0.0.tgz
然后启动 Web UI:dsh web(或 dsh --profile web)。首次 add 会自动用 @deepseek-ai/dsh-base 初始化 profile。
卸载:dsh plugin --profile web remove dsh-better-session-title(同时移除依赖与组合层)。
插件的 bundle 补丁(cordis.patch.yml)会自动注册 host 与 client 两半。客户端按请求加载:客户端改动刷新页面即可,host 改动需要重启。
| 能力 | 说明 |
|---|---|
| 两级面包屑 | 顶栏左侧以「工作区 / 会话」展示当前位置,两侧各自展开下拉列表;空间不足时自动折叠为图标(悬停/点击仍可用)。 |
| 工作区下拉 | 工作区列表(含会话数元信息)、添加工作区(原生目录选择器)、行内更多:重命名 / 删除工作区。 |
| 会话下拉 | 当前工作区的会话列表(含相对时间元信息)、新建会话、行内更多:重命名 / 分支 / 归档会话。 |
| 原生一致的交互 | 下拉为自绘层,样式逐值复刻原生 Menu.module.css(行高 40、padding 8/10、圆角 10、同款 shadow/边框 token);更多菜单、重命名/删除对话框全部使用原生 Menu / Modal / Button / Input(autoFocus、全选、输入法组合 Enter 防误触、工作区重复名校验、错误行)。 |
| 生命周期一致 | 更多菜单跟随其所在下拉同生命周期:下拉关闭(点击外部 / Escape / 选择 / 切换)时菜单一并关闭,不残留孤立菜单。 |
| 双语言 | 内置 zh/en 双语言字典,跟随 DSH 语言切换实时生效。 |
会话下拉展开——切换会话、新建会话:

会话更多菜单——悬停行尾,重命名/分支/归档:

工作区下拉展开——切换工作区、添加工作区:

安装后,打开任意会话,顶栏中央即显示「工作区 / 会话」面包屑:
Esc 关闭下拉。dsh-basic-right-sidebar 把本插件作为子插件随 bundle 一并安装:它的 package.json 声明本包为依赖、cordis.patch.yml 同时插入两行插件;其「启用会话顶栏工作区/会话面包屑」设置通过全局快照 window.__BASRS_SETTINGS__ 与 'basrs:settings' 事件实时控制本插件(关闭时本插件隐藏面包屑、恢复原生标题)。
insert 是追加语义)。本项目基于官方 deepseek-ai/deepseek-harness 构建,是一个社区插件,并非 DeepSeek 官方产品。它展示的都是 DSH 自己的数据与界面,只是重新组织;不修改任何系统源码。
index.js —— host 半:最小空实现(纯 UI 插件,所有逻辑在浏览器半)。lib/client.js —— 浏览器半(UMD,注册进 DSH clientModules)。结构自上而下:BST_ZH / BST_EN)—— 注册进 ctx.locale,跟随语言切换;bstT() 带 fallback。BstList —— 样式复刻原生 Menu;定位避让视口边缘;pointerdown 外部关闭(不用 mousedown,避免吃掉行内 click)。window.__BASRS_SETTINGS__ 快照、订阅 'basrs:settings' 事件(见 WorkspaceTitleBreadcrumb),控制面包屑开关。WorkspaceTitleBreadcrumb —— 注册进 conversation.session.header.actions(order: -20,顶栏最左);紧凑模式自动折叠;更多菜单与下拉同生命周期;重命名/删除走原生 Modal。apply(ctx) —— 样式注入 + 槽位注册;服务调用与 ui-workspace 一致(ctx.workspaces / ctx.sessions)。扩展速查:
wsListItems / ssListItems 的 actions 数组加一项({ id, label, icon?, danger?, action })。BST_ZH / BST_EN 字典加 key。insertStyle 中的 .bst-item* 规则(token 与原生 Menu 一致)。感谢 DeepSeek Harness 与 DeepSeek AI 团队——核心的智能体、模型、工具、会话、Web UI 与插件生态都来自这个项目;也感谢 Cordis 提供的插件化基础,以及 Koishi.js 社区长期积累的插件化实践、工具与经验。
MIT —— 完全开源免费。
Better Session Title 是 DeepSeek Harness 的社区插件,并非 DeepSeek 官方产品。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。