bowenliang123 / dsh-plugin-checker

목록에 있음

GitHub Action for checking the correctness of DeepSeek Harness (dsh) plugin

main기타 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:bowenliang123/dsh-plugin-checker

이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 e19b9d2동기화 2026. 8. 18.

DeepSeek Harness Plugin Checker - GitHub Action

A GitHub Action that checks the correctness of a DeepSeek Harness (dsh) plugin.

It checks the plugin in the following order, cheapest first:

  1. Check the manifestpackage.json exists, is valid JSON, declares a name, declares dsh.bundle.patch, and the referenced patch file exists. A package without dsh.bundle is not a dsh plugin.
  2. Install with dsh — runs dsh plugin --profile web add; fails if dsh cannot install it (e.g. failed pnpm install).
  3. Verify the layer applies — runs dsh --profile web --dump-config and fails if the plugin does not appear as a bundle layer (# == <name>) in the composed config.

Usage

Add the action to your plugin repository's workflow:

name: ci

on:
  push:
    branches: [main]
  pull_request:

jobs:
  check-plugin:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
      - name: Check the DSH plugin
        uses: bowenliang123/dsh-plugin-checker@v1

This checks the repository root. To check a plugin that lives in a subdirectory, pass rootPath:

      - name: Check the DSH plugin
        uses: bowenliang123/dsh-plugin-checker@v1
        with:
          rootPath: plugins/my-plugin

Inputs

InputDescriptionRequiredDefault
rootPathPath to the plugin root directory, relative to the repository root.No.
profiledsh profile to install the plugin into.Noweb
dshVersionVersion of the @deepseek-ai/dsh npm package to install. Use latest for newest.Nolatest
pnpmVersionVersion of pnpm to install (dsh plugin management runs pnpm internally).Nolatest
nodeVersionNode.js version to run the dsh CLI with.No24

How it works

  1. Sets up Node.js and installs pnpm and the @deepseek-ai/dsh CLI (npm install @deepseek-ai/dsh) from npm.
  2. Checks the plugin's package.json manifest statically (valid JSON, name, dsh.bundle.patch declared, patch file exists).
  3. Runs dsh plugin --profile <profile> add <rootPath> to install the plugin into a fresh dsh profile under the runner home.
  4. Runs dsh --profile <profile> --dump-config and verifies the plugin shows up as a bundle layer (# == <name>), confirming the patch actually loads.

A plugin package.json looks like:

{
  "name": "my-dsh-plugin",
  "version": "0.1.0",
  "type": "module",
  "main": "index.js",
  "dsh": {
    "bundle": {
      "patch": "./cordis.patch.yml"
    }
  }
}

Examples

  • examples/hello-plugin — a minimal valid plugin that passes the check.
  • examples/broken-plugin — a plugin with an invalid package.json that must fail the check.

License

Apache License 2.0

프로젝트 파일 및 신호

표시된 항목은 디렉터리 스냅샷에서 감지된 공개 저장소 신호입니다.

예제감지됨

저장소 정보

라이선스
Apache-2.0
최신 릴리스
v1.2.0
마지막 업데이트
2026. 8. 18. 오후 4:05

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.