Preface

The core philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” In the development workflow, handling Issues, specifying target branches, implementing changes, and submitting pull requests often involves multiple steps. The gitee-ai-employee plugin aims to solve this problem by connecting Issues with AI-driven development workflows. It supports both Gitee and GitHub and provides code security scanning capabilities.

Plugin Overview

Gitee AI Employee is an Issue-driven AI developer plugin for DeepSeek Harness.
- Core positioning: Mention the bot in an Issue and specify the target branch. The plugin automatically clones the repository, explores the code, implements the changes, and submits a PR. It supports automatic merging and closing the Issue.
- Maintainer: wangbobo-coder
- License: MIT

Core Features

  1. Dual-platform monitoring: Supports monitoring on both Gitee and GitHub. The platform can be distinguished by the prefixes gitee: or github:.
  2. Issue-driven development: Triggered by polling @botName in Issues. The AI automatically clones the repository, explores the code, implements the changes, and submits them.
  3. Branch awareness: Supports specifying the target branch in natural language (e.g., “modify the release-v1.2 branch”). It automatically creates a PR and merges it.
  4. Automated closed loop: Supports Webhook and manual triggering, and can automatically create PRs, merge them, and close Issues.
  5. Code security scanning (v1.2): Supports static code scanning, with deduplication and periodic scans.

Installation and Enablement

  1. Install the plugin:
   dsh plugin --profile <your-profile> add gitee-ai-employee
  1. Restart DeepSeek Harness.
  2. In the Web interface, open Settings → Plugins → Plugin configuration and find the Gitee AI Employee card to configure it.

Configuration Guide

The main configuration items are as follows:
- giteeToken: Gitee personal access token (stored as a secret and not returned by the API).
- githubToken: GitHub personal access token (optional).
- defaultPlatform: Default platform for unprefixed watchRepos entries (gitee or github).
- botName: Bot name mentioned in Issues (e.g., gitee-ai).
- watchRepos: List of repositories to monitor. The format is owner/repo or gitee:owner/repo / github:owner/repo.
- pollEnabled / pollIntervalMs: Enable or disable polling and set the polling interval.
- autoMerge / autoCloseIssue: Whether to automatically merge PRs or close Issues.
- scanEnabled / scanRepos / scanIntervalMs: Enable or disable security scanning and set the scan interval.

Typical Usage

  1. Issue development:
    Enter the following in a Gitee/GitHub Issue:
   @gitee-ai
   需要修改 release-v1.2 分支
   参会人员选择增加学生选项,注意回显处理。

The plugin claims the task, runs the Worker, and submits a PR.
2. Manual triggering:
Trigger immediate processing via the following URL:
http://<dsh-host>:<port>/gitee-ai/go?platform=github&owner=octo&repo=hello&number=5

Security Scanning (v1.2)

The plugin supports code security scanning. The Worker and Scanner presets are automatically installed to $DSH_HOME/.agent-presets/gitee-worker.
- Deduplication mechanism: Deduplication is performed based on the file:line:vulnType signature to prevent duplicate reports.
- Scanning workflow: After the repository is configured, the plugin drives the scanning Worker to statically audit the cloned code and submit new findings as Issues.

Applicable Scenarios and Notes

  • Applicable scenarios: Scenarios that require automated Issue handling, quick PR generation, and code security auditing.
  • Dependencies: It depends on DeepSeek Harness (dsh) 0.1.x and currently supports Windows only (using PowerShell + curl).
  • Permissions: The plugin runs with the same permissions as the dsh process. The Worker agent obtains danger-full-access permissions in the cloned workspace.

Conclusion

This plugin provides DeepSeek Harness users with an automated closed loop from Issues to code merging. In particular, the security scanning feature introduced in v1.2 further expands its use cases. For more details, visit the GitHub repository.