Bundle
dsh-ide-panels
DSH 客户端布局插件:仿 VS Code 的 IDE 外壳——中间标签工具区(编辑器/文档/终端/浏览器/代码变更,可多开)、右侧栏(资源管理器/搜索/源代码管理/远程/扩展/设置/Agent)、底部面板(终端/调试控制台/输出,可拉伸),真实 PowerShell 终端 + 本地代码变更对比 + Git 源码管理 + SSH/WSL 远程,全部可开关,状态持久化。
- Source
- AIRIKE1
- stars
- 1 stars
- License
- MIT
- Updated
- Updated 13 days ago
Readme
<div align="center"> # dsh-ide-panels **DSH(DeepSeek Harness)客户端布局插件 —— 仿 VS Code 的 IDE 外壳** [](LICENSE) [](https://github.com/AIRIKE1/dsh-ide-panels/releases) [](https://github.com/deepseek-ai/deepseek-harness) [**English**](docs/lang/README_EN.md) · 中文 > *"聊天的左边是对话,聊天的右边是你的 IDE。"* **中间工具标签区(编辑器/终端/浏览器/代码变更,可多开)· 右侧栏(资源管理器/搜索/Git/远程)· 底部面板(终端/输出,可拉伸)——全部可开关,状态持久化。** </div> ## 📚 导航 [⚡ 安装](#-安装) · [🎨 功能](#-功能) · [🖥️ 界面结构](#️-界面结构) · [⌨️ 快捷键](#️-快捷键) · [🔍 工作原理](#-工作原理) · [🔷 更新日志](#-更新日志) · [❓ FAQ](#-faq) · [🗺️ Roadmap](#️-roadmap) --- ## ⚡ 安装 2026 年了,你有 Agent,让它自己装。打开 DeepSeek Harness 的插件市场或直接把下面这句丢给任意 Agent: ``` 帮我安装 dsh-ide-panels 这个插件:https://github.com/AIRIKE1/dsh-ide-panels ``` Agent 会自动识别 DSH 的 profile 目录、完成复制、注册 bundle。完成后**重启 DSH Desktop** 即可看到外壳。 <details> <summary>🛠️ 想自己手动装?点开看路径</summary> **一键脚本**(在插件源码目录执行): ```powershell .\install.ps1 ``` **手动三步**: 1. 把 `dsh-ide-panels` 整个文件夹复制到 `%USERPROFILE%\.dsh\profiles\desktop\node_modules\dsh-ide-panels`; 2. 编辑 `%USERPROFILE%\.dsh\profiles\desktop\package.json`,在 `dsh.profile.bundles` 数组末尾追加 `"dsh-ide-panels"`; 3. **重启 DSH Desktop**(新插件的 bundle 需要重新生成启动图,无法热加载)。 > 卸载:从 `bundles` 里移除该名称、删除 `node_modules\dsh-ide-panels` 文件夹即可。 Windows 特殊处理、排障、验证方法见 [📦 详细安装说明 INSTALL.md](INSTALL.md)。 </details> --- ## 🎨 功能 | 区域 | 内容 | 亮点 | |---|---|---| | 🗂️ **中间标签页工具区** | 编辑器 / 文档 / 终端 / 浏览器 / 代码变更 | 同一工具**可无限多开**、标签**拖拽排序**、关闭即回收;空状态是"打开工具"面板 | | 📁 **右侧栏** | 资源管理器 / 搜索 / 源代码管理 / 远程 / 扩展管理 / 设置 / Agent | 图标竖排 + 面板,底部带开关按钮 | | 📉 **底部面板** | 终端 / 调试控制台 / 输出 | 常驻标签条、**高度可自由拉伸**、内容区随动 | | 🖥️ **真实 PowerShell 终端** | node-pty + xterm.js | winpty 后端稳定输出、**Ctrl+滚轮缩放字号**、容器自适应行列 | | 🆚 **本地代码变更对比** | 快照基线 → 前后文件对比 | **不依赖 git**:建立基线后,改过的文件左右分栏展示,新增代码**绿色高亮** | | 🌿 **Git 源码管理** | status / stage / commit / diff / log | 无仓库时一键**初始化**;变更列表 + 提交历史 | | 🌐 **远程资源管理器** | SSH / WSL | 直接输入 IP/主机连接;SSH 分组读取 `~/.ssh/config`、WSL 列出发行版 | | 🔍 **本地文件搜索** | 文件名 / 内容 / 两者 | 不依赖 Agent,递归扫描,点击结果直达编辑器 | --- ## 🖥️ 界面结构 ``` ┌─────────────┬──────────┬──────────────────┬───────────┬─────────┐ │ │ │ │ 编辑器 │ │ │ DSH 会话 │ 聊天 │ 中间标签工具区 │ 文档 │ 右侧栏 │ │ 侧栏 │ (常驻) │ (标签可多开) │ 终端 │ (竖排) │ │ │ │ │ 代码变更 │ │ │ │ ├──────────────────┴───────────┴─────────┤ │ │ │ 底部面板:终端 / 调试控制台 / 输出 │ └─────────────┴──────────┴─────────────────────────────────────────┘ ``` - **左侧**:DSH 自带会话侧栏(保留) - **聊天**:始终在左侧 400px,不被任何面板遮挡 - **中间**:工具标签区(可拖拽/多开/关闭) - **右侧**:主侧栏(图标竖排 + 面板) - **底部**:面板条(可拉伸高度) --- ## ⌨️ 快捷键 | 操作 | 方式 | |---|---| | 开关整个外壳 | `Ctrl+Shift+S` | | 切换右侧栏 | `Ctrl+Shift+J` | | 切换底部面板 | `Ctrl+Shift+B` | | 收起单个面板 | 面板标题右侧 ✕ | | 终端缩放字号 | 终端内 `Ctrl+滚轮` | 所有开关状态持久化在 Host settings(`ui-panels` 命名空间,全小写,符合 DSH 命名规范),重启后保持。 --- ## 🔍 工作原理 1. 插件注册进官方 `shell.overlay` 槽位(root 级 list),在 DSH 对话界面叠加可开关的外壳; 2. 右侧栏注册进 AppFrame 的 `details` 槽位(priority -1 压制官方详情面板),作为同级网格列渲染——对话列自动变窄、互不遮挡; 3. 网格用 CSS 变量(`--dp-left/--dp-right/--dp-chat/--dp-strip`)动态驱动:侧栏宽、聊天宽、右侧宽、底部高都能拖拽/拉伸,并随窗口大小自适应; 4. 终端走 host 端 node-pty(winpty 后端)——真实 PowerShell 进程,xterm.js 渲染,轮询读写; 5. 代码变更走**本地文件快照**(`.dsh-changes/` 目录)——不依赖 git,任何目录都能对比; 6. 搜索/远程/Git 全部由 host 路由直连本地(`/dsh-ui-panels/*`),不经过 Agent。 --- ## 🔷 更新日志 > 🔷 **2026.08.18 — v0.1.0 发布**:首个版本。中间标签工具区(多开/拖拽/关闭)、右侧栏(资源管理器/搜索/Git/远程/扩展/设置/Agent)、底部面板(可拉伸 + 终端/调试/输出)、真实 PowerShell 终端(winpty + xterm)、本地代码变更对比(快照 + 前后高亮)、Git 源码管理、SSH/WSL 远程、本地文件搜索。 > ⭐ 觉得好用的话,给仓库点个 Star 吧! --- ## ❓ FAQ **装了没效果?** 重启 DSH Desktop。新插件的 bundle 需要重新生成启动图,无法热加载。 **中间"打开工具"面板点不开工具?** 旧版本设置里可能存了旧格式的标签数据;重启一次(host schema 已更新为多开结构)即可。 **代码变更对比为什么是空的?** 先点"建立基线"——它会把当前目录所有文本文件存一份快照;之后改过的文件才会列出来。不依赖 git,任何目录可用。 **终端没有输出?** 确认 host 端 node-pty 可用(重启后生效)。终端是真实 PowerShell(winpty 后端),连接断开点"重连"。 **远程 SSH 连不上?** 先在输入框填 `user@ip` 直接连接;用 `~/.ssh/config` 里配置的主机需要免密/密钥认证。 **怎么卸载?** 从 `dsh.profile.bundles` 移除该名称,删除 `node_modules\dsh-ide-panels` 文件夹,重启。 --- ## 🗺️ Roadmap - [x] 中间标签工具区(多开/拖拽/关闭/溢出收纳) - [x] 右侧栏(去重 + 竖排开关) - [x] 底部面板(可拉伸/常驻) - [x] 真实 PowerShell 终端 - [x] 本地代码变更对比(不依赖 git) - [x] Git 源码管理 / SSH+WSL 远程 / 本地搜索 - [ ] 设置里自定义右侧栏/中间工具 - [ ] 标签右键菜单(复制/固定) - [ ] 多工作区文件树 --- <div align="center"> *Created by [AIRIKE](https://github.com/AIRIKE1) · [MIT License](LICENSE) · Powered by [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness)* </div>
Install
dsh plugin --profile web add github:AIRIKE1/dsh-ide-panels
Profile: web
With the hub plugin installed, ask your agent to install it by name — it resolves the same plan shown here.
dsh plugin --profile web add github:stvlynn/dsh.fish#path:packages/dsh-plugin-hub
install dsh-ide-panels from the hub
- This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.