在 DeepSeek Harness 中直接读取并复用 Claude Code 的 memory、skills 与全局指令,无需迁移文件即可让两套工具共享同一套记忆与技能。
- 语言
- TypeScript
- License
- MIT
- 分支
- master
安装
$ dsh plugin --profile web add dsh-plugin-claude-bridge在终端中运行以上命令,通过 dsh CLI 安装此插件。可在右上角切换 Profile。 第一次用 dsh?看这篇新手教程
对话式安装
帮我安装 DeepSeek Harness 插件 YYTbit/dsh-plugin-claude-bridge:先查看仓库 https://github.com/YYTbit/dsh-plugin-claude-bridge 确认安全性,然后执行安装命令并验证插件加载成功。
把这段指令粘贴给 DSH Web GUI 里的助手,由它代你完成安装与验证。
一句话定位
让 DeepSeek Harness 直接复用 Claude Code 已经写好的 memory、skills 与全局指令,不需要迁移或复制文件,原样读取原样注入到系统提示里。
核心能力
- 把项目级 memory 注入到系统提示,每次请求重新读取,新增 memory 立即生效
- 把 skills 目录解析成可被模型看到的技能清单(只展示名称与描述)
- 把全局 CLAUDE.md 作为高优先级的早期系统提示段落注入
- 支持额外追加 skills 扫描目录,兼容已有的 ~/.agents/skills 等约定
- 全部三项能力可独立开关,未配置时按默认值启用
技术实现
- 语言: TypeScript (ESM)
- 关键依赖: @deepseek-ai/cordis(注入 systemPrompt 服务)、@deepseek-ai/schemastery(peer dep);运行时仅用 node:fs/promises、node:path、node:os
- 架构模式: 通过 Cordis 插件
apply(ctx, config)钩子向systemPrompt服务注册两段 context(动态、按请求重读)和一段 section(静态、懒加载),通过cordis.patch.yml在宿主中声明插入 - 入口文件: src/index.ts(编排三个数据源);memory.ts 加载 memory;skills.ts 发现并渲染 skills;parser.ts 解析 frontmatter
适用场景
同时在用 Claude Code 和 DeepSeek Harness 的用户,希望两套工具共享同一份记忆、技能和全局规则,避免双写或迁移。典型场景:先在 Claude Code 里养成 memory 习惯,安装插件后切到 DSH 即可继续生效;或者反过来,DSH 项目里希望临时借用到 Claude Code 里沉淀的私有技能库。
前置依赖与兼容性
| 依赖 | 最低版本 | 说明 |
|---|---|---|
| DSH | 未声明具体版本 | 需要宿主暴露 @deepseek-ai/cordis 的 systemPrompt 服务 |
| Node.js | ^22.19.0 或 >=24.0.0 | 由 package.json engines 字段声明 |
| 平台 | 跨平台 | 只使用标准 Node 内置模块(fs/path/os),无原生依赖 |
| 原生模块 | 无 | 仅使用 node:fs/promises、node:path、node:os |
安装方式
dsh plugin --profile web add github:YYTbit/dsh-plugin-claude-bridge
配置项
| 配置 | 类型 | 说明 | 默认值 |
|---|---|---|---|
claudeHome | 字符串 | Claude Code 数据目录路径 | ~/.claude |
projectKey | 字符串 | 当前项目编码后的 key,源码会自动用当前工作目录按 Claude Code 规则编码 | 自动检测 |
enableMemory | 布尔 | 是否把项目 memory 注入到系统提示 | true |
maxMemoryBytes | 数字 | 注入 memory 的字节上限,超出后保留完整条目直到下一个会越界的条目 | 8192 |
enableSkills | 布尔 | 是否把 skills 目录解析成技能清单注入 | true |
maxSkills | 数字 | 注入到系统提示的 skills 数量上限 | 30 |
enableGlobalInstructions | 布尔 | 是否把 ~/.claude/CLAUDE.md 作为全局指令注入 | true |
extraSkillDirs | 字符串数组 | 额外扫描的 skills 根目录,会与默认 skills 目录合并 | [] |
常见问题
Q: 这个插件和 Claude Code CLI 是同一个东西吗?
A: 不是。Claude Code 是 Anthropic 的独立命令行工具;本插件只是把 Claude Code 已经存好的本地数据(memory、skills、CLAUDE.md)搬到 DeepSeek Harness 里用,不会调用 Anthropic 模型或 Claude Code CLI。
Q: 我同时开着 Claude Code 和 DSH,会冲突吗?
A: 不会。插件只读取文件,不写入;Claude Code 自己的运行不依赖这套数据,所以两边可以同时使用同一份 ~/.claude/ 目录。
Q: 为什么我的 skills 没生效?
A: 优先检查三件事:插件配置里 enableSkills 是否被设为 false;maxSkills 是否太小;skill 文件是否带 --- YAML 头且 body 非空。源码里 body 为空会被跳过(详见 src/skills.ts:76)。
Q: memory 怎么按类型排序?
A: 加载时按 feedback > project > reference > user > unknown 的优先级排序(src/memory.ts:68-74);可被识别的 type 字段来自 frontmatter 中的 type: 或 metadata.type:。
Q: 我想把数据搬过去、不再依赖 ~/.claude/,可以吗?
A: 可以。仓库自带一个 PowerShell 迁移脚本 scripts/migrate.ps1,会把全局 CLAUDE.md 复制到 ~/.dsh/AGENTS.md、把 skills 通过 junction 链接到 ~/.agents/skills-claude/、把 memory 合并成项目根的 MEMORY.md。注意这个脚本目前只提供 PowerShell 版本。
Q: 我不想用某个数据源怎么办?
A: 把对应的 enableMemory、enableSkills、enableGlobalInstructions 单独设为 false 即可,无需卸载整个插件。
Q: 卸载会清掉 ~/.claude/ 里的内容吗?
A: 不会。插件对 Claude Code 目录只有读权限,卸载插件只是停止在 DSH 里加载这些数据,原文件保持不动。
上手难度
入门 — 零配置即可工作,所有选项都是可选的;只要 Claude Code 数据存在 ~/.claude/,装上就有效果。
已知问题与限制
- 插件内的
detectMemoryDir(projectsDir, cwd)函数(src/memory.ts:29-32)当前未被入口调用,记忆目录靠encodeProjectPath(process.cwd())直接拼接;如果以后要做模糊匹配或兜底扫描,需要把入口接到这个函数上。 - 仓库自带的迁移脚本
scripts/migrate.ps1只提供 PowerShell 实现,macOS / Linux 用户暂时无法直接用脚本方式搬迁数据,但插件本身在这些平台上仍然可用。 - 没有 TODO / FIXME / HACK 注释,源码层面暂无声明的待办问题。
Bridge Claude Code's memory, skills, and configuration into DeepSeek Harness -- zero migration, full compatibility.
What it does
Reads Claude Code's standard file locations directly -- no migration scripts, no file copying, no symlinks:
~/.claude/projects/<project>/memory/*.md-- Injects memories as dynamic system prompt context~/.claude/skills/<name>/SKILL.md-- Adds skills to the available catalog~/.claude/CLAUDE.md-- Injects global instructions into system prompt
Install
dsh plugin --profile your-profile add dsh-plugin-claude-bridge
Configuration
Works out of the box with zero configuration. All options are optional:
- id: claude-bridge
name: dsh-plugin-claude-bridge
config:
claudeHome: '~/.claude'
enableMemory: true
maxMemoryBytes: 8192
enableSkills: true
maxSkills: 30
enableGlobalInstructions: true
extraSkillDirs:
- '~/.agents/skills'
How it works
Memory injection
Claude Code stores memories as individual markdown files with YAML frontmatter. This plugin reads all memory files, sorts them by type priority (feedback > project > reference > user), and injects them as a dynamic system prompt context section. The context is re-read on each request, so new memories take effect immediately.
Skill catalog
Skills from ~/.claude/skills/ are discovered and their names and descriptions are injected as a catalog in the system prompt.
Global instructions
The content of ~/.claude/CLAUDE.md is injected as an early system prompt section (order 5), so global instructions and model routing rules are preserved.
Related bridge plugins
- dsh-plugin-codex-bridge -- Bridge OpenAI Codex
- dsh-plugin-opencode-bridge -- Bridge OpenCode
- dsh-plugin-pi-bridge -- Bridge Pi Agent
- awesome-dsh-bridges -- Curated list of all bridge plugins
License
MIT -- YYTbit
查看使用指南 →
该插件的安装步骤、关键要点、FAQ 与兼容性说明(基于已收录字段派生)。
收录徽章
[](https://deepseek-plugin.org/plugins/YYTbit/dsh-plugin-claude-bridge)把这段 markdown 粘贴到你的 GitHub README,链接回本插件详情页。徽章只声明已被本站收录,不代表安全认证。