前言¶
DeepSeek Harness(DSH)的 Web 界面通常是左欄、中間主窗口、右欄三欄佈局。瀏覽器自帶的整頁縮放會三欄一起變大變小;側欄想看清終端、中間想放大代碼、右欄又想保持緊湊時,往往只能反覆調「設置 → 通用 → 內容字號」,或接受某一欄被連帶縮放。下面介紹社區插件 @beyondandsharp/dsh-plugin-scaling:在 Web 殼裏給每一欄單獨設 1%–500% 的整體縮放,互不牽連。
這是什麼¶
維護者 BeyondandSharp,分類爲客戶端(platform: web),npm 包名 @beyondandsharp/dsh-plugin-scaling,當前版本 0.2.4,MIT 許可。插件是純前端實現:不改宿主、不依賴特定皮膚,縮放比例存在插件自己的 localStorage 裏;停用後在「設置 → 插件」裏關閉即可完全恢復瀏覽器原生縮放,不留屬性、樣式、監聽器或提示條。
核心功能¶
按欄獨立縮放。 左欄、中欄、右欄各自維護 1%–500% 的倍數。右欄若拆成兩列,兩列各算一欄、各自獨立縮放。
快捷鍵與反饋。 每次變化時,右下角會短暫顯示「欄名 + 百分比」。步長按當前值的比例變化(不小於 1%):100% 時一格約 5%;20% 以下一格 1%;接近 500% 時一格約 25%,便於在兩端快速調節。
Diff 預覽單獨縮放。 懸停會話裏「已修改文件」行會彈出 diff 預覽。指針停在預覽上時,Ctrl / ⌘ + 滾輪只縮放卡片內的 diff 內容,卡片邊框與位置保持宿主樣式,三欄取值不受影響。預覽是臨時的:移開或關閉後縮放清零,下次懸停從 100% 開始;預覽卡片不可聚焦,復位預覽請用 Ctrl + 滾輪往回滾。
與字號設置的關係。 行爲與官方默認外觀及多數皮膚一致,只使用宿主設計 token;與「設置 → 通用 → 內容字號」爲相乘關係。
中欄頂欄固定。 中欄頂部一行(會話標題、視圖頁籤、打開右欄按鈕)不隨中欄縮放,始終按 100% 渲染;縮放只作用於其下方內容。指針停在這一行上時,Ctrl + 滾輪交給瀏覽器做整頁縮放。
終端指針修正。 側欄終端隨欄縮放時,插件會修正指針座標,避免 xterm.js 在 CSS 縮放下拖選偏移(Firefox / Chromium、zoom 與 transform 均已驗證)。
存儲與降級。 刷新或重啓後從瀏覽器恢復;隱私模式等存儲不可用時退化爲內存;損壞或越界項按項忽略並夾緊到 1%–500%。
安裝與啓用¶
包內 lib/ 已入庫,安裝後無需再構建。裝完刷新頁面即可使用。
# 本地安裝
dsh plugin --profile web add /root/dsh-plugin-scaling
# 從 npm 安裝
dsh plugin --profile web add @beyondandsharp/dsh-plugin-scaling
# 或從 git 安裝
dsh plugin --profile web add github:BeyondandSharp/dsh-plugin-scaling
插件以當前 DSH 進程權限在瀏覽器端運行;安裝前建議自行查看 GitHub 倉庫 源碼與 LICENSE。
典型用法¶
把指針移到要調節的欄內,用下表操作(macOS 將 Ctrl 換爲 ⌘):
| 操作 | 作用 |
|---|---|
Ctrl / ⌘ + 滾輪 |
縮放指針所在欄 |
Ctrl / ⌘ + + / - |
縮放焦點所在欄 |
Ctrl / ⌘ + 0 |
將該欄復位到 100% |
持久化示例(鍵名與 README 一致):
localStorage['dsh.plugin-scaling.v1'] = {"left":1,"center":1,"right":1,"right-1":1}
right 爲右欄第一列,right-1 爲第二列。需要固定縮放實現機制時,改完刷新:
localStorage['dsh.plugin-scaling.mechanism'] = 'zoom' // 或 'transform' / 'auto'
Gecko(Firefox)上側欄可能因 zoom 與 border-image 裝飾的兼容問題而選用 transform;中欄在 Gecko 上始終用 zoom 以保證文本選擇與指針對齊。更細的機制取捨見倉庫內 docs/DESIGN.md。
適用場景與注意¶
適合誰: 經常在 DSH Web 殼裏並排看終端、會話與工具欄,且希望某一欄單獨放大或縮小、而不是整頁縮放的使用者。
鍵位差異: Web 殼裏 Ctrl+± / Ctrl+0 由宿主快捷鍵服務處理,Ctrl+= 可能被判定爲瀏覽器保留組合而無法註冊;Electron 桌面殼上會註冊爲可在「設置 → 快捷鍵」中修改的三條命令。
生態說明: DSH 社區插件目錄(如 SkillHub 條目)是獨立站點,與 DeepSeek / 幻方無官方從屬關係;安裝命令以 README 爲準,勿憑包名自行拼接。
結尾¶
dsh-plugin-scaling 把 DSH Web 三欄(及右欄分列、diff 預覽)變成可獨立縮放的區域,數值本地持久化,停用即恢復原生行爲。需要細節、動圖與開發說明時,可查閱 GitHub:BeyondandSharp/dsh-plugin-scaling 與目錄頁 SkillHub。