DeepSHPlugins
dsh-chat-width 專案預覽
GITHUB / COMMUNITY PROJECT

dsh-chat-width

UI 增強JavaScriptMIT

為 DeepSeek Harness 網頁介面提供可拖拽的聊天內容寬度:文字列右緣的把手覆蓋內建的 748px 寬度(預設 1040px、範圍 520~2400、按瀏覽器記憶,雙擊恢復預設)。

4 Stars764475881 更新時間 2026-08-21
訪問 GitHub 倉庫
dsh-chat-width 專案預覽

專案介紹

中文

為 DeepSeek Harness 網頁介面提供可拖拽的聊天內容寬度:文字列右緣的把手覆蓋內建的 748px 寬度(預設 1040px、範圍 520~2400、按瀏覽器記憶,雙擊恢復預設)。

English

Drag-to-resize the chat content width in the DeepSeek Harness web UI: a handle on the column right edge overrides the built-in 748px width (default 1040px, 520-2400 range, persisted per browser, double-click resets).

專案資訊與收錄訊號

快照 2026-09-11
作者 / 組織
764475881
倉庫
764475881/dsh-chat-width
GitHub Stars
4
Forks
0
開發語言
JavaScript
許可證
MIT
最近推送
2026-08-21
Manifest
資料中檢測到宣告

公開倉庫不自動等於可商用;許可證與當前相容性以原專案文件為準。Manifest 和資料評分不構成安裝安全認證。

資料評分

59/ 100
維護活躍
86
文件與實用資訊
78
生態關注度
20
安裝便捷訊號
100
專案宣告訊號
100

近 21 天仍在更新;關注度尚低(4);標準命令一鍵安裝。

評分來自已有資料快照的五維模型,僅作瀏覽參考,不是實際使用評測或安全檢測結論。

安裝與使用

所有專案資料與許可均以對應 GitHub 倉庫為準。

dsh plugin --profile web add github:764475881/dsh-chat-width

複製命令不會自動執行。請先閱讀倉庫文件,確認環境要求與許可證。

專案截圖

倉庫 README

GitHub 原文

已儲存的倉庫文件快照;文件抓取時間未記錄,可能與上方目錄介紹處於不同版本。安裝前請核對當前倉庫說明。

儲存庫檔案保留原文,指令與授權文字不作自動改寫。

dsh-chat-width

调宽 dsh 网页会话区的聊天内容宽度。dsh 原生把会话文字列限制在 748px,在大屏上左右浪费大量空间;本插件通过客户端 CSS 把 --dsh-chat-content-width 覆盖为 1040px(默认值,可调)。

输入框、底部工具栏等宽度由同一变量派生(calc(var(--dsh-chat-content-width) + 32px)),会自动跟着变宽。

调整宽度

两种方式,任选其一:

  1. 拖拽把手(推荐):会话文字列右缘(垂直中点)有一个细长的竖向把手,鼠标按住左右拖动即可实时调整宽度,松开自动记忆。双击把手恢复默认值 1040px。把手的半透明样式与主题融合,悬停/拖动时高亮。
  2. 控制台(F12):
   __setChatWidth(960)   // 任意值,范围 520~2400,立即生效
   __setChatWidth(1040)  // 恢复默认

选择会记忆到 localStorage(键 dsh_chat_width),下次打开页面仍生效。

安装

方式一:插件市场(推荐) —— 在 dsh 网页的设置 → 插件市场中搜索 dsh-chat-width,一键安装。

方式二:命令行(dsh >= 0.1.0-rc.7):

dsh plugin --profile web add github:764475881/dsh-chat-width

方式三:本地开发(link):

# 在 web profile 目录(~/.dsh/profiles/web)下
pnpm add link:/home/miku/dsh-chat-width
# 并在该 profile 的 package.json 中把 "dsh-chat-width" 加入 dsh.profile.bundles
# 然后重启 dsh web(新增 bundle 需重启生效)

卸载同理:从 package.json 的 dependencies 与 bundles 移除,pnpm install,重启。

原理

  • 服务端占位 lib/index.js:空 apply,仅让 loader 行可挂载。
  • 客户端 lib/client.js:注册为 DSH 客户端模块,注入 <style> 覆盖:
  • .wSkVaW_root.wSkVaW_root(当前 dsh 版本的会话根元素类名)
  • [data-phase][data-phase](版本无关兜底选择器,特异性 (0,2,0) 压过 dsh 自带定义)
  • 拖拽把手 .dsh-cw-handle 绝对定位锚定在文字列右缘:right: calc((100% - var(--dsh-chat-content-width)) / 2 - 7px),宽度变化由 CSS 变量实时驱动,无需 JS 计算位置;pointer 事件 + setPointerCapture 完成拖拽,松手写入 localStorage。
  • 跟手映射:文字列居中布局下右缘位移 = 宽度变化的一半,因此拖拽时宽度按指针位移的 2× 变化,把手(锚定右缘)才能 1:1 跟随鼠标,且列始终居中、松手无回弹。
  • 会话根元素可能在 boot 后才挂载(hero 阶段),插件用 MutationObserver 跟随根元素出现/切换并挂载把手。

详细设计决策见 docs/DESIGN.md。

开发

node --check lib/client.js

改完 lib/client.js 后,运行中的 dsh 会在约 1 秒内通过 HMR 热替换(无需重启)。

使用前核對

安裝步驟、相容版本與授權範圍以原專案當前文件為準。Stars 和評分是快照中的導航訊號。

安裝與排錯 · 專案問題反饋

同類專案