dsh-web-search-ddg
aooyoo
Zero-token DuckDuckGo search provider for the DeepSeek Harness (DSH) web seam — local headless browser, no API key, no m…
PROJECT TOPICS
PROJECT README
在 DeepSeek Harness (DSH) Web 界面的输入框工具行添加一个可折叠的「宽度」控件—— 独立调节消息文本列与输入框的显示宽度,并记忆上次参数,重启 DSH 后自动恢复。
⇔ 宽度 748px ▾)挂在输入框工具行左端,点击弹出面板(与权限选择器同款形态,锚定在 chip 正上方)localStorage 记忆上次的文本/输入框宽度与联动状态,下次打开直接恢复cordis.patch.yml,每次启动自动加载,无需手动启用
在输入框工具行点击 ⇔ 宽度 …px ▾ 展开面板,即可分别调节文本列与输入框宽度。
DSH Web 的消息文本列宽度由 CSS 变量 --dsh-chat-content-width(默认 748px)控制,
输入框卡片宽度由 --dsh-composer-card-max-width(默认 calc(文本宽度 + 32px))控制,
两者都定义在对话根容器上。
本插件通过浏览器 bundle(由 DSH 的 client-modules 机制服务)在稳定的产品属性
[data-conversation-scroll] 上覆盖这两个变量,从而独立调控两块宽度——不依赖任何
打包哈希类名,产品升级也不易失效。
前置条件:已安装 DSH(Web 配置),Windows + PowerShell 5.1+(其他平台见下方手动安装)。
# 1. 克隆仓库(任意位置,比如 DSH 目录旁)
git clone https://github.com/fly-fish76/dsh-width-control.git
cd dsh-width-control
# 2. 一键安装(自动创建 node_modules 链接 + 写入 cordis.patch.yml)
.\install.ps1
# 3. 重启 dsh
重启后刷新浏览器页面,输入框工具行左端即可看到 ⇔ 宽度 748px ▾。
假设 DSH web profile 目录为 ~/.dsh/profiles/web:
# 1. 把插件源码放到 profile 的 plugins 目录
mkdir -p ~/.dsh/profiles/web/plugins
cp -r <本仓库> ~/.dsh/profiles/web/plugins/width-control
# 2. 让 Node 能在 profile 的 node_modules 里解析到它
ln -s ../plugins/width-control ~/.dsh/profiles/web/node_modules/@local/width-control
# 3. 在 ~/.dsh/profiles/web/cordis.patch.yml 追加(保留原有内容):
- insert:
- id: width-control
name: '@local/width-control'
# 4. 重启 dsh
Linux/macOS 注意:软链接指向的
exports["./client"]与require.resolve均在 Node 层面按真实路径解析,符号链接同样可用。
⇔ 宽度 …px ▾ chip,面板出现在 chip 正上方所有可调常量在 lib/client.js 顶部:
| 常量 | 默认 | 含义 |
|---|---|---|
DEFAULT_TEXT |
748 |
文本列默认宽度 (px) |
DEFAULT_INPUT |
780 |
输入框默认宽度 (px) |
MIN / MAX |
400 / 1160 |
滑杆范围 (px) |
STEP |
20 |
滑杆步长 (px) |
STORAGE_KEY |
dsh.width-control.v1 |
记忆存储键 |
改完 lib/client.js 后强刷浏览器页面(Ctrl+Shift+R)即可生效,无需改台账。
.\uninstall.ps1 # 移除 node_modules 链接 + 从 cordis.patch.yml 删除注册行
或手动:删除 node_modules/@local/width-control 链接与 cordis.patch.yml 中的
- insert: 块。全部移除后重启 dsh。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。