dshbase

插件目录 / Developer / dsh-claude-in

dsh-claude-in

未验证 ShinewineW

✓ 持续维护 2 位贡献者 基于 2 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

1Stars
0Forks
0未关闭 issue
语言
2026-08-16最近推送
跨平台平台

功能简介

Read-only Claude Code compatibility bridge for DeepSeek Harness: Skills, Rules, command Hooks, and Agents from .claude as SSOT.

我们的评价
未验证 — 尚未实测

Read-only Claude Code compatibility bridge for DeepSeek Harness: Skills, Rules, command Hooks, and Agents from .claude as SSOT. 尚未验证——请自行安装测试。

「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

你是插件作者? 想拿到「已验证」标签——提交你自己的验证证据(截图、日志或短视频),我们审核通过后即改为「已验证」。

提交验证证据 ↗

README

dsh-claude-in

English | 简体中文

GitHub release
License
DeepSeek Harness plugin

Use an existing Claude Code workspace in DeepSeek Harness without maintaining a second copy of its configuration.

dsh-claude-in loads Rules, Skills, command Hooks, and Agent definitions directly from .claude. The source files remain unchanged, making .claude the single source of truth across Claude Code and DSH.

Highlights

  • No migration — Claude assets are read at runtime instead of copied into DSH-specific files.
  • Project and user scopes — loads the current workspace .claude together with ~/.claude.
  • Native DSH integration — exposes Skills through the DSH skill service, injects Rules into sessions, and bridges command Hooks to DSH events.
  • Explicit links stay valid — linked Skills and Rule imports continue to resolve outside the discovery roots.
  • Optional DSH adaptations — project-specific overrides live under .dsn, leaving Claude assets untouched.

Supported assets

Claude Code asset Sources DSH integration
Rules .claude/rules/**/*.md, ~/.claude/rules/**/*.md Baseline and path-scoped session instructions
Skills .claude/skills/**/SKILL.md, ~/.claude/skills/**/SKILL.md Native DSH skills, read from source when invoked
Command Hooks hooks.json, settings.json, settings.local.json DSH lifecycle hooks
Agents .claude/agents/**/*.md, ~/.claude/agents/**/*.md Agent catalog and claude-agent-* skills

Session history, MCP configuration, Claude plugins, commands, memory, and direct CLAUDE.md injection are outside this plugin's scope.

Install

GitHub source

dsh plugin --profile web add github:ShinewineW/dsh-claude-in#v0.1.0

Git-based installation builds the package through its prepare script. pnpm 10 or later may require the build to be allowed in the target profile:

# $DSH_HOME/profiles/web/pnpm-workspace.yaml
allowBuilds:
  dsh-claude-in: true

After adding the entry, run the installation command again.

Prebuilt release

The release tarball does not require install-time build permission:

curl -LO https://github.com/ShinewineW/dsh-claude-in/releases/download/v0.1.0/dsh-claude-in-0.1.0.tgz
dsh plugin --profile web add ./dsh-claude-in-0.1.0.tgz

How it works

Discovery has two entry points:

  1. .claude directly under the current DSH workspace
  2. ~/.claude

Parent directories and unrelated filesystem locations are not scanned. A session started from a nested directory does not inherit a .claude directory located higher in the tree.

Symbolic links within discovered Skill and Agent trees are followed. Rule @import directives may also resolve files or directories outside the discovery roots. These are explicit asset references, not additional discovery locations.

Rules

Rules without paths or globs are included in the session baseline by default. alwaysApply: true provides the same behavior explicitly. Path-scoped Rules are matched when DSH read, write, or edit tools touch a file and are injected once per session after the matching tool result.

Project and user Rules are combined. Project Rules are rendered first and receive priority if the configured context budget is exhausted.

Skills

Each valid SKILL.md is registered with the DSH skill service. The original file is read when the Skill is invoked, so updates remain in .claude and no managed copy is created.

Name precedence, from highest to lowest:

  1. Project .dsn/skills
  2. User ~/.claude/skills
  3. Project .claude/skills

Hooks

The following Claude command Hook events are bridged:

  • SessionStart
  • UserPromptSubmit
  • PreToolUse
  • PostToolUse
  • Stop
  • SubagentStart
  • SubagentStop

Hook groups from hooks.json, settings.json, and settings.local.json are appended in that order. Project Hooks run before user Hooks. ${CLAUDE_PROJECT_DIR} and ${CLAUDE_PLUGIN_ROOT} are resolved for the active workspace before execution.

Blocking exit code 2, permissionDecision, and additionalContext are supported. Non-command Hook types are skipped with a warning.

Agents

Agent definitions are added to a lightweight session catalog and exposed as Skills named claude-agent-<name>. Invoking one of these Skills loads the Agent definition and system prompt from its original Markdown file for use by the DSH subagent workflow.

Project Agent definitions take precedence over user definitions with the same name.

Project adaptations

DSH-specific behavior can be configured without changing Claude assets:

# .dsn/dsh-claude-in.yml
enabled: true
loadRules: true
loadSkills: true
loadAgents: true
loadHooks: true

hooks:
  PreToolUse:
    - from: "npx tsc --noEmit"
      to: "/opt/dsh/tsc-check.sh"

Hook adaptations use exact command matching and replace only the command text. The event, matcher, timeout, and execution semantics remain unchanged.

DSH-only Skills can be placed under .dsn/skills/<name>/SKILL.md. The plugin never creates or modifies .dsn files.

Configuration

The default plugin configuration is equivalent to:

enabled: true
claudeDir: ".claude"
adaptDir: ".dsn"
loadRules: true
rulesMaxBytes: 131072
ruleMaxSourceBytes: 65536
ruleImportMaxDepth: 8
defaultAlwaysApply: true
loadSkills: true
loadAgents: true
loadHooks: true
hookTimeoutMs: 600000
stderrSummaryMaxChars: 500

claudeDir and adaptDir accept one relative directory name. Absolute paths and directory traversal are rejected.

Security

Claude assets are read-only, but command Hooks execute shell commands from project and user configuration. Project Hook execution therefore carries the same trust implications as trusting that workspace in Claude Code.

Hooks can be disabled per project:

# .dsn/dsh-claude-in.yml
loadHooks: false

Explicit Skill symlinks and Rule imports can reference content outside .claude; those referenced targets are part of the trusted configuration surface.

Known limitations

  • Only command Hooks and the listed lifecycle events are supported.
  • Hook outputs such as updatedInput, systemMessage, and updatedToolOutput are not applied.
  • Agent model and tools fields are included in the bridged definition but are not enforced as native DSH runtime restrictions.
  • Path-scoped Rules are injected after a matching read, write, or edit result and cannot retroactively govern the first completed write or edit.
  • File access performed inside shell commands is not visible to path-scoped Rule matching.
  • Rule and Agent baselines use a short metadata cache rather than file-level watchers.

Development

npm ci
npm test
npm run build
npm pack --dry-run

The build is self-contained and does not depend on a DeepSeek Harness source checkout.

License

BSD-3-Clause. Hook execution semantics are adapted from @deepseek-ai/dsh-hooks-claude-code, also distributed under BSD-3-Clause.

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-claude-in」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:ShinewineW/dsh-claude-in

Headless(CLI)profile:

dsh plugin --profile headless add github:ShinewineW/dsh-claude-in

实测报告

尚未 L3 验证——若已跑过,见下方失败备注。

状态:pending · 最近测试 2026-08-27
备注:验证: runtime-fail 浏览全部待验证失败 →
安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7795 个插件 →