跳到主内容

dsh-codex-ui

27Star2Fork0Issue1Watching

把 DSH Web 默认侧栏替换成 Codex 风格侧栏,补齐工作区会话树、全局搜索和轮次导航。

机审证据5/5方法论数据来源安装命令持续维护DSH 版本风险扫描
机审证据安装命令仓库已核验dsh-plugin Topic许可证READMEAI 百科
语言
TypeScript
License
Apache-2.0
分支
main
deepseekdeepseek-harnessdshdsh-plugindsh-plugins

安装

命令web profile
$ dsh plugin --profile web add @michengai/dsh-codex-ui

在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程

对话式安装

帮我安装 DeepSeek Harness 插件 MichengAI/dsh-codex-ui:先查看仓库 https://github.com/MichengAI/dsh-codex-ui 确认安全性,然后执行安装命令并验证插件加载成功。

把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。

一句话定位

把 DSH Web 的默认左侧导航替换成 Codex 风格的侧栏,并把工作区会话树、全局搜索和会话轮次导航一并接管,适合不习惯官方侧栏、又想要更紧凑的会话管理体验的用户。

核心能力

  • 通过官方插槽接管默认侧栏,保留设置入口、底部操作和原生工作区树挂载点
  • 提供 Codex 风格的顶栏(品牌标识、侧栏折叠按钮、全局搜索)
  • 工作区与会话支持展开折叠、拖拽排序、项目置顶、未读圆点和运行状态指示
  • 会话菜单支持重命名、置顶、未读、归档、派生、在新会话中继续、复制路径、复制标题和删除
  • 在当前会话左侧渲染紧凑的轮次导航,一键跳转到对应提问
  • 通过"设置 → 关于"展示配套插件的安装版本与可用更新,并能直接从页面发起缺失依赖的 npm 安装
  • 在"设置 → 连接器"展示当前会话可用的 MCP 服务与工具清单(仅名称和说明,不暴露地址、命令或凭证)

技术实现

  • 语言: TypeScript
  • 关键依赖: @deepseek-ai/cordis、@deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-ui-layout、@deepseek-ai/dsh-client-ui-conversation
  • 架构模式: 双面插件 — Host 侧在 apply 中通过 cordis.patch.yml 关闭默认 ui-sidebar 并插入 codex-ui,客户端侧通过 React + Cordis slots.inject 注册侧栏、工作区树、轮次导航和"连接器/关于"两个设置分区
  • 入口文件: src/index.ts(Host) / src/client/index.ts(Client) / cordis.patch.yml(宿主补丁)

适用场景

日常用 DSH Web 做对话开发、需要在大量项目和会话之间快速切换,觉得原生侧栏不够紧凑、想用 Codex 那样的紧凑树 + 顶栏搜索的用户。同时也适合想从 Web 端接管配套插件(专家、技能、归档、IM、定时任务)的入口,把零散插件收拢到统一侧栏。

前置依赖与兼容性

依赖最低版本说明
@deepseek-ai/cordis4.0.1 ~ 4.x插件运行框架
@deepseek-ai/dsh-client-runtime / -layout / -conversation / -locale / -sidebar / -slots / -primitives / -settings / -settings-general / -ui-sidebar0.1.0-rc.0 ~ <0.2.0宿主 Web 客户端包
@michengai/dsh-agency-agents0.1.3 ~ <0.2.0(可选)缺失时"关于"页给出提示
@michengai/dsh-skills-manager0.1.7 ~ <0.2.0(可选)缺失时"关于"页给出提示
Node.js22+仅从源码构建/二次开发时需要,从 npm 安装无需
平台macOS / Windows / Linux无平台限制

安装方式

dsh plugin --profile web add github:MichengAI/dsh-codex-ui

配置项

本插件无需额外配置。置顶项目、未读会话等状态由插件内部写入宿主 Profile 与浏览器 localStorage,不暴露用户级配置项。

常见问题

Q: 安装后页面没变化怎么办?

A: 插件在 DSH Web 启动阶段通过 cordis.patch.yml 接管侧栏,必须重启 DSH Web 然后硬刷新浏览器(Ctrl/⌘+Shift+R)才会生效;只刷新一次普通刷新可能拿到旧的侧栏缓存。

Q: 能跟 dsh-codex-suite 共存吗?

A: 不能在同一 profile 中同时存在。两者都打相同的侧栏 patch,会冲突;要么单装本插件,要么装整套套件;切换时先卸再装。

Q: 项目置顶状态会丢吗?

A: 置顶项目写在宿主 Profile 的偏好文件并经 localStorage 缓存,DSH 重启和 Desktop 托盘重载后保留;但换浏览器、清空站点数据、或用隐私模式时会丢。置顶会话和未读会话只存 localStorage,清浏览器数据就会丢。

Q: 删除项目或删除会话会把数据也删了吗?

A: 不会。"删除项目"只是把它从侧栏项目列表中移除,本地文件夹和会话记录都保留;会话归档走宿主归档流程,真正永久删除由 @michengai/dsh-archive-manager 提供,本插件不直接销毁会话数据。

Q: "设置 → 连接器"里能看到我的服务器地址或 token 吗?

A: 不能。本插件主动只暴露 MCP 服务名、工具名和说明,服务端在 /api/michengai/codex-ui/connectors 路由里剥掉了地址、命令、凭证等敏感字段。

Q: "频道"和"定时"页签在哪里?

A: 只有装了配套插件才会出现:@michengai/dsh-im-connect 注入 sidebar.channels,@michengai/dsh-automation 注入 sidebar.schedule;插件会监听这两个插槽的占用情况,缺哪个就自动隐藏对应页签。

Q: "关于"页的依赖装不上,提示要退出桌面端?

A: 这是因为插件运行时会锁定自身文件,pnpm 安装会因 EPERM/EBUSY 失败;按提示先完全退出桌面端再让 DSH Web 服务接管,然后在"关于"页重试安装即可。

Q: 从源码安装需要注意什么?

A: 需要 Node 22+ 与 pnpm,克隆后执行 pnpm install --frozen-lockfile、pnpm build,然后用本地目录形式 dsh plugin --profile web add . 安装;不要手工复制 dist,本地安装会同时读取 package.json 与 cordis.patch.yml。

上手难度

入门 — 安装命令一行,默认接管侧栏无需额外配置,普通用户装好重启即可使用;只有二次开发或源码安装时才涉及 Node 22 + pnpm 构建链路。

已知问题与限制

  • 与 @michengai/dsh-codex-suite 在同一 profile 中互斥,两套 patch 会冲突;切换前需要先卸载其一
  • 依赖热更新时如果 DSH Desktop 仍在运行,pnpm 会因文件锁定失败,需要从"关于"页发起安装并按提示先退出桌面端
  • 会话永久删除能力依赖 @michengai/dsh-archive-manager,未安装时"删除会话"会返回"未安装或无法连接归档管理插件"提示,而非真正删除
  • 源码中未发现 TODO/FIXME 标记;限制主要来自上述互斥关系与宿主 API 形态

查看使用指南 →

该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。

收录徽章

Listed on deepseek-plugin.org
[![Listed on deepseek-plugin.org](https://img.shields.io/badge/listed_on-deepseek--plugin.org-007EC6)](https://deepseek-plugin.org/plugins/MichengAI/dsh-codex-ui)

把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。

返回插件目录