vclike/dsh-github-companion0

dsh-github-companion

DeepSeek Harness 插件:AI 操作 GitHub 的完整集成——33 个 REST/GraphQL 工具 + 进程内权限门 + 成本纪律 companion skill,零 gh CLI 依赖。

AI Analysis

核心用途是让 AI 代理直接免 CLI 操作 GitHub。适合需要 AI 协助管理仓库、Issue 或 Git 数据的开发者,内置权限门可控安全边界。

Package
dsh-github-companion
Version
1.0.8-rc1
License
MIT
Last updated
Sep 11, 2026

Install

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:vclike/dsh-github-companion

Configuration (cordis.yml insert row)

- insert:
    - id: github-tools
      name: dsh-github-companion
      config:
        credentialRef: GITHUB_TOKEN
        apiBaseUrl: https://api.github.com
        requestTimeoutMs: 30000
        maxRetries: 1
        maxPerPage: 30
        maxFileBytes: 262144
        enableIssueWrites: true
        enableGitDataTools: false
        enableRepoCreation: false
        actionsGuardEnabled: true
        actionsGuardRefuseOnInProgress: true
        actionsGuardTagCooldownMinutes: 30
        workspaceRoot: ''
        proxyUrl: ''
    - id: github-permission-gate
      name: dsh-github-companion/gate
      config:
        mode: writes                     # off | writes | all
        action: ask                      # ask (approval service) | deny
        excludeTools: [github_search_code, …]  # 11-tool author default
    - id: dsh-github-usage
      name: dsh-github-companion/skill

id: values are the bundle identifiers the loader tracks — they keep the legacy github-tools / github-permission-gate / dsh-github-usage naming so an existing ~/.dsh/settings.yaml keeps working without migration. Only the name: (the module path) follows the new package name. This split keeps the rename a code change, not a settings migration.