GitHub Tools ยท emploidai Marketplace
emploidai Marketplace
Add-onsAppletsPlugins
Search tools, teams, and capabilitiesPublish
MarketplacePluginsGitHub Tools
Plugin
Limited listing

GitHub Tools

by xiang ยท v0.0.2

A plugin for searching GitHub repositories, viewing README, listing issues, and getting repository info. No paid API key required.

226 installsUpdated Jul 1, 2026
Publisher information is incomplete

This community listing does not yet include every recommended support, privacy, pricing, and permission disclosure. Review the available package permissions before installing.

Capabilities

Tools

Available inside your emploidai workspace after installation.

Data sources

Available inside your emploidai workspace after installation.

Category

tool

Version

0.0.2xiang

Requirements

Maximum memory 1MB

Pricing

Not disclosed by publisher

Security & access

Review before installing

CompatibleRequires emploidai 1.0.0+

Permissions

  • Uses tool capability

Dependencies

No additional dependencies

emploidai Marketplace

Discover capabilities. Review access. Install inside your workspace.

DocumentationSecuritySupportPrivacyTerms

GitHub Tools - Dify Plugin

Dify Plugin Python License

GitHub integration tools for the Dify AI platform. Enables AI agents to search repositories, fetch README files, browse issues, and retrieve repository information directly.


๐Ÿ“‹ Table of Contents

  • Overview
  • Quick Start
    • Prerequisites
    • Installation
    • Configuration (Optional)
  • Tools
    • 1. Search Repositories
    • 2. Get README
    • 3. List Issues
    • 4. Get Repository Info
  • Development Guide
    • Local Debugging
    • Project Structure
    • Extending Tools
  • API Reference
  • FAQ
  • License

Overview

This plugin is a tool-type plugin for the Dify platform. It wraps the GitHub REST API and provides the following capabilities to AI agents in Dify:

ToolFunctionUse Case
๐Ÿ” Search RepositoriesSearch GitHub repos by keywords, sort by stars/forks/updatedFinding open source projects, technology research
๐Ÿ“– Get READMEFetch a repository's README contentUnderstanding project usage, installation, and setup
๐Ÿ“‹ List IssuesFilter and list repository issues by state and labelsProject health assessment, finding tasks to solve
๐Ÿ“Š Get Repository InfoGet repository metadata and recent commitsQuick project overview, activity evaluation

Features:

  • No API Key Required โ€” Works without a GitHub Token (limited to 60 requests/hour)
  • Optional Token โ€” Configure a GitHub Token to get up to 5,000 requests/hour
  • Bilingual Support โ€” UI and error messages support both English and Chinese
  • Lightweight โ€” Only depends on the dify_plugin SDK and httpx HTTP client

Quick Start

Prerequisites

  • Python 3.12 or higher
  • Dify platform (version >= 0.5.0)
  • Optional: a GitHub Token (to increase API rate limits)

Installation

  1. Clone this repository or download the source:
git clone https://github.com/Ziming6666/GitHub-Tools---Dify-.git
cd GitHub-Tools---Dify-
  1. Install dependencies:
pip install -r requirements.txt
  1. Install via Dify Marketplace (recommended)

    Search for github_tools in the Dify plugin marketplace and install with one click.

  2. Manual Installation

    Upload the packaged .difypkg file through the Dify admin console's plugin management page.

Configuration (Optional)

Configure a GitHub Token in the plugin settings for higher API rate limits:

  1. Go to GitHub Token Settings and generate a token (no permissions required for public read access)
  2. In the Dify plugin management page, find GitHub Tools and enter your Token

Note: The plugin works without a token, but is limited to 60 anonymous requests per hour.


Tools

1. Search Repositories

Search public repositories on GitHub.

Parameters:

ParameterTypeRequiredDescription
querystringโœ…Search keywords
sortenumโŒSort by: stars (default) / forks / updated
limitintegerโŒNumber of results (1-20, default 5)

Example Response:

{
  "total_count": 2,
  "results": [
    {
      "name": "langgenius/dify",
      "description": "Dify is an open-source LLM application development platform",
      "stars": 58000,
      "forks": 8500,
      "language": "Python",
      "url": "https://github.com/langgenius/dify",
      "topics": ["llm", "ai", "chatbot"],
      "updated_at": "2025-06-26T10:00:00Z"
    }
  ],
  "summary": "Found 2 repositories.\n\n#### 1. [langgenius/dify](https://github.com/langgenius/dify)\nโญ 58,000 ยท ๐Ÿด 8,500 ยท Python\nDify is an open-source LLM application development platform"
}

2. Get README

Fetch the raw Markdown content of a repository's README.

Parameters:

ParameterTypeRequiredDescription
repostringโœ…Full repository name: owner/repo (e.g. langgenius/dify)
extract_codebooleanโŒWhether to extract code snippets (default true, feature in development)

Returned Content:

  • Raw Markdown text of the README (truncated at 15,000 characters if exceeded)
  • Additional repository info (description, stars, language, topics, license)

3. List Issues

List issues from a GitHub repository, filterable by state and labels.

Parameters:

ParameterTypeRequiredDescription
repostringโœ…Full repository name: owner/repo
stateenumโŒState: open (default) / closed / all
labelsstringโŒFilter by labels, comma-separated (e.g. bug,enhancement)
limitintegerโŒNumber of issues to return (1-50, default 10)

Note: Pull Requests are automatically filtered out from the results.


4. Get Repository Info

Get detailed repository metadata and recent commit history.

Parameters:

ParameterTypeRequiredDescription
repostringโœ…Full repository name: owner/repo

Returned Content:

  • Basic info: name, description, language, license, homepage
  • Stats: โญ stars, ๐Ÿด forks, ๐Ÿ‘€ watchers, open issues count
  • Properties: default branch, archived status, fork status, size
  • Timestamps: created at, last updated, last pushed
  • Last 3 commit records

Development Guide

Local Debugging

  1. Copy the environment template and configure it:
cp .env.example .env
  1. Edit the .env file with your Dify remote debugging info:
INSTALL_METHOD=remote
REMOTE_INSTALL_URL=debug-plugin.dify.dev:5003
REMOTE_INSTALL_KEY=your-debug-key-here
GITHUB_TOKEN=your_github_token_here  # Optional
  1. Install development dependencies:
pip install -e .
  1. Start debug mode:
python main.py

Project Structure

dify-plugin-github/
โ”œโ”€โ”€ __init__.py                 # Package marker
โ”œโ”€โ”€ main.py                     # Plugin entry point
โ”œโ”€โ”€ manifest.yaml               # Plugin manifest
โ”œโ”€โ”€ pyproject.toml              # Python project config
โ”œโ”€โ”€ requirements.txt            # Dependency list
โ”œโ”€โ”€ .env.example                # Debug environment template
โ”œโ”€โ”€ readme/
โ”‚   โ””โ”€โ”€ README_zh_Hans.md       # Chinese README
โ”œโ”€โ”€ _assets/
โ”‚   โ””โ”€โ”€ icon.svg                # GitHub icon
โ”œโ”€โ”€ provider/
โ”‚   โ”œโ”€โ”€ github.yaml             # Provider definition (credentials, tools)
โ”‚   โ””โ”€โ”€ github.py               # Credential validation logic
โ””โ”€โ”€ tools/
    โ”œโ”€โ”€ search_repos.yaml       # Search repos - definition
    โ”œโ”€โ”€ search_repos.py         # Search repos - implementation
    โ”œโ”€โ”€ get_readme.yaml         # Get README - definition
    โ”œโ”€โ”€ get_readme.py           # Get README - implementation
    โ”œโ”€โ”€ list_issues.yaml        # List issues - definition
    โ”œโ”€โ”€ list_issues.py          # List issues - implementation
    โ”œโ”€โ”€ get_repo_info.yaml      # Get repo info - definition
    โ””โ”€โ”€ get_repo_info.py        # Get repo info - implementation

Extending Tools

To add a new GitHub tool, follow these steps:

  1. Create a tool definition file tools/your_tool.yaml with parameters and descriptions
  2. Create a tool implementation file tools/your_tool.py, extend the Tool base class and implement the _invoke method
  3. Register with the provider by adding your YAML path to the tools list in provider/github.yaml

YAML definitions and Python implementations are linked by filename โ€” the Dify Plugin SDK loads them automatically.


API Reference

GitHub Rate Limits

AuthenticationRequests per HourHow to Get
Anonymous (no token)60No configuration needed
Authenticated (with token)5,000Generate in GitHub Settings

For more details, see the GitHub REST API rate limit documentation.

Dify Plugin SDK

  • dify_plugin SDK version: >=0.5.0
  • Base classes: Plugin, ToolProvider, Tool
  • Message types: ToolInvokeMessage

FAQ

Q: Is a GitHub Token required to use this plugin? No. The plugin works in anonymous mode with a rate limit of 60 requests per hour. Configuring a token increases the limit to 5,000 requests per hour.
Q: What permissions does the token need? All tools in this plugin only read public data, so no specific permissions are required. A token generated in GitHub Settings works without any scopes selected.
Q: What should I do if I get a 403 error? A 403 error usually means the rate limit has been exceeded (60 requests/hour for anonymous users) or the token is invalid. Configure a valid GitHub Token or wait for the rate limit to reset.
Q: How do I get the full repository name? The full repository name follows the format owner/repo, for example langgenius/dify. When you visit a repository on GitHub, the URL path is github.com/owner/repo.
Q: Why doesn't the extract_code parameter work in get_readme? The extract_code parameter is declared in the YAML definition but the code extraction feature has not been implemented yet. It will be added in a future release.

License

MIT License

Copyright ยฉ 2025


Built with Dify