Cookie 百分表(dsh-cookie-meter):DSH 桌面版登錄 cookie 佔用預警與一鍵清理

前言

DeepSeek Harness(DSH)桌面版每次啓動都會往 Chromium 的 cookie jar 裏寫入一條與本地端口綁定的 dsh-auth-<sha256(127.0.0.1:端口)> 登錄 cookie,且默認不會清理。這些 cookie 會隨 HTTP 請求頭髮送;Node 側默認 maxHeaderSize 爲 16384 字節,單條約佔 228 字節。攢到大約第 72 條時,根請求可能收到 431 Request Header Fields Too Large,界面表現爲 desktop welcome: Web authentication failed,也就是「啓動幾十次以後 DSH 打不開」的常見原因。社區裏已有通過監控或清理 cookie 庫來規避的做法;下面介紹 maintainer ridistant8-art(大肥魚)維護的 dsh-cookie-meter:在 DSH 桌面版右下角用浮窗顯示請求頭佔用百分比,過半變紅,並提供一鍵清理,便於在觸頂 431 之前主動處理。

這是什麼

dsh-cookie-meter 是 DSH 社區插件(目錄分類 admin-security),當前 package 版本 0.1.1,許可證 MIT。它只做三件事:用百分比估算 cookie 條數相對 16384 字節上限的佔用;超過 50% 時數字變紅並提示建議清理;提供一鍵清理(或安排下次啓動時清零)。數據來自對 cookie 庫的只讀統計,不解密 cookie 內容,插件本身不聯網。

核心功能

佔用百分比與過半預警

浮窗展示 cookie 條數 × 228 / 16384 的估算百分比,並顯示條數與字節合計(例如「46 條 · 10.2 KiB / 16.0 KiB」)。超過 50% 時百分比變紅,狀態行提示「已過半,建議清理」。README 說明:228 字節/條爲估算,實際隨 cookie 名長度略有出入,用於預警足夠。

浮窗交互

浮窗可通過標題欄拖動,位置保存在 localStorage,刷新後仍保留;縱向留出 48px 安全區以避開窗口頂部可拖動區域。若拖出視野,雙擊標題欄可復位。

一鍵清理與「下次進入時清零」

DSH 運行期間 Network/Cookies 常被桌面外殼獨佔,直接刪除可能遇到 EBUSY。清理流程爲「標記 → 下次進入時清空」:

  1. 點擊「一鍵清理」:若當前能刪 Cookies / Cookies-journal,當場成功,狀態行顯示「已清理」。
  2. 刪不掉(常見情況):寫入待清理標記 ~/.dsh/cookie-meter/pending-clean.json,按鈕變爲綠色「取消安排」,狀態行顯示「已安排,下次進入時清零」;並可能掛一個脫離進程的 PowerShell 兜底腳本,在關閉 DSH 且無其他實例運行時刪庫。
  3. 下次啓動 DSH:插件啓動時若發現標記,立即刪庫並記錄 boot: pending clean applied,計數從約第 1 條 cookie 重新開始(約 1.4%)。
  4. 若不想清理,再點「取消安排」刪除標記即可。

會話與聊天記錄在 ~/.dsh 中,與 cookie 庫無關;清 cookie 不會丟對話,也無需重新配置。

數據來源(只讀、不聯網)

運行中無法直接打開被鎖的 Network/Cookies。插件移植自 dsh-cookie-guard(MIT)的句柄借讀思路:在 Windows 上通過進程快照與句柄枚舉複製句柄後只讀文件,用正則統計 dsh-auth-<43 位> 條數。koffi 使用 DSH 自帶的 app.asar.unpacked/dsh/node_modules/koffi,不額外拉依賴。

安裝與啓用

桌面端安裝請使用 --profile desktop;Web profile 安裝的內容桌面端看不見。

本地路徑安裝:

dsh plugin --profile desktop add file:/path/to/dsh-cookie-meter

從 GitHub 安裝(README 佔位符需換成你的賬號或實際倉庫路徑):

dsh plugin --profile desktop add github:<你的賬號>/dsh-cookie-meter

安裝完成後重啓 DSH(客戶端包懶加載,必要時再刷新頁面),右下角會出現浮窗卡片。

典型用法

日常開發或頻繁重啓 DSH 桌面版時,留意浮窗百分比;過半或接近高位時點擊「一鍵清理」,或接受「已安排,下次進入時清零」並在下次啓動後確認計數回落。若 DSH 仍佔用 cookie 庫,可關閉所有 DSH 實例後依賴兜底腳本或下次啓動時的標記清理。

可選環境變量(測試或特殊路徑):

變量 作用
DSH_COOKIE_METER_DB 覆蓋 cookie 庫路徑
DSH_COOKIE_METER_KOFFI 覆蓋 koffi 路徑(非 DSH 環境跑測試)

適用場景與注意

適合誰:在 Windows 上使用 DSH 桌面版 0.2.x、且經常重啓導致登錄 cookie 累積的開發者或運維;需要直觀看到離 431 還有多遠,並願意在清理前理解「只清 Chromium cookie 庫、不動 ~/.dsh 會話數據」的行爲。

限制(來自 README):

  • 僅 Windows:句柄借讀與 PowerShell 兜底腳本均依賴 Windows。
  • 需要 DSH 桌面版 0.2.x 的 shell.overlay 插槽與 dsh.client 加載契約。
  • 若有其他 DSH 實例在跑,兜底腳本會跳過,以免誤刪新實例 cookie,此時依賴「下次進入時清零」。
  • 插件以當前 DSH 進程權限運行;安裝前應自行查看 GitHub 源碼 與 MIT 許可證,確認符合你的安全策略。

社區目錄與 DeepSeek / 幻方無官方從屬關係;DSH 生態強調「一切皆插件」,本插件爲社區維護,與 DeepSeek 官方無關。

鏈接

經過上面的步驟,你可以在桌面版右下角持續看到 login cookie 對請求頭上限的佔用比例,並在過半或觸頂 431 之前用一鍵清理或下次啓動清零把計數拉回安全區間。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜