Hjjj0918/dsh-plugin-local-utilities0

dsh-plugin-local-utilities

DeepSeek Harness 的本地实用工具插件:支持 Windows 完成通知和外部 GitHub 技能导入。

AI 分析

核心用途是提供 Windows 系统级任务完成通知,并允许配置和加载外部 GitHub 技能。适合 Windows 平台下需要后台任务提醒及扩展 Agent 技能的用户。

套件
dsh-plugin-local-utilities
版本
0.1.0
授權
MIT
最近更新
2026年8月14日

安裝

此插件尚未提供可驗證的 bundle,或相容性檢查未通過。請先閱讀倉庫說明。 閱讀完整 README ↗

Local Harness Usage

Create a local patch file from the example and edit the plugin path:

cd C:\path\to\dsh-plugin-local-utilities
copy cordis.example.yml cordis.local.yml

In cordis.local.yml, replace the placeholder name with the absolute file:/// URL for this repository's src/index.ts:

- insert:
    - id: local-utilities
      name: 'file:///C:/absolute/path/to/dsh-plugin-local-utilities/src/index.ts'
      config:
        externalSkills:
          - name: khazix-writer
            description: Write in a natural human style with less mechanical phrasing.
            url: https://github.com/KKKKhazix/khazix-skills/tree/main/khazix-writer
            whenToUse: Use when the user asks for natural, human-like writing.

This example uses a human-writing skill. Add more external skills to the externalSkills list as needed. Run Harness from the DeepSeek Harness checkout and pass your edited local patch file:

cd C:\path\to\deepseek-harness
pnpm.cmd dsh web --patch C:\path\to\dsh-plugin-local-utilities\cordis.local.yml

You can also run the same Harness command from this plugin repository. The dsh script delegates to a sibling deepseek-harness checkout, or to DSH_HARNESS_DIR when that environment variable is set:

cd C:\path\to\dsh-plugin-local-utilities
pnpm.cmd dsh web --patch C:\path\to\dsh-plugin-local-utilities\cordis.local.yml

If the default port is busy:

pnpm.cmd dsh web --patch C:\path\to\dsh-plugin-local-utilities\cordis.local.yml --port 3082

A successful startup prints:

[local-utilities] loaded

If Harness is already on your machine

If your local DeepSeek Harness checkout is already present, clone this repository next to it and use the default sibling lookup:

C:\Users\admin\Desktop\Development\Projects\Agent\deepseek-harness
C:\Users\admin\Desktop\Development\Projects\Agent\dsh-plugin-local-utilities

Then run:

cd C:\Users\admin\Desktop\Development\Projects\Agent\dsh-plugin-local-utilities
pnpm.cmd install
copy cordis.example.yml cordis.local.yml
pnpm.cmd dsh web --patch C:\Users\admin\Desktop\Development\Projects\Agent\dsh-plugin-local-utilities\cordis.local.yml

If the two repositories are not siblings, set DSH_HARNESS_DIR first:

$env:DSH_HARNESS_DIR="C:\Users\admin\Desktop\Development\Projects\Agent\deepseek-harness"
pnpm.cmd dsh web --patch C:\Users\admin\Desktop\Development\Projects\Agent\dsh-plugin-local-utilities\cordis.local.yml

In both cases, the plugin repository still needs its own pnpm.cmd install so the file:///.../src/index.ts import can resolve local package dependencies.

Configuration

interface Config {
  enabled: boolean
  title: string
  message: string
  balloonMs: number
  rootAgentsOnly: boolean
  externalSkills?: ExternalSkillSource[]
}

interface ExternalSkillSource {
  name: string
  description: string
  url: string
  whenToUse?: string
}

externalSkills[].name must satisfy the Harness skill registry name rule: kebab-case, for example khazix-writer or human-writing. The plugin schema accepts a string, and the Harness registry rejects invalid skill names during catalog loading.

Supported external skill URLs:

  • https://github.com// reads SKILL.md from the repository root on the main branch.
  • https://github.com///tree// reads /SKILL.md from that ref.
  • https://github.com///blob// /SKILL.md reads that exact SKILL.md file.
  • https://raw.githubusercontent.com//// /SKILL.md reads Markdown text directly.
  • Any direct non-GitHub URL returning Markdown text.

GitHub repository URLs are loaded through the GitHub Contents API to avoid depending on raw.githubusercontent.com DNS availability.

Branch or tag names containing / are not supported in GitHub tree or blob URLs because GitHub encodes refs and paths in the same URL path. Use a raw URL or a direct Markdown URL for those refs.