DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
F

dsh-fluid-chat-width

Fluid Chat Width

DeepSeek Harness 网页 GUI 的流式对话宽度:聊天栏跟随窗口宽度减去 64px 的边距,最大限制为 1560px,拖动手柄仍可覆盖该设置。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:helloworld010234/dsh-fluid-chat-width#fc8407118af1bce4dabf119f861f8057f71f313c
README兼容性版本

兼容性与来源证明

Fluid Chat Width 以 dsh-fluid-chat-width 发布,当前版本为 1.0.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/10/26

版本

1.0.0stable
2026/10/26

相关插件

正在加载相关插件…

最新版
1.0.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/26
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundle新的用户提示到达时刷新会话标题。Personalized Recommendations@deepseek-ai/dsh-personalized-recommendations回答下方以卡片形式提供个性化页面和内置插件推荐Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层

README

dsh-fluid-chat-width

Fluid conversation width for the DeepSeek Harness web GUI.

The chat column stops being pinned to a fixed reading measure and follows the window instead: column width − 64px, capped at 1560px, floored at 640px. No settings page, no button — resize the window and the column tracks it.

What it does

The DSH web client sizes its conversation column from a fixed measure and lets the built-in drag handles override it with an inline --dsh-chat-user-width on the conversation root. This plugin publishes that same custom property from a ResizeObserver on the column, so:

  • Fluid by default — the column is min(columnWidth − 64, 1560) on every resize, never narrower than the app's own 640px floor.
  • Drag handles still win — a handle writes a deeper inline declaration, which legitimately overrides the published value. Dragging is unaffected; the value you drag to is what you get.
  • Stale preferences are cleared once per boot — the client persists a fixed width in localStorage["dsh.conversation.contentWidth"]. On startup this plugin removes that key and strips any inline echo already published, so a leftover pinned width from an earlier drag cannot silently defeat it.

Embedded conversations are left alone: they define their own content width and ignore --dsh-chat-user-width. Only the main chat region is targeted ([data-conversation-region="chat"] > [data-conversation-scroll]).

Tuning

The three constants live at the top of apply() in client.js:

const MARGIN = 64;  // total side breathing room (px)
const CAP    = 1560; // max content width (px)
const MIN    = 640;  // floor, matches the app's own CONTENT_MIN

They are compile-time constants rather than settings on purpose: this plugin has no host half, no settings namespace, and nothing to persist. Edit and reload.

Install

dsh plugin add dsh-fluid-chat-width

Or from a checkout:

dsh plugin add github:helloworld010234/dsh-fluid-chat-width

Restart the client afterwards.

Uninstall

dsh plugin remove dsh-fluid-chat-width

If you had dragged a handle before installing, the preference key was cleared on boot. Nothing else is left behind — the plugin writes no files, registers no routes, and touches no storage except removing that one key.

How it is built

Two faces, no build step, no runtime dependencies:

FileFaceRole
index.jshost (Node)Deliberately empty. Satisfies the plugin shape so the bundle patch can mount the package into the web roster.
client.jsbrowserThe whole plugin: one ResizeObserver, one custom property. A hand-written window.__ModuleLoader__.load closure factory.
cordis.patch.ymlbundle patchInserts the dsh.client row into the profile's layer stack.

There is no bundler and no transpiler — client.js ships as written, which is why the source you read here is the source that runs.

License

MIT