xiaozhengdeng/dsh_center-column-shift 预览 preview

xiaozhengdeng/dsh_center-column-shift

DeepSeek Harness 的可拖拽对话列移位插件——左右滑动聊天区域,为侧边栏腾出空间,偏移量在会话切换后保持不变

项目介绍Project Overview

Center Column Shift 是 DeepSeek Harness 的浏览器端插件。它在 shell.overlay 中放置一个可拖动把手,对整个会话列应用 translateX() 变换,会话内容与输入框一同左移,为右侧插件面板腾出更多显示空间;双击或点击 ↺ 可复位,偏移量在切换会话后自动保持。当右侧插件(如 AgentTeams、OmniParser 面板)被会话列挤压或遮挡时使用。注意:仅客户端行为,需要刷新页面,会话切换时通过 MutationObserver 重定位滚动容器。

Center Column Shift is a client-side plugin for DeepSeek Harness. It places a draggable handle in the shell.overlay layer that applies a translateX() transform to the entire conversation column, sliding the chat left so right-side plugin panels gain more room; double-click or the ↺ button resets position, and the offset persists across session switches. Use it when a right-side plugin (such as AgentTeams or OmniParser) gets squeezed or occluded by the conversation column. Note: the feature is fully client-side and requires a page refresh to activate.

或使用命令行安装(适合开发者)Or use CLI install (for developers)

命令行安装CLI Install

dsh plugin --profile web add github:xiaozhengdeng/dsh_center-column-shift

xiaozhengdeng/dsh_center-column-shift 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

English | 中文

dsh_center-column-shift

Center Column Shift — a browser (client) plugin for DeepSeek Harness that shifts the whole conversation column left with a draggable handle, freeing up space on the right so plugin content has more room to show.

Center Column Shift screenshot

Center Column Shift in standard mode

What it does

DeepSeek Harness renders a three-column frame: sidebar | conversation | details. Plugin surfaces (e.g. the AgentTeams activity panel, an OmniParser/OmniVision dock, or any panel occupying the right side of the frame) have to share the width with the conversation column, so they often end up squeezed or partially hidden behind it.

This plugin adds a small floating handle (⇔ 移动内容) into the frame-wide shell.overlay layer, vertically aligned with the "Full access" chip. Dragging it applies a translateX() transform to the entire conversation column — session content and the input composer move together — sliding the chat left so the right side opens up. The plugin content sitting on the right then gets the extra space and can display more (wider columns, full panels, more details).

  • Drag the handle to shift the column left (clamped to min(1000px, 50% of frame width)).
  • Double-click the handle or press to reset to the original position.
  • The offset survives session switches: the plugin re-locates the scroll body live (via MutationObserver + ResizeObserver) and replays the current offset whenever the conversation nodes are rebuilt.

Install

# build (from the repo root; requires the DSH checkout's toolchain, see below)
pnpm build

# install into a profile (bundle layer)
dsh plugin --profile <name> add file:G:/deepseek/plugins/dsh_center-column-shift

The package declares itself as a dsh.client plugin (platform: web) and ships a dsh.bundle patch row, so dsh plugin add promotes it to a profile bundle layer; dsh-client-modules then scans the dsh.client declaration and loads the browser half into the web boot manifest automatically. No host-side behavior is provided — the whole feature is client-side.

Note: the package name uses an underscore (dsh_center-column-shift); the client-bundle module id must equal the package name, so it stays in sync automatically (read from package.json at build time).

Usage

After installation and a page refresh, the handle appears vertically centered on the right edge of the conversation column (or above the composer when the access chip is not found). Drag it; release to settle with a smooth transition.

Development

# node half (thin stub) + client half + browser closure bundle
pnpm build

# or step by step, using the DSH checkout toolchain:
$tsc    = "G:\deepseek\deepseek-harness\node_modules\typescript\bin\tsc"
$tsdown = "G:\deepseek\deepseek-harness\node_modules\tsdown\dist\run.mjs"
node $tsc -p tsconfig.json          # node half -> lib/
node $tsc -p tsconfig.client.json   # client half -> lib/client/
node $tsdown                        # closure bundle -> lib/client.js

The client bundle follows the harness clientBundle protocol (window.__ModuleLoader__.load); react, @deepseek-ai/cordis and @deepseek-ai/dsh-client-runtime stay external and resolve from the loader module table at runtime.

License

MIT


dsh_center-column-shift

Center Column ShiftDeepSeek Harness 的浏览器端(client)插件:通过一个可拖动把手,把整个会话列向左平移,给右侧腾出空间,让插件内容显示更多

Center Column Shift 效果图

Center Column Shift 标准模式效果

功能简介

DeepSeek Harness 的界面是 侧栏 | 会话 | 详情 三列布局。各类插件的界面(例如 AgentTeams 活动面板、OmniParser/OmniVision 识别面板,或任何占据框架右侧的插件面板)都要和会话列共享宽度,经常被挤得很窄,甚至被会话列遮挡一部分。

本插件在全局浮层 shell.overlay 上添加一个悬浮把手(⇔ 移动内容),与「Full access」芯片垂直对齐。拖动把手会对整个会话列应用 translateX() 变换——会话内容输入框一起整体向左平移,右侧随之空出来。原本显示在右侧的插件内容就能利用多出来的空间,展示更多内容(更宽的列、完整的面板、更多细节)。

  • 拖动把手,会话列整体向左平移(上限 min(1000px, 50% 帧宽))。
  • 双击把手或点击 复位到原位。
  • 偏移量在切换会话后自动保持:插件通过 MutationObserver + ResizeObserver 实时重定位滚动容器,会话节点重建后自动重放当前偏移。

安装

# 构建(在仓库根目录;需要 DSH checkout 的工具链,见下文)
pnpm build

# 安装到某个 profile(bundle 层)
dsh plugin --profile <名字> add file:G:/deepseek/plugins/dsh_center-column-shift

本包同时声明为 dsh.client 插件(platform: web)附带 dsh.bundle patch 行,因此 dsh plugin add 会把它提升为 profile 的 bundle 层;dsh-client-modules 会扫描 dsh.client 声明并自动把浏览器半加载进 Web 启动清单。本插件不提供任何宿主侧行为,整个功能都在浏览器端。

说明:包名带下划线(dsh_center-column-shift);client bundle 的模块 id 必须等于包名,构建时从 package.json 自动读取,始终保持同步。

使用方法

安装并刷新页面后,把手会出现在会话列右侧垂直居中的位置(找不到访问模式芯片时则显示在输入框上方)。拖动把手,松开后平滑归位。

开发

# node 半(stub)+ client 半 + 浏览器 closure bundle
pnpm build

# 或使用 DSH checkout 工具链分步执行:
$tsc    = "G:\deepseek\deepseek-harness\node_modules\typescript\bin\tsc"
$tsdown = "G:\deepseek\deepseek-harness\node_modules\tsdown\dist\run.mjs"
node $tsc -p tsconfig.json          # node 半 -> lib/
node $tsc -p tsconfig.client.json   # client 半 -> lib/client/
node $tsdown                        # closure bundle -> lib/client.js

client bundle 遵循 harness 的 clientBundle 协议(window.__ModuleLoader__.load);react@deepseek-ai/cordis@deepseek-ai/dsh-client-runtime 保持 external,运行时从 loader 模块表解析。

许可证

MIT

上一个 Prev dsh-plugins 下一个 Next dsh-sxs-news-collector