跳到正文
dsh-market 浏览插件 GitHub EN

lcestou/dsh-oh-my-claude

把已登录的 Claude Code CLI 作为 dsh 的模型提供商:实时模型列表、按会话恢复、审批中转、图片、记忆/回退/变更面板,以及远程 SSH 主机上的工作区。

Star 数 ★ 6 分类 模型与账号接入 收录于 2026-09-13 npm dsh-oh-my-claude

安装

在 DeepSeek Harness 里通过 dsh-market 安装

dsh plugin --profile web add dshmarket

或使用命令行

dsh plugin --profile web add dsh-oh-my-claude

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 commit(github:owner/repo#sha)。

README


把 Claude Code CLI 作为 dsh 的 LLM 提供方。每次请求都以 stream-json 输入输出驱动 claude -p,因此沿用 Claude Code 已有的登录、hooks、CLAUDE.md、MCP 服务器和速率限制。无需 API key。插件直接使用 CLI 自己的协议(Agent SDK 封装的就是它),所以没有运行时依赖。

插件界面跟随 dsh 的语言设置(设置 → 通用设置 → 语言)。详细文档目前只有英文版,下方链接均指向英文文档。

功能一览

这个盾牌是 dsh 自带的控件。在 Claude 会话里,它的各项变成 Claude 的六种权限模式,每项都标出它对应的 dsh 访问级别。

输入框旁的一个 ✻ 按钮打开整个插件:记忆、说明、技能、回溯、改动、MCP、旁问、诊断、任务和调校;会话还是空白时另有一个恢复标签。

费用和缓存 token 数是 dsh 自己算不出的两个数字,它们出现在 dsh 底部的统计行里。会话花费超过你设定的额度后,这个标签会变成橙色。金额按 API 价格计算;使用 Claude 订阅时不会向你收取这笔钱。

套餐用量和 CLI 自己的上下文明细显示在 dsh 的上下文圆环弹窗里。在手机上,面板变成底部弹层。

保存一台 SSH 主机后,dsh 自带的添加工作区对话框会多出一个主机下拉框:那台主机上的文件夹可以成为这里的工作区,其中的会话在那台主机上运行 Claude Code。

截图由 tools/playwright/tour.ts 生成。

安装

需要 Claude Code CLI 在 PATH 上并已登录(claude --version 能运行,打开 claude 不会要求登录),以及 dsh 0.2(0.2.0-rc.1 或更新版本)。dsh 0.1.x 请按下方兼容性表格安装对应的 npm 标签。别的都不需要:没有 API key,没有 Node 构建步骤。

dsh plugin --profile web add dsh-oh-my-claude                        # 从 npm 安装
dsh plugin --profile web add github:lcestou/dsh-oh-my-claude         # 或直接从仓库安装
systemctl --user restart dsh-web.service   # 或用你自己的方式重启 `dsh web`

这个包声明了 dsh bundle,所以 dsh plugin add 会自动把它登记到 profile 里。重启后,模型选择器里会出现 "Oh My Claude",列出你的登录可用的模型。选一个就能开始对话。

如果选择器里显示 Oh My Claude (未登录),请在运行 dsh 的机器上打开终端运行 claude auth login,或在 设置 → Oh My Claude → 主机 中点击登录。

DSH Desktop(macOS 和 Windows)通过自己的插件页面安装和更新插件,而不是 dsh plugin 命令:在那里添加 dsh-oh-my-claude,并按提示重启。从 Dock 启动的应用看不到你 shell 的 PATH,所以插件会在常见的安装目录里查找 claude。在 Windows 上,插件把 Claude 作为 dsh 的普通子进程运行,因此重启应用会中断正在进行的回合,需要 Unix shell 的功能(在设置里登录、SSH 主机)也不可用。服务端已按 Desktop 的方式在 Linux 上用 Electron 运行过;真实的 Mac 或 Windows 安装还没有试过。

npm 上有新版本时,设置和面板的运行环境行会出现一个带版本号的橙色标签,点击即可复制更新命令。详情以及插件在 dsh 升级后自行完成的修复,见 Plugin updates。

可选,在 ~/.dsh/settings.yaml 中:

agent-default-model:            # 让新会话默认使用 Claude Code
  provider: claude-code
  model: claude-fable-5-1
subagent-model-selection:       # 让 dsh 子智能体也能使用 Claude Code
  enabled: true
  allowedModels:
    - provider: claude-code
      model: claude-haiku-4-5

想参与开发插件本身?从 docs/developing.md 开始。

兼容性

dsh 只发布预发行版,客户端 API 也会在版本之间变动,所以插件的每个版本都记录它面向的 dsh 范围和实际运行验证过的 dsh。"可运行于"是代码带有兼容分支的范围;"测试于"是发版时机器上安装的那个 dsh。更新提示会从 npm 读取最低 dsh 版本,低于它的机器不会收到该版本。

插件 可运行于 dsh 测试于 dsh npm 标签
1.5.2 0.2.0-rc.1 至 0.2.0-rc.2 0.2.0-rc.2 latest、dsh-0.2
1.4.1 0.1.5-rc.1 至 0.1.7-rc.2 0.1.7-rc.2 dsh-0.1.7
1.4.0 0.1.5-rc.1 至 0.1.7-rc.2 0.1.7-rc.2 无,已由 1.4.1 取代
1.3.1 0.1.5-rc.1 至 0.1.6-alpha.2 0.1.6-alpha.2 dsh-0.1.6
1.2.1 0.1.5-rc.1 至 0.1.6-alpha.2 0.1.6-alpha.2 dsh-0.1.5

你能得到什么

  1. 在 dsh 自己的选择器里使用你的登录可用的任何 Claude 模型。Models
  2. 每个 dsh 会话都会续接它的 Claude Code 会话(包括工具历史),终端里的 claude /resume 看到的是同一个会话。Sessions
  3. 重启 dsh 不会中断正在运行的 Claude 回合。Restarts
  4. dsh 的访问权限盾牌按会话设置 Claude 的六种权限模式。Permission mode
  5. Claude 的权限请求、提问和计划审阅都变成 dsh 对话框。Approvals
  6. 一个 ✻ 按钮打开记忆、回溯、改动、MCP 等十余个标签,全部可以用键盘操作。The panel
  7. 费用和缓存 token 显示在 dsh 底部,超过设定额度时标签变橙。Cost pill
  8. 套餐用量(5 小时、每周、额外用量)显示在 dsh 的上下文圆环里,接近上限时变琥珀色,达到上限时变红,并在输入框上方提示。只统计会话所用模型计入的额度,由 Anthropic 判定,所以新模型无需更新插件。Plan usage
  9. 恢复或导入任何过去的 Claude 记录,无论来自 dsh 还是终端,并可在其中搜索说过的内容。Session browser
  10. Claude 的斜杠命令和技能以 /claude-<name> 出现在 dsh 的斜杠菜单里。Command bridge
  11. Claude 可以通过 MCP 使用 dsh 的子智能体、后台任务、目标和网页搜索。dsh tools over MCP
  12. 在面板里编辑本机或远程主机上的 CLAUDE.md、settings.json 和 MCP 服务器,并登录需要登录的 MCP 服务器。Instructions、settings.json editor、MCP
  13. 通过 SSH 在另一台主机上运行 Claude,或挂载多个账号。Remote boxes and accounts
  14. 用一份已脱敏的本机报告反馈问题,可复制,也可直接提交 issue。Report a problem
  15. 所有橙色都可以按组关闭,颜色也可以自选。Claude look
  16. 选择 dsh 往你的提示词里添加哪些内容,每一块的大小都标在标签上。dsh context
  17. 会话所在主机有新的 Claude Code 版本时会出现卡片,并可在 dsh 里直接安装;无界面的 claude -p 从不自动更新。每台主机的更新渠道、自动安装和历史记录都在设置里的开关下。Claude Code updates
  18. 在设置里查看最近五个版本的变化,内容来自插件自己的更新日志。Changelog
  19. 按范围列出 CLI 能用到的所有技能,你自己的和项目的技能可以添加、编辑和删除。每个技能的开销来自 CLI 自己的 /skill-doctor,是一张可排序的表格,旁边还有其他影响用量的因素:请求最多的 MCP 服务器,以及工作的构成。Skills
  20. 你没在看的会话完成或停下来问你时,浏览器标签页会有标记,还可以选择弹出桌面通知。Session notices
  21. dsh 自己的目标和会话以往的每个目标,与 Claude Code 的目标和定时任务并列显示。Tasks
  22. Claude 工作时你插话发送的消息,在 Claude 读取之前可以编辑或移除,也可以合并为一条编辑。消息上的文件或图片会保留,只修改文字。编辑期间消息不会发出。“立即发送”会打断 Claude,把这条消息作为下一轮发出。Steering
  23. 向上滚动越过 Claude 的工作状态行(旋转图标、动词、数字)后,它会在输入框上方重复显示,回看一长轮时也不会错过 Claude 正在做的事。设置中有开关可关闭。轮次状态
  24. 在回复中选中文本,即可将其引用到消息中,或作为旁问向 Claude 提问,不占用对话本身;问题留空时,Claude 会解释这段内容。你自己消息里的引用也会像 Claude 回复中的引用一样显示:缩进,左侧有强调色竖线。旁问
  25. 一轮结束后,标题处保留一行收尾,和终端里一样:✻ 烘焙了 27s · 03:21 完成。被你停止的一轮显示 已中断 · 想让 Claude 改做什么?。轮次状态
  26. 在 dsh 0.1.7 上,Claude 的工具调用显示为 dsh 自己的工具卡片,和其他提供方一样,文字在卡片之间实时输出。也可以在设置中切换回行内文本。工具行
  27. 在工作区中新建会话时,会使用该工作区上次运行的 Claude 主机和模型。按工作区记住模型

一些你永远不必动的默认行为,比如工具结果中的密钥脱敏和挺过 CLI 自身的更新,见 How it works。

配置

设置分两类。设置 → Oh My Claude 下和面板调校标签里的开关立即生效,并保存在本机,所以每个浏览器看到的都一样。下面这些键在安装时配置:写在 profile 的 cordis.patch.yml 中该 bundle 行的 config: 下,dsh 下次加载插件时生效,重启 dsh 即可。dsh 自己的插件页面会列出这个插件并提供开关,但没有这些键的表单。最常改的三个键:

permissionMode: dsh      # 跟随会话的盾牌(默认),或固定为 CLI 的六种模式之一
spawn: keeper            # Claude 在 dsh 重启后继续运行(默认);node 或 dsh 则作为普通子进程
sshHost: ""              # "[user@]host" 通过 ssh 驱动另一台机器上的 claude

每个键及其默认值见 docs/configuration.md。

远程主机和账号

用不同的 configDir 把插件挂载两次,即可使用两个登录。在 设置 → Oh My Claude → 主机 中列出其他运行 dsh 和本插件的主机,并在它们之间切换。也可以给一台主机起个名字、填上 user@host,通过 SSH 驱动那里的 claude,远端只需要安装 CLI;Tailscale 和 WireGuard 对等节点会作为可选主机出现。详见 docs/remote.md。

它会接触什么

  • 运行 你已有的 claude 程序,在本机或你通过 SSH 添加的主机上。
  • 读取 Claude Code 的登录信息(~/.claude/.credentials.json,或已设置的 ANTHROPIC_API_KEY),用来获取模型列表和套餐用量。这个令牌只会发往 api.anthropic.com。
  • 写入 自己的状态到 ~/.local/state/dsh-oh-my-claude/;SSH 主机的登录令牌保存为只有你能读取的文件。CLAUDE.md、settings.json 和 MCP 服务器只在你从面板编辑时才会改动。
  • 监听 一个 Unix socket,供在 dsh 重启期间托管 Claude 的 keeper 使用。不开放 TCP 端口:插件的 HTTP 路由都在 dsh 自己的服务器里。
  • 访问 api.anthropic.com(模型、套餐用量)、status.anthropic.com、downloads.claude.ai(CLI 的版本指针)、registry.npmjs.org(插件更新检查)和 api.github.com(仓库的 Star 数)。SSH 只连接你添加的主机。

不包含的内容

  • dsh 的 shell 和文件工具不经过代理(后台任务用的 bash 除外);Claude Code 使用自己的工具,受它自己的权限模式约束。
  • 删除 dsh 会话时不会删除对应的 Claude Code 会话。

问题与反馈

发现 bug,或有读起来不对的地方?请在 github.com/lcestou/dsh-oh-my-claude/issues 提交 issue,附上 dsh 和 Claude Code 的版本(dsh --version、claude --version)以及你期望看到的结果。设置 → Oh My Claude → 报告问题 会替你写好这份报告。

许可证

MIT。

Claude、Claude Code 和 Claude spark 标志是 Anthropic, PBC 的商标。本项目是一个独立的 dsh 插件,驱动你已有的 Claude Code CLI;它并非由 Anthropic 制作、认可或支持。这里画出 spark 只是为了标明哪些会话和控件属于 Claude Code,方式与 CLI 自身的画法一致。

内容来自项目 README(GitHub)↗

评论

评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。