DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Forge — DeepSeek Harness 插件(DSH Plugin)
← Plugins
F

@maxhsu/dsh-forge

Forge

用于自托管 Gitea 和 Forgejo 实例的 DeepSeek Harness 工具。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:maxmilian/dsh-forge#dbf321896b23d5a41309519f04c27357eefb620a
README兼容性版本

兼容性与来源证明

Forge 以 @maxhsu/dsh-forge 发布,当前版本为 0.3.3。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
any
发布来源
github
Registry 更新时间
2026/8/25

版本

0.3.3stable
2026/8/25

相关插件

正在加载相关插件…

最新版
0.3.3
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
any
许可证
MIT
发布源
github
GitHub
★ 2
周下载
0
最近提交
2026/8/25
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录

相关插件

继续浏览 developer-tools 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Sdk Minimal@deepseek-ai/dsh-sdk-minimal独立的最小 SDK 配置包:JSON-RPC、一个 DeepSeek 适配器、持久化 Shell 和 JSONL 会话Sdk App@deepseek-ai/dsh-sdk-appdsh SDK 配置包:基于 dsh-base 提供 stdio JSON-RPC 服务和进程生命周期管理Subagent Codex@deepseek-ai/dsh-subagent-codex基于官方 app-server 协议的一次性 Codex 子代理提供程序

README

dsh-forge

English | 繁體中文 | 简体中文 | 日本語

Read-only DeepSeek Harness tools for self-hosted Gitea and Forgejo instances. The plugin uses the REST API shared by both projects and adds repository, issue, pull request, and Actions context directly to DSH.

DeepSeek Harness is in developer preview. This plugin is tested with @deepseek-ai/dsh-tools 0.1.1-rc.2, retains compatibility with the 0.1.0 prereleases from rc.6, and may need updates when Harness APIs change.

Features

  • Inspect the configured instance version.
  • List repositories owned by the authenticated user.
  • Search issues and pull requests across visible repositories.
  • Read an issue or pull request by repository and index.
  • Read pull request diffs and changed-file metadata.
  • List repository Actions runs and jobs, then read plaintext job logs.
  • Localize runtime tool metadata in English, Traditional Chinese, Simplified Chinese, or Japanese.
  • Forward cancellation and enforce request time and response-size limits.
  • Keep every v0.3 tool read-only and safe for parallel execution.

Install

From a local checkout:

dsh plugin --profile web add .
dsh --profile web --dump-config
dsh --profile web

From npm (recommended):

dsh plugin --profile web add @maxhsu/dsh-forge

From the prebuilt release tarball:

dsh plugin --profile web add https://github.com/maxmilian/dsh-forge/releases/latest/download/dsh-forge.tgz

The tarball includes compiled JavaScript and declarations, so installation does not run a local TypeScript build. To track the repository instead:

dsh plugin --profile web add github:maxmilian/dsh-forge

Git installations run the package prepare script. pnpm 10 may ask you to allow that build in the profile's pnpm-workspace.yaml; review and pin the source commit before allowing install-time code. A published npm package or prebuilt tarball does not need that build permission.

Configure

Environment variables are preferred so the access token does not live in cordis.patch.yml:

export DSH_FORGE_URL='https://code.example.com'
export DSH_FORGE_TOKEN='replace-with-a-read-only-token'
dsh --profile web

DSH_FORGE_URL may include a subpath, such as https://example.com/git. The client preserves that path when appending /api/v1. Public endpoints work without a token, but repository tools normally need one.

The plugin can load before these variables are set. If a Forge tool is called without a configured URL, it returns an actionable configuration error instead of preventing the DSH profile from booting.

The profile patch can override runtime limits or provide credentials directly:

- id: forge-tools
  name: dsh-forge
  config:
    baseUrl: 'https://code.example.com'
    token: '' # Prefer DSH_FORGE_TOKEN. This field is marked secret in the config schema.
    locale: en # en, zh-TW, zh-CN, or ja
    requestTimeoutMs: 30000
    maxResponseBytes: 1000000

Use the narrowest token scopes your instance supports. Version 0.3 never creates, updates, merges, reruns, or deletes remote resources.

locale controls model-facing tool descriptions, parameter help, and pending-call titles. English is the default; Traditional Chinese, Simplified Chinese, and Japanese are included without external translation services.

Tools

ToolPurpose
forge_instance_infoRead instance version information
forge_list_repositoriesList repositories owned by the authenticated user
forge_search_issuesSearch issues or pull requests across repositories
forge_get_issueRead one issue
forge_list_pull_requestsList repository pull requests
forge_get_pull_requestRead one pull request
forge_get_pull_request_diffRead one pull request as a unified diff
forge_list_pull_request_filesList files changed by one pull request
forge_list_action_runsList repository Actions runs
forge_list_action_jobsList jobs belonging to one Actions run
forge_get_action_job_logsRead the plaintext log for one Actions job

List endpoints clamp limit to 50 to keep model context bounded. API errors include the operation and HTTP status but never retain request headers or credentials.

Development

Node.js 22 or newer and Bun are required for development:

bun install
bun run lint
bun run typecheck
bun run test:coverage
bun run build
bun pm pack --dry-run

Unit tests mock fetch. The Integration GitHub Actions workflow additionally starts disposable, official Gitea and Forgejo containers and their Actions runners. It creates real repositories, issues, branches, pull requests, workflow runs, and job logs before exercising the plugin client.

Compatibility verification

TargetVerification
DeepSeek HarnessLocal bundle install, composed-config dump, and boot smoke test
GiteaLive CI against the official Gitea 1.27 container and Gitea Runner 3.1.0
ForgejoLive CI against the official Forgejo 16 container and Forgejo Runner 13.0.0

API payloads are returned as canonical JSON so fields added by either project remain available without requiring a plugin release. Diff and log responses remain plaintext to avoid JSON escaping.

Current scope

The plugin deliberately uses the common REST endpoints instead of instance-specific extensions. Actions availability depends on the server version and whether Actions is enabled. A future release can add approval-gated writes, pull-request reviews, artifacts, and webhook-driven workflows.

License

MIT

Contributions are welcome. See CONTRIBUTING.md for the development workflow and SECURITY.md for private vulnerability reporting.