by xiang ยท v0.0.2
A plugin for searching GitHub repositories, viewing README, listing issues, and getting repository info. No paid API key required.
This community listing does not yet include every recommended support, privacy, pricing, and permission disclosure. Review the available package permissions before installing.
Available inside your emploidai workspace after installation.
Available inside your emploidai workspace after installation.
GitHub integration tools for the Dify AI platform. Enables AI agents to search repositories, fetch README files, browse issues, and retrieve repository information directly.
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:
| Tool | Function | Use Case |
|---|---|---|
| ๐ Search Repositories | Search GitHub repos by keywords, sort by stars/forks/updated | Finding open source projects, technology research |
| ๐ Get README | Fetch a repository's README content | Understanding project usage, installation, and setup |
| ๐ List Issues | Filter and list repository issues by state and labels | Project health assessment, finding tasks to solve |
| ๐ Get Repository Info | Get repository metadata and recent commits | Quick project overview, activity evaluation |
Features:
dify_plugin SDK and httpx HTTP clientgit clone https://github.com/Ziming6666/GitHub-Tools---Dify-.git
cd GitHub-Tools---Dify-
pip install -r requirements.txt
Install via Dify Marketplace (recommended)
Search for github_tools in the Dify plugin marketplace and install with one click.
Manual Installation
Upload the packaged .difypkg file through the Dify admin console's plugin management page.
Configure a GitHub Token in the plugin settings for higher API rate limits:
Note: The plugin works without a token, but is limited to 60 anonymous requests per hour.
Search public repositories on GitHub.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | โ | Search keywords |
sort | enum | โ | Sort by: stars (default) / forks / updated |
limit | integer | โ | 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"
}
Fetch the raw Markdown content of a repository's README.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
repo | string | โ | Full repository name: owner/repo (e.g. langgenius/dify) |
extract_code | boolean | โ | Whether to extract code snippets (default true, feature in development) |
Returned Content:
List issues from a GitHub repository, filterable by state and labels.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
repo | string | โ | Full repository name: owner/repo |
state | enum | โ | State: open (default) / closed / all |
labels | string | โ | Filter by labels, comma-separated (e.g. bug,enhancement) |
limit | integer | โ | Number of issues to return (1-50, default 10) |
Note: Pull Requests are automatically filtered out from the results.
Get detailed repository metadata and recent commit history.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
repo | string | โ | Full repository name: owner/repo |
Returned Content:
cp .env.example .env
.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
pip install -e .
python main.py
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
To add a new GitHub tool, follow these steps:
tools/your_tool.yaml with parameters and descriptionstools/your_tool.py, extend the Tool base class and implement the _invoke methodtools list in provider/github.yamlYAML definitions and Python implementations are linked by filename โ the Dify Plugin SDK loads them automatically.
| Authentication | Requests per Hour | How to Get |
|---|---|---|
| Anonymous (no token) | 60 | No configuration needed |
| Authenticated (with token) | 5,000 | Generate in GitHub Settings |
For more details, see the GitHub REST API rate limit documentation.
dify_plugin SDK version: >=0.5.0Plugin, ToolProvider, ToolToolInvokeMessageowner/repo, for example langgenius/dify. When you visit a repository on GitHub, the URL path is github.com/owner/repo.
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.
Copyright ยฉ 2025
Built with Dify