@goodandready/dsh-gitea
为 DeepSeek Harness 集成 Gitea 与 Forgejo,提供 issue、拉取请求和 worktree 工具及 Git 状态芯片。
安装
dsh plugin --profile web add @goodandready/dsh-gitea
沙箱测试结果
| 阶段 | 结果 |
|---|---|
| 1 安装 | ✓ |
| 2 列装 | ✓ |
| 3 挂载 | ✓ |
| 4 启动 | — |
四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。
README
📦 @goodandready/dsh-gitea
<div align="center">
<h3>面向 DeepSeek Harness 的企业级 Gitea 与 Forgejo 代码平台深度集成插件</h3>
<p align="center">
<a href="https://www.npmjs.com/package/@goodandready/dsh-gitea"><img src="https://img.shields.io/npm/v/@goodandready/dsh-gitea.svg?style=for-the-badge&color=6366f1&labelColor=1e1b4b" alt="npm version"></a>
<a href="LICENSE"><img src="https://img.shields.io/github/license/GooDAnDReaDY/dsh-gitea.svg?style=for-the-badge&color=10b981&labelColor=064e3b" alt="license"></a>
<a href="https://github.com/topics/dsh-plugin"><img src="https://img.shields.io/badge/DSH-Plugin-8b5cf6.svg?style=for-the-badge&labelColor=2e1065" alt="DSH Plugin"></a>
<a href="https://nodejs.org"><img src="https://img.shields.io/badge/Node-20%2B-f59e0b.svg?style=for-the-badge&labelColor=451a03" alt="Node version"></a>
</p>
<p align="center">
<a href="https://goodandready.app/"><img src="https://img.shields.io/badge/作者全部项目-goodandready.app-ff4500.svg?style=for-the-badge&logo=rocket&logoColor=white&labelColor=1a1a2e" alt="作者全部项目"></a>
</p>
<p align="center">
<a href="README.md"><b>🇬🇧 English</b></a> •
<a href="README.ru.md"><b>🇷🇺 Русский</b></a> •
<a href="README.zh.md"><b>🇨🇳 中文说明</b></a>
</p>
<table align="center">
<tr>
<td align="center">
⭐ <strong>如果您喜欢这个插件,请在 GitHub 上为它点亮 Star</strong> — 这能让我知道插件对您有用,并鼓励我继续开发和维护它。
<br><br>
🐛 <strong>如果您发现 Bug 或希望增加功能</strong>,请使用任意语言在 GitHub 上提交 Issue — 我会评估您的建议,并在后续版本中实现有价值的改进。
</td>
</tr>
</table>
</div>
🌟 v0.7.6 更新内容
- 一键在线更新: 直接在 DSH 设置卡片中检查并就地升级插件。
- 组合服务: 提供
dshGitea(任务创建与管理)和giteaEvents(为@goodandready/dsh-pulse提供安全事件流)。 - 安全与环境: 本地回环与来源严格校验 (
lib/http-guard.js),导出过滤规则 (publish.sh)。 - 性能与解耦: Git 变动实时刷新缓存,工具定义解耦至
lib/tool-defs.js。
🌟 v0.7.5 更新内容
- 规范的服务端与智能体工具输出语言:所有工具响应、验证详情和错误提示均严格遵循
dsh-plugin-authoring规范英文标准。 - 清晰的 npm 包边界:标准化 Issue 表单模板迁移至
assets/issue-templates/,内部开发文档 (docs/superpowers/,.gitea/) 已完全从 npm 包中排除。 - 自动化合规质量门禁:新增自动化测试,强制要求
lib/源码中 0 字符俄文字符并校验包文件边界。
⚡ 核心定位与解决痛点
在 DeepSeek Harness 中进行多阶段自主编码任务时,智能体需要与私有代码托管平台的 Issue 任务看板、Pull Request 代码审查、多分支开发及独立工作树(Worktree)紧密交互。传统方式下,智能体缺乏统一的权限模型与状态感知,极易产生分支冲突或破坏主干。
@goodandready/dsh-gitea 实现了 DeepSeek Harness 与私有化部署 Gitea 及 Forgejo 实例的深度对接。为智能体提供 20+ 个结构化工具,在 Web UI 聊天头部注入实时 Git Status Chip 状态胶囊,并设置严格的安全护栏(PR 合并与工作树删除强制要求 confirm: true)。
🏗️ 架构设计
graph LR
subgraph DSH ["DeepSeek Harness 智能体平台"]
UI["Web UI 聊天头部<br/>(Git Status 状态胶囊)"]
Agent["自主智能体<br/>(20+ Gitea 专属工具)"]
Creds["凭据安全存储中心<br/>(GITEA_TOKEN 引用)"]
end
subgraph Plugin ["dsh-gitea 插件架构"]
ChipPoller["/git-status 轮询接口<br/>分支与未提交变更检查"]
Client["GiteaClient 客户端<br/>(REST API v1)"]
WorktreeMgr["Worktree 管理器<br/>(任务环境隔离)"]
end
subgraph Server ["私有代码托管服务"]
Gitea["Gitea / Forgejo 实例<br/>(Issue、PR、标签与里程碑)"]
GitRepo["Git 本地工作区<br/>(分支与工作树)"]
end
UI -->|轮询分支状态| ChipPoller
ChipPoller -->|读取工作区状态| GitRepo
Agent -->|调用 REST 工具| Client
Agent -->|管理隔离工作树| WorktreeMgr
WorktreeMgr -->|git worktree 命令| GitRepo
Client -->|鉴权 API 交互| Gitea
Creds -.->|内存级安全解析| Client
✨ 核心特性深度解析
1. 20+ 智能体结构化工具全家桶
当智能体未显式指定 owner 与 repo 时,插件自动从当前工作区的 git remote get-url origin 智能解析项目信息。
工具名称 · 分类 · 功能描述 · 安全校验
gitea_labels · 标签管理 · 统一标签管理门面:list, create, delete, set · -
gitea_milestones · 里程碑 · 统一里程碑管理门面:list, create, update, delete · ⚠️ 删除需 confirm: true
gitea_releases · 发布管理 · 统一发布版本管理门面:list, create, update, delete, plan, notes · ⚠️ 删除需 confirm: true
gitea_ci · CI / Actions · 统一 CI 工作流管理门面:status, jobs, rerun, explain · ⚠️ 重新运行需 confirm: true
gitea_branches · 分支管理 · 统一分支管理门面:list, create, delete · ⚠️ 删除需 confirm: true
gitea_tags · 标签管理 · 统一 Git 标签管理门面:list, create, delete · ⚠️ 删除需 confirm: true
gitea_webhooks · Webhook · 统一 Webhook 管理门面:list, create, delete · ⚠️ 删除需 confirm: true
gitea_org · 组织与团队 · 统一组织门面:list, repos, members, teams, create_repo · -
gitea_wiki · Wiki 文档 · 统一 Wiki 门面:list, get · -
gitea_issue_create · Issue 管理 · 创建新任务 Issue(支持标题、正文、标签与指派人) · -
gitea_issue_list · Issue 管理 · 获取 Issue 列表(支持状态、里程碑与标签过滤) · -
gitea_issue_get · Issue 管理 · 根据编号获取 Issue 详细内容与上下文 · -
gitea_issue_comment · Issue 管理 · 在指定 Issue 下发表评论与进度报告 · -
gitea_issue_comments · Issue 管理 · 获取 Issue 评论列表(附带 mine: true/false 标记) · -
gitea_issue_comment_delete · Issue 管理 · 删除自己的 Issue 评论(默认 dry-run 预览;仅可删除当前 Token 用户的评论) · ⚠️ 需要 confirm: true
gitea_issue_update · Issue 管理 · 修改 Issue 标题、正文描述或状态 · -
gitea_issue_close · Issue 管理 · 关闭已完成的 Issue · -
gitea_issue_search · 搜索检索 · 在整个仓库或实例范围内全文检索 Issue · -
gitea_issue_set_assignee · 团队协作 · 为 Issue 指派负责人或智能体 · -
gitea_pr_create · Pull Request · 从开发分支向基准分支发起 Pull Request · -
gitea_pr_list · Pull Request · 查询开放中及已关闭的 PR 列表 · -
gitea_pr_get · Pull Request · 获取 PR 的变更代码摘要、审查意见与 CI 状态 · -
gitea_pr_comment · Pull Request · 发表 PR 代码行内评审意见或通用反馈 · -
gitea_pr_merge · Pull Request · 执行 PR 合并(Merge / Rebase / Squash) · ⚠️ 强制要求 confirm: true
gitea_worktree_list · Worktree · 列出当前活跃的 Git 隔离工作树及路径 · -
gitea_worktree_add · Worktree · 为独立子任务快速创建隔离的 Git 工作树 · -
gitea_worktree_use · Worktree · 将当前会话的执行工作目录切换至指定工作树 · -
gitea_worktree_remove · Worktree · 清理并删除已合并的工作树目录 · ⚠️ 强制要求 confirm: true
gitea_issue_templates · Issue 管理 · 获取并验证 .gitea/ISSUE_TEMPLATE 中标准化的 YAML Issue 模版 · -
gitea_git_graph · Git 图谱 · 可视化拓扑提交图谱、等宽轨道分支、分支/标签及 CI 状态 · -
gitea_repo_search · 发现探索 · 检索 Gitea 实例内的公开与私有代码仓库 · -
gitea_whoami · 认证信息 · 返回当前鉴权 Token 对应的用户信息与权限范围 · -
gitea_release_assistant · 版本发布 · 一键 SemVer 校验、多语言变更日志生成与发布前就绪检查 · -
gitea_worktree_gc · Worktrees · 安全清理已合并
…(truncated)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:58,最后更新 2026-11-05