dsh-project-tabs

DSH PLUGINUI 与外观

仓库 silversystem04-coder/dsh-project-tabs · npm dsh-project-tabs

UI 与外观 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件
安装这个插件

DSH 插件在窗口顶边挂一排标签角,悬停展开项目线卡、实时会话卡与手写卡,可固定、收纳、改名与编辑。

一句话选型结论

按资料字段整理

dsh-project-tabs 是UI 与外观类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,列出 5 项功能,有可直接复制的安装命令。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类UI 与外观 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 0 复刻 0 · 未关闭 issue 未标注
最近更新 2026-11-09 创建于 2026-11-08
README 13.2 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
dsh plugin --profile web add dsh-project-tabs
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名dsh-project-tabs可用 npm view 查看包信息

能做什么

5 项功能
字段来自项目仓库与公开索引,中文说明由本站标注

dsh-project-tabs:DeepSeek Harness 窗口顶边的项目与会话标签条

  • 顶边标签角悬停展开卡片
  • 实时会话卡显示回合与上下文
  • 项目线卡展示进度与截止
  • 手写卡自由添加与编辑
  • 支持固定、收纳、改名与恢复

上游标签

dashboarddeepseek-harnessdshdsh-pluginhudsessions

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 有可直接复制的安装命令,不用自己翻文档找入口。
  • 列出了 5 项功能,能直接看出它解决什么问题。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有声明 Node.js 版本要求,版本不匹配可能装不上。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在UI 与外观场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-project-tabs当前 未做沙盒验证 未标注 0 未标注 有
nuwa-skill 未做沙盒验证 未标注 3.8 万 未标注 有
awesome-dsh-plugin L4 · 沙盒安装通过 低风险 1.8 万 0.1.1-rc.2 有
deepseek-balance-whale-widget L4 · 沙盒安装通过 低风险 4,492 0.1.7-rc.2 等 2 个 有
dsh-better-sidebar L4 · 沙盒安装通过 低风险 4,112 0.1.7-rc.2 等 10 个 有
dsh-deep-whale L4 · 沙盒安装通过 低风险 2,470 未标注 有

仓库档案

UI 与外观
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方silversystem04-coder仓库 dsh-project-tabs · 默认分支 未标注
分类UI 与外观interface
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言JavaScript仓库主语言
许可证MIT商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 未标注收录时的数值,非实时
创建 / 更新2026-11-08 · 2026-11-09最后推送 未标注
本站收录2026-11-08首次进入本站目录的时间

README 全文

13.2 KB
作者原文,中文版优先;只做安全转义,不改内容

dsh-project-hud —— 窗口最上方的一排标签角

> What it is (EN). A DeepSeek Harness client plugin: a row of tabs hanging from the
> window's top edge. Hover one and a card drops down showing either a project line
> (progress bar, current step, what to watch out for), a live session (which turn /
> step it is on right now, context usage, model), or a card you wrote yourself. Sessions
> turn into cards automatically and vanish when they end; you can pin, shelf, rename,
> edit or delete any of them inline. Zero dependencies, hand-written bundle, no build step.

窗口顶边一排小角,一张角一样东西:一条线、一个正在跑的会话、或者你自己加的一张卡。
鼠标停上去往下掉一张卡;点一下钉住,再点或 Esc 收起(角移到卡上有 240ms 缓冲,不会中途收掉)。

三种卡长这样:

┌ 记忆结构插件可视化会话 ──────── [在跑] [DSH / 记忆] ┐   ← 会话卡:自动出现、自动消失
│ 第 19 回合 · 第 81 步:给那个卡片的插件添加实时检测… │
│ 上下文                        98k / 1.0M      10%  │
│ ▓▓▓░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░  │
│ 第 19 回合   563 步              deepseek-flash      │
│ [固定住] [收纳] [改名] [删除]                        │
└─────────────────────────────────────────────────────┘

┌ 职规赛 ──────────────────── [已完成] ┐                ← 线卡:读交接单,人维护
│ 生涯发展展示:报告已定稿               │
│ 阶段进度                    0 / 8 页   │
│ ── 到这一步 ────────────────────────  │
│ 生涯发展展示 PPT(≤50MB,8 页)        │
│ ── 该注意 ──────────────────────────  │
│ 「展示 PPT 提交」还有 4d20h。          │
└────────────────────────────────────────┘

┌ 整理答辩稿 ─────────────────────────────┐              ← 手写卡:点条带末尾「+」加的
│ 周五前要交                             │
│ ● 写提纲   ● 配图                      │
│ [编辑] [收纳] [删除]                   │
└─────────────────────────────────────────┘

右边永远有:条带末尾的 「+」(加一张手写卡)、「其余 N」(闲下来的会话 / 暂停的线 /
别的线 / 已删除可恢复 / 自动会话卡开关)、「收纳」(收进去的卡都在这儿,能取回、能删)。

数据来自三层,各管各的

层 存在哪 谁改 频率
线 brain/journal/projects.json + brain/线NN_xxx.md 人(或者我写进交接单) 慢
会话 ~/.dsh/storages/session_projcache/sessions/session-.json DSH 自己,每推进一步重写一次 秒级
你自己加的 brain/journal/cards.json 面板上点出来的 随时

线卡(字段来源)

卡上的东西 来源
线名 / 颜色 / 状态 / 一句话说明 projects.json 的 name color status brief
阶段进度 + 进度条 stage.done / stage.total / unit / note(total=0 显示「未排期」,不假装有进度)
截止 + 倒计时 deadlines[]
到这一步 / 后面还排着 交接单的 **待做:** 块;—— 后面那半句当细化做法
卡在 交接单的 **待定:**
在跑的会话 会话缓存里 title / currentStep / turns,按 keywords 归到线上
该注意 lib/projects.js 的 buildAdvice,规则见下

会话卡(自动)

卡上的东西 缓存里的字段
标题 title
这一步 sessionStats.openStep + turnOutline.turns 最后一条 → 「第 N 回合 · 第 M 步:prompt 首行」;没在步内就显示最后一句 prompt
上下文占用条 contextPressure.pressureTokens / contextWindow
回合 / 步数 / 模型 sessionStats.turns steps、modelSelection.lastUsed.model
归到哪条线 会话标题 + 当前步骤 + 最后回答 里找 projects.json 的 keywords,命中取最长关键词
在跑 / 刚闲下来 缓存文件的 mtime —— 120 秒内重写过就算在跑

会话卡会自己出现、自己消失:窗口内(默认 12 小时)有活动的会话才出现;关掉之后从条带消失,
除非你「固定」过它(固定 = 在 cards.json 里留一条,即使缓存过期也还在)。

该注意的规则(全在 buildAdvice,一眼能读完):

条件 说一句
截止 <72h 且 done === 0 还剩 X,一步没动 —— 这周只做这一件
截止 <72h 且已有进展 还剩 X,收尾优先
截止 <7d 还有 X
done &gt;= total 这一步做完了 —— 去加下一件,别空转
total === 0 没排期:定一个 ≤2 周能交的东西
paused 且没截止 停着:要么定日子,要么划掉
有 **待定:** 卡在:……
3 天没改交接单 N 天没碰交接单了
活跃但没有交接单 开一张 线NN_&lt;名字&gt;.md,把下一步一句话写死

不做的事:不推断进度(done/total 是人写的数字)、不猜哪些待做已经做完、
不替你改交接单。会话卡只读缓存,不读会话日志(那是多帧 zstd,解不动也没必要)。

标签怎么排

maxLive(默认 3)张会话卡 + maxTabs(默认 5)张线卡 + 手写卡,再加一个「其余 N」。

  1. 在跑的会话排最前(按最近活跃);
  2. 有会话在跑的线紧跟其后(正在干活的那条线不该排到 5 张之外),再按最近截止升序;
  3. 同档按「有排期 > 有交接单待做 > 都没有」,再按名字;
  4. 闲下来的会话、暂停、已放弃、兜底的「其他」全部折进「其余 N」,分组列出来。

面板能做什么

动作 落在哪
+ 加一张卡(标题 / 备注 / 步骤) cards.json 的 cards[]
改名 / 写备注 / 编辑步骤 手写卡改本体;线和会话改名记在 cards.json 的 projects{} / sessions{} 覆盖层
固定住 会话卡 sessions[].pinned,之后即使缓存过期也留着
收纳 任何卡都能收,收进去的进「收纳」那张卡,能取回、能删
删除 线卡/会话卡 记一个 hidden,不删 projects.json 里的线;点两下才真删(先变成「真删掉?」)
恢复 在「其余」面板的「已删除(可恢复)」里点「恢复」,把 hidden 撤掉,卡回条带
自动会话卡开关 / 窗口 12h·24h / 3 张·5 张 cards.json 的 settings

projects.json 永远不会被面板改写 —— 所有人为操作都落在单独一个 cards.json 里,
写盘是「先 .bak、再 .tmp、最后 rename」,坏 JSON 读进来只报错、绝不覆盖。

装

三种方式,选一个。

A. 从 npm 装(推荐,插件市场里也是这个)

dsh plugin --profile web add dsh-project-hud

B. 从 GitHub 装

dsh plugin --profile web add github:silversystem04-coder/dsh-project-hud

装完重启 DSH(host 半边是启动时加载的)。

C. 本地装(想改代码、或者想让它接上你自己的 brain/)

# 只装插件(会话卡 + 手写卡,不需要任何前置数据)
powershell -NoProfile -ExecutionPolicy Bypass -File dsh-project-hud\install.ps1

# 同时也接上自己的项目线(projects.json 和交接单在哪就指哪)
powershell -NoProfile -ExecutionPolicy Bypass -File dsh-project-hud\install.ps1 `
-BrainDir &quot;D:\my-brain&quot;

复制到 profile 的 plugins\ 与 node_modules\(同一路径重复载入会用旧模块缓存,所以每次整目录覆盖),
再把 cordis.patch.yml 缺的 insert 补上。-Profile 默认 ~\.dsh\profiles\desktop。

> 已发布到 npm:(v0.2.1)。

没有 projects.json 也能用:那时没有线卡,只剩会话卡和手写卡,条带上会常驻一行灰字说明。
brainDir 指向的目录只要在 journal\projects.json 放一个数组就行,格式见下面的「配置」。

  • 改了 lib/client.js:刷新页面(Ctrl+R)就够。
  • 改了 index.js(host 半边):要重启 DSH,因为它是启动时加载的。

卸

删 cordis.patch.yml 末尾那段 - insert: ... name: &#x27;dsh-project-hud&#x27;,删两个目录,刷新。
brain/journal/cards.json 是你的数据,留着不影响(删了只是自定义卡和收纳没了)。

配置

- insert:
- id: project-hud
name: &#x27;dsh-project-hud&#x27;
config:
brainDir: &#x27;D:\my-brain&#x27;
cacheDir: &#x27;&#x27;        # 空 = \storages\session_projcache\sessions
maxTabs: 5          # 线卡最多几张
maxLive: 3          # 会话卡最多几张
windowHours: 12     # 多久没动的会话就不再出现
cacheMs: 2000       # 拼板缓存(面板每 3 秒拉一次)

journalprojects.json 是一个数组,最小一条长这样:

[
{
&quot;id&quot;: &quot;site&quot;,
&quot;name&quot;: &quot;官网改版&quot;,
&quot;color&quot;: &quot;#4b8bf5&quot;,
&quot;status&quot;: &quot;active&quot;,
&quot;brief&quot;: &quot;一句话说清这条线在干什么&quot;,
&quot;keywords&quot;: [&quot;官网&quot;, &quot;landing&quot;, &quot;首页&quot;],
&quot;deadlines&quot;: [{ &quot;at&quot;: &quot;2026-12-01T18:00:00+08:00&quot;, &quot;label&quot;: &quot;上线&quot; }],
&quot;stage&quot;: { &quot;done&quot;: 2, &quot;total&quot;: 6, &quot;unit&quot;: &quot;页&quot;, &quot;note&quot;: &quot;首页 / 关于&quot; }
}
]

status 取 active / paused / done / dropped;keywords 用来把会话归到这条线上。
stage.total 是 0 或缺失时显示「未排期」,不假装有进度。
「当前步骤 / 后面还排着」来自同目录的 线NN_名字.md,认 **待做:** 块下的 - / 1. 条目,
—— 后面那半句当细化做法;**待定:** 当卡点。

接口

GET  /project-hud/api/ping                    # build / 目录是否存在
GET  /project-hud/api/cards[?fresh=1]         # 标签、卡片、收纳、其余,一次拿全
POST /project-hud/api/mutate                  # 唯一写入口,body 是 {op: ...}

mutate 的 op:add / update / remove / flag(shelf|pinned|hidden) / rename / note /
meta(一次改 title+note+steps)/ settings。

写入口有三道门:只收 127.0.0.1、拒绝 sec-fetch-site: cross-site、必须带 x-project-hud: 1
且 content-type: application/json(body 上限 128KB)。跨源网页想发这个请求,得先过 preflight,
而 preflight 也会被挡下来。

会话里问:project_hud(action=lines | sessions | line, id=yiyu)。

自检

node dsh-project-hud\test.mjs                    # 40 项:交接单解析 + 真实数据分组排序 + cards.json 增删改 + 会话缓存 + 拼板
node dsh-project-hud\test\render-smoke.mjs       # 16 项:假 React 渲染四种卡,不越界不出 NaN
node dsh-project-hud\test\http-check.mjs         # 12 项:假 ctx 起真 HTTP,GET/POST 全走一遍(写的是临时目录)
node dsh-project-hud\test\visual.mjs  &lt;打开哪个角&gt;   # 生成 test\visual.html

截图(preview*.png 就是这么来的,不需要 puppeteer):

&amp; &quot;C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe&quot; --headless=new `
--disable-gpu --hide-scrollbars --no-first-run --disable-extensions `
--user-data-dir=&quot;$env:TEMP\edgeshot&quot; --force-device-scale-factor=2 `
--window-size=920,600 --virtual-time-budget=4000 `
--screenshot=dsh-project-hud\preview.png `
&quot;file:////test/visual.html&quot;

test\visual.html 里另画了一条假标题栏,用来看标签角到底压在窗口的哪个位置。

已知边界

  • 位置是窗口顶边正中。它压在标题栏上半部分(19–23px 高),条带本身点得穿,
    只有角和卡吃鼠标;但如果标题栏正中放着自己的控件,会被挡到,需要改 S.strip 的定位。
  • 客户端每 3 秒拉一次 /api/cards(页面在后台时不拉)。会话卡因此最多晚 3 秒。
  • 「在跑」是靠缓存文件 mtime 猜的,不是宿主告诉你状态。真停了但 120 秒内写过,会多显示一会儿。
  • 只有 projects.json 里有的线才有线卡。会话归不到线时就是一张纯会话卡。
  • 交接单里的「待做」只认 - / 1. 开头的条目,认不出就当作没有,不猜。
  • 手写卡的「步骤」只是勾选和文字,不带日期、不带提醒。

常见问题

6 问
答案由本站依据条目字段整理,不引用上游原文
dsh-project-tabs 怎么安装?

在 DSH 里执行 `dsh plugin --profile web add dsh-project-tabs` 即可。对应的 npm 包名是 `dsh-project-tabs`。

dsh-project-tabs 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-project-tabs 安全吗?

未标注。

dsh-project-tabs 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

dsh-project-tabs 用的是什么许可证?

上游标注为 MIT。商用或二次分发前请到仓库确认许可证原文。

dsh-project-tabs 有哪些功能?

顶边标签角悬停展开卡片、实时会话卡显示回合与上下文、项目线卡展示进度与截止、手写卡自由添加与编辑、支持固定、收纳、改名与恢复。

同名或近似条目

1 条
不同作者的仓库分开列,请确认你要装的是哪一个
UI 与外观
按星标排序,可作替代方案

nuwa-skill

nuwa-skill

女娲 DSH plugin 只需输入一个名字,就自动调研、提炼并验证任何人的心智模型、决策启发式与表达 DNA,生成可直接调用的思维视角 S

未标注验证等级 3.8 万 星

awesome-dsh-plugin

awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harnes

L4 · 沙盒安装通过 1.8 万 星

deepseek-balance-whale-widget

DeepSeek-Balance-Whale-Widget

DSH 界面右下角的常驻小鲸鱼余额挂件,实时显示 DeepSeek 账户余额、今日已用与每轮对话消耗,支持拖拽吸附、Q 弹动画与音效,开箱即

L4 · 沙盒安装通过 4,492 星

dsh-better-sidebar

DSH-better-sidebar

面向 DeepSeek Harness 的服务化侧边栏工作台插件,把文件编辑、终端、Git 变更、子代理任务与侧边对话整合进右侧栏与底部面板

L4 · 沙盒安装通过 4,112 星

dsh-deep-whale

dsh-deep-whale

DSH Web 鲸鱼娘皮肤系列(深海女仆工坊 maid-atelier)。

L4 · 沙盒安装通过 2,470 星

deepseek-design

deepseek-design

可视化设计工作室,支持网站、App 原型、海报、信息卡、报告和杂志的模板创建、元素编辑、选区级 AI 草稿衔接与导出。

L4 · 沙盒安装通过 1,438 星

silversystem04-coder 的其它插件

2 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。