把侧栏账号头像移到上部,腾出会话列表空间
30.6/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/23 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
相关生态插件(非 dsh 原生,按其对应运行时安装)
git clone https://github.com/kiefeng/dsh-avatar-top.git状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
生态应用
桌面端 / Web 外壳,不以 dsh plugin add 安装
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 12 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
把 DSH 侧边栏的账号头像从底部栏移出来:四种位置(含零高度内联模式)、三种高度,Plugins 页面上还有一张设置卡片。
README
由 DeepSeek 最新模型翻译生成dsh-avatar-top
把左栏左下角的「头像 + 账号名」入口(它同时是设置入口)移出底部,放到左栏上部,让会话列表多出 28–44px 的可滚动高度;内嵌到品牌行时纵向占用为 0。
位置、高度、间距都可在左栏「插件」页里调。
设置项(插件页 → dsh-avatar-top → 内嵌表单)
| 设置 | 取值 | 默认 | 作用 |
| 启用 | 开 / 关 | 开 | 关掉即恢复 DSH 默认布局,不必卸载插件 |
| 位置 | 最顶部 / 品牌行下 / 新会话下 / 内嵌品牌行 | 最顶部 | 账号行插在侧栏哪一行,或叠进品牌行右端 |
| 占用高度 | 完整 44 / 紧凑 32 / 仅头像 28 | 完整 44 | 行高与账号名是否显示(仅头像 = 20px 头像、无文字) |
| 与下方间距 | 0–24(px) | 4 | 账号行与下一块内容的距离 |
| 恢复默认 | 按钮 | — | 清掉四项覆盖,回到组合默认 |
省空间的三条路,按幅度排:
1. 内嵌品牌行(Windows 桌面):账号按钮叠到品牌行右端的空白处,position: absolute,纵向占用 0px,只剩一个 28px 的圆形头像;宽带/鼠标悬停展开菜单不变。
2. 仅头像 28:仍然单独一行,但高度 44 → 28px,并藏起账号名。
3. 紧凑 32:保留账号名,只压高度。
展开完整文档(README 剩余 1 节)
dsh-avatar-top
把左栏左下角的「头像 + 账号名」入口(它同时是设置入口)移出底部,放到左栏上部,让会话列表多出 28–44px 的可滚动高度;内嵌到品牌行时纵向占用为 0。
位置、高度、间距都可在左栏「插件」页里调。
设置项(插件页 → dsh-avatar-top → 内嵌表单)
| 设置 | 取值 | 默认 | 作用 |
| 启用 | 开 / 关 | 开 | 关掉即恢复 DSH 默认布局,不必卸载插件 |
| 位置 | 最顶部 / 品牌行下 / 新会话下 / 内嵌品牌行 | 最顶部 | 账号行插在侧栏哪一行,或叠进品牌行右端 |
| 占用高度 | 完整 44 / 紧凑 32 / 仅头像 28 | 完整 44 | 行高与账号名是否显示(仅头像 = 20px 头像、无文字) |
| 与下方间距 | 0–24(px) | 4 | 账号行与下一块内容的距离 |
| 恢复默认 | 按钮 | — | 清掉四项覆盖,回到组合默认 |
省空间的三条路,按幅度排:
1. 内嵌品牌行(Windows 桌面):账号按钮叠到品牌行右端的空白处,position: absolute,纵向占用 0px,只剩一个 28px 的圆形头像;宽带/鼠标悬停展开菜单不变。
2. 仅头像 28:仍然单独一行,但高度 44 → 28px,并藏起账号名。
3. 紧凑 32:保留账号名,只压高度。
改动即时生效(浏览器半侧订阅设置并重写 ),不需要重启、不需要保存按钮。
设置在 profile 的 cordis.patch.yml 里持久化,跨会话保留。
0.2 的「紧凑头像行」开关已被「占用高度」三选替代;旧的 compact 值会被忽略(按默认完整 44 显示)。
实现方式
一条 boot 注入行(首屏不闪)
Host 半侧向 Web 服务器贡献一条结构化 style 行:
ctx.on('webserver/index-inject', (table) => {
table.push({ kind: 'style', text: cssFor(readOptions(config)) })
})
两种壳都会渲染这一行:
| 形态 | 页面从哪来 | 注入怎么到页面 |
| 浏览器 / dsh web | dsh-host-frontend-static 经 HTTP 发 index | renderIndex() 把行渲染进 HTML |
| 桌面 App | Electron 主进程持有 dsh-app:// scheme,直接发 dsh-web-frontend/dist/index.html | 主进程在 Host 启动后把行表经 IPC 交给页面,页面侧解释器逐行应用(style 行 → document.head.append) |
不要用 ctx.webServer.tapIndex():它只在 WebServer.renderIndex() 里跑,桌面 App 不走那条路。
浏览器半侧的实时样式
桌面 App 的注入表是 Host 启动时的快照,所以改设置后靠客户端补一次:浏览器半侧
ctx.configForms.get('avatar-top') 订阅设置文档,把生成的 CSS 写进
(排在 boot 行之后,天然覆盖)。停用插件时这个 style 元素随 effect 释放被移除。
布局规则
侧栏是 flex 列。账号行(_settingsArea)在 footer 里,和 _footerActions 并排;而 _footerActions 正是 dsh-cost-meter 这类插件挂侧栏小组件的位置。整块 footer 上移会把它们的显示框一起带走,所以这里把 footer 变成布局透传,只挪账号那一格:
html:not([data-platform='darwin']) [class='_root']:not([class='_collapsed']) > [class='_footArea'] {
display: contents; / footer 不再产生盒子,两个子项成为列的 flex 项 / } … > [class='_footArea'] > [class='_settingsArea'] { order: -1; / 只挪账号行;_footerActions 保持默认顺序,仍贴底 */ margin-bottom: 4px; }
- 另两个位置同样只给 _settingsArea 排名:logoRow -4 / settingsArea -3 / newSession -2 / panelList -1 (beforePanels 则把 newSession 与 settingsArea 的顺序对调)。
- 「占用高度」只改账号按钮自身:compact → height: 32px;icon → height: 28px、
_label { display: none }、_avatar 缩到 20px。
- 「内嵌品牌行」把账号按钮从列流里摘出去:position: absolute; top: 8px; right: 12px,以 _root 为定位上下文(Windows 桌面展开态,折叠开关在原生标题栏里,品牌行右端是空的)。
按钮固定 28px、只留头像;非 Windows 壳自动退回「最顶部」,不会把按钮叠到别处。
- 选择器用 ui-sidebar 的 CSS Modules 类名后缀(_root / _footArea / _settingsArea / _label / _avatar / _trigger / _logoRow / _newSession / _panelList),不是每次构建都变的哈希前缀。
- 收起态(_collapsed)不参与重排:Windows 桌面收起时 footer 本来就 display:none,其他平台的收起轨道保持 DSH 原样。
- :not([data-platform='darwin']) 让 macOS 桌面保留红绿灯顶栏的排布(那里顶部行是拖拽区)。
- Windows 桌面 data-platform=win32、普通浏览器没有该属性,都会命中规则。
设置从哪来
Host 的 Config 用 schemastery 声明四个 volatile() 字段。volatile = 用户设置(而不是部署配置), Host 因此以 loader 行 id avatar-top 为命名空间把它暴露给设置文档;浏览器半侧通过 ctx.configForms 读写,写入走 remote.settings.mutate,落在 profile 的 cordis.patch.yml。
schemastery 与它的运行时依赖(cosmokit、@standard-schema/spec)被放进本包的 node_modules/,这样 Host 从 link: 安装的真实路径解析时不必依赖 DSH 运行时的 peer 解析。
生效时机
- 新装 / 升级后:必须重启 DSH。客户端 bundle 与包元数据在 Host 启动时快照。
- 改设置:即时生效,无需重启。
- 浏览器形态:index 每次请求重新收集注入行,刷新页面即最新。
安装
dsh plugin add dsh-avatar-top
装完重启一次 DSH(客户端 bundle 与包元数据在 Host 启动时读取),然后打开「插件」页 → dsh-avatar-top 调设置。
也可以用 Git 安装:dsh plugin add git+https://github.com/<owner>/dsh-avatar-top。
自检:插件在 /dsh-avatar-top.css 暴露当前生效的 CSS(公开、只读),没登录态也能看:
http://127.0.0.1:<端口>/dsh-avatar-top.css
卸载
「插件」页 → 卸载 → 重启 DSH,恢复默认布局。
开发 / 自检
npm install # 只为测试用到的 @deepseek-ai/schemastery
node --check lib/index.js
node --check lib/client.js
npm test
测试覆盖:schema 默认值与越界拒绝、volatile ref / 普通值两种输入、四种位置 × 三档高度 × 间距的 CSS 矩阵、注入行去重、诊断端点、_footerActions 不被重排的回归断言(防 cost-meter 之类的侧栏小组件被一起搬走),以及两半 CSS 生成器在 120 组组合上逐字节一致(防止浏览器半侧与 Host 半侧漂移)。
已知限制
- 只移动 _settingsArea(账号入口);sidebar.footer.action 的占用者(如 dsh-cost-meter 的显示框)保持原位贴底。若某个插件把小组件挂在 sidebar.settings 而不用账号入口,它会被一起移动——目前官方组合里没有这样的占用者。
- 布局依赖 ui-sidebar 的 flex 列结构;若上游把 footer 改成 absolute 定位或移出该列,规则会变成无操作(不报错,也不错位)。
- 诊断端点 /dsh-avatar-top.css 是公开只读路由,只回本插件的 CSS 文本,不含用户数据。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
kiefeng/dsh-avatar-top
把侧栏账号头像移到上部,腾出会话列表空间
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,928已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目