dsh-github-flow
Đã xác minhdsh-github-flow · v0.1.7 · MIT · Giao diện web
GitHub Flow: Native GitHub CLI (gh) integration for DeepSeek Harness — Agent Tools, Slash Commands, and Web UI Workspace
Cài đặt
dsh plugin add dsh-github-flow Xác nhận layer đã áp bằng dsh --profile default --dump-config — xem hướng dẫn cài plugin.
Mã nguồn
Thẻ
Tác giả
Readme
DSH GitHub Flow (dsh-github-flow)
基于 GitHub CLI (gh) 为 DeepSeek Harness (DSH) 打造的现代化原生工作流集成插件。
深度打通本地 Git 仓库开发与远程 GitHub 协作(PR、Issue、Actions CI 诊断与代码审查),兼备 Agent 模型工具、人类 Slash 指令以及原生 Web UI 双重视图。
简体中文 | English
🌟 核心特性
- 零鉴权配置,开箱即用:
- 自动复用宿主机已通过
gh auth login认证的登录凭据(OAuth Token / 系统 Keyring),无需在 DSH 中存储任何明文 GitHub PAT。
- 自动复用宿主机已通过
- 工作区目录深度亲和与零参数探测 (CWD & Git Auto-Binding):
- 自动绑定当前会话所在的物理工作区目录,原生直读本地
.git/config并映射workspace.json;具备 Git 强校验、父子级目录智能穿透与会话 ID 上下文透传机制,杜绝非 Git 目录误选,无需 Agent 或人类手动传参owner/repo,零参数直接识别关联仓库。
- 自动绑定当前会话所在的物理工作区目录,原生直读本地
- 高信噪比与 Token 防溢出治理:
- 拒绝 70+ 个碎片化微型工具撑爆上下文,收敛聚合为 5 大领域核心 Tool。
- 所有查询原生采用
--json <fields>按需返回;对diff、log_failed设置安全截断保护(默认 24KB),防止模型上下文窗口溢出崩溃。 - 工具层已通过防御性输出包装,列表与标量 100% 契合 DSH 工具网关模式约束。
- 原生 Web UI 双重视图与多维任务治理:
- 全局驾驶舱(主导航栏
sidebar.panellist,Order 20):透视账号全局仓库、本地工作区矩阵联动状态;重构并支持三维 Issue 智能聚合(「📥 用户提单」/「🎯 分配待办」/「✍️ 我发起的」),提供四态响应式药丸过滤与身份徽章; - 右侧栏工作区面板(
sidebarRightTabs,Order 40):自动绑定当前工程,常驻呈现 PR 门禁状态、当前仓库 Open Issues 任务列表(带提出人、分类徽章、标签与直达链接)、CI 构建流水线,以及快捷黄金网格(浏览器打开、查看所有 Issues、查看所有 PRs、快速创建 PR、新建 Issue),零弹窗依赖; - 全场景双模式原生自适应:深度契合 DSH 官方 DSW(DeepSeek Web)设计变量规范,通过
body[data-ds-dark-theme]驱动浅色与深色主题实时零延迟平滑切换。
- 全局驾驶舱(主导航栏
- 健全的环境诊断与三态就绪引导 (Three-State Setup Engine):
- 告别空状态困惑:精准建立「未安装 CLI (
Missing)」➜「已安装未登录 (Required)」➜「已认证就绪 (Active)」三态状态机; - 自动识别宿主机操作系统(Windows/macOS/Linux),按平台提供包管理器安装命令(Windows 下
winget install --id GitHub.cli、macOS 下brew install gh)与官方安装包直达; - 支持一键复制命令与安全白名单系统终端一键唤起;
- 具备**窗口焦点自愈(Focus Auto-Recovery)**机制:切到外部终端或浏览器授权完毕后,切回 DSH 界面自动探测刷新,无感恢复。
- 告别空状态困惑:精准建立「未安装 CLI (
- 符合 Cordis 官方微内核架构:
- 暴露原生
GitHubService(ctx.github),允许生态其他插件复用; - 具备符合 Standard Schema 规范的运行时配置校验(
Config); - 支持领域事件系统(
github/pr:create,github/issue:create)。
- 暴露原生
📸 界面预览
全局全景驾驶舱 (Global Cockpit)
透视账号云端所有 GitHub 仓库、本地工作区矩阵联动状态,以及待办 PR 和多维分类 Issues(支持用户提单、指派待办、我发起的多维药丸切换与状态徽章):
会话右侧栏工作区面板 (Session Workspace Panel)
自动绑定当前工程关联仓库,常驻呈现 PR 状态药丸、当前仓库 Open Issues 任务列表、Actions 构建流水线与快捷操作网格:
🚀 安装指南
在 DSH 终端执行以下命令直接从 npm 安装:
# 安装到桌面端 Profile
dsh plugin --profile desktop add dsh-github-flow
# 或者安装到 Web Profile
dsh plugin --profile web add dsh-github-flow
🛠️ Agent 工具集速查
| 工具名称 | 核心操作 (action) |
典型场景 |
|---|---|---|
github_pr |
list, view, create, diff, checks, review, merge |
让 Agent 查看 PR 详情、检查 CI 状态、执行代码评审、合并 PR |
github_issue |
list, view, create, comment, close, reopen |
查看与搜索 Issue、创建 Issue、追加排查进展评论 |
github_run |
list, view, log_failed, rerun, cancel |
查看 CI 构建流水线,特别是 log_failed 可直接提取报错日志供 Agent 修复 |
github_repo |
view, search_code, search_repos |
查看仓库元数据、跨仓库代码搜索 |
github_api |
任意端点(如 repos/{owner}/{repo}/releases) |
底层直接调用 REST / GraphQL API(支持 --jq 预过滤、raw 原始响应体模式) |
💬 人类 Slash 命令
在 DSH 对话输入框直接使用:
/gh status:检查当前 GitHub CLI 账号登录状态、授权作用域与当前本地目录关联仓库;/gh help:查看使用帮助与常见语法示例。
⚙️ 插件配置项 (Config)
在 cordis.patch.yml 或 Profile 配置中自由覆盖如下字段:
- insert:
- id: github-flow
name: dsh-github-flow
config:
ghPath: 'gh' # GitHub CLI 程序路径(内网或特定环境可指定绝对路径)
defaultTimeoutMs: 30000 # 命令执行超时时间(毫秒)
maxOutputChars: 24000 # 单次命令最大返回字符数(防 Token 溢出保护)
maxOutputBytes: 96000 # 单次命令最大返回字节数硬上限,默认 maxOutputChars × 4
cacheTtlMs: 15000 # 单仓库概览缓存时长(毫秒);全局驾驶舱按此值的 20 倍缓存,下限 5 分钟
defaultListLimit: 20 # 默认查询列表返回条数
关于 Web 面板的刷新节奏:全局驾驶舱每次刷新要执行十余次
gh(本机实测 8-13 秒), 因此它按 5 分钟缓存,并在你点击「🔄 刷新全局数据」时强制重取。 工作区矩阵只读取本地.git/config识别仓库归属,不发起网络请求。/gh status命令始终绕过认证缓存,保证你gh auth login后立刻能看到真实状态。
🔌 生态服务扩展 (Cordis Service)
其他 DSH 插件可通过依赖注入复用本插件的能力:
import type { Context } from '@deepseek-ai/cordis';
export const inject = ['github'];
export function apply(ctx: Context) {
// 通过 ctx.github 直接调用底层安全执行引擎
const auth = await ctx.github.checkAuth();
const repo = await ctx.github.getRepoMetadata();
}
📚 开发与维护文档
📄 开源协议 (License)
本项目基于 MIT License 协议开源。