Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
1db581d
Create manifest.yaml
Biosolverr May 16, 2026
3c653d1
Create README.md
Biosolverr May 16, 2026
b4ace40
Create requirements.txt
Biosolverr May 16, 2026
bed56d9
Create PRIVACY.md
Biosolverr May 16, 2026
a40488a
Create coingecko-price.yaml
Biosolverr May 16, 2026
ab88c49
Create coingecko.py
Biosolverr May 16, 2026
06971b6
Rename biosolver/coingecko-price/provider/provider/coingecko-price.ya…
Biosolverr May 16, 2026
f502bb3
Rename biosolver/coingecko-price/provider/provider/provider/coingecko…
Biosolverr May 16, 2026
21988e4
Create get_price.yaml
Biosolverr May 16, 2026
08e5606
Create get_price.py
Biosolverr May 16, 2026
044cfc8
Create icon.svg
Biosolverr May 16, 2026
74dab0d
Create manifest.yaml
Biosolverr May 16, 2026
9ece88d
Create README.md
Biosolverr May 16, 2026
c4de2e7
Create PRIVACY.md
Biosolverr May 16, 2026
0e920c5
Create requirements.txt
Biosolverr May 16, 2026
ef11318
Create .gitignore
Biosolverr May 16, 2026
e9646ba
Create .env.example
Biosolverr May 16, 2026
c97a2b9
Create main.py
Biosolverr May 16, 2026
7f8ce9a
Create GUIDE.md
Biosolverr May 16, 2026
ae27a25
Create github-analyzer.yaml
Biosolverr May 16, 2026
c4e9db0
Add GitHubAnalyzerProvider class for GitHub API
Biosolverr May 16, 2026
0811df3
Create icon.svg
Biosolverr May 16, 2026
289f0cd
Create get_repo_stats.yaml
Biosolverr May 16, 2026
8cee7a4
Create get_repo_stats.py
Biosolverr May 16, 2026
2c7ac92
Create get_pull_requests.yaml
Biosolverr May 16, 2026
05936aa
Create get_pull_requests.py
Biosolverr May 16, 2026
95cfe7f
Create get_issues.yaml
Biosolverr May 16, 2026
ee85ac0
Create get_issues.py
Biosolverr May 16, 2026
0140ad5
Create get_contributors.yaml
Biosolverr May 16, 2026
18032e7
Create get_contributors.py
Biosolverr May 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions biosolver/coingecko-price/PRIVACY.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[PRIVACY.md](https://github.com/user-attachments/files/27838677/PRIVACY.md)## Privacy

!!! Please fill in the privacy policy of the plugin.
82 changes: 82 additions & 0 deletions biosolver/coingecko-price/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
## \# CoinGecko Price Plugin

##

## Get real-time cryptocurrency prices using the free CoinGecko API. No API key required.

##

## \## Features

##

## \- Real-time prices in USD, EUR, and BTC

## \- 24h price change percentage

## \- 24h trading volume

## \- Market capitalization

## \- Supports any coin listed on CoinGecko

##

## \## Usage

##

## Input the CoinGecko coin ID:

##

## | Coin | ID |

## |------|----|

## | Bitcoin | bitcoin |

## | Ethereum | ethereum |

## | Solana | solana |

## | Dogecoin | dogecoin |

## | Chainlink | chainlink |

##

## \## Example Output

##

## ```json

## {

##   "coin": "bitcoin",

##   "price\_usd": 103500.0,

##   "price\_eur": 95000.0,

##   "price\_btc": 1.0,

##   "change\_24h\_percent": -2.5,

##   "volume\_24h\_usd": 35000000000,

##   "market\_cap\_usd": 2050000000000

## }

## ```

##

## \## No API Key Needed

##

## This plugin uses the free public CoinGecko API — no registration or API key required.

10 changes: 10 additions & 0 deletions biosolver/coingecko-price/_assets/icon.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 35 additions & 0 deletions biosolver/coingecko-price/manifest.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
version: 0.0.1
type: plugin
author: biosolver
name: coingecko-price
label:
en_US: coingecko-price
ja_JP: coingecko-price
zh_Hans: coingecko-price
pt_BR: coingecko-price
description:
en_US: Get cryptocurrency price from CoinGecko
ja_JP: Get cryptocurrency price from CoinGecko
zh_Hans: Get cryptocurrency price from CoinGecko
pt_BR: Get cryptocurrency price from CoinGecko
icon: icon.svg
icon_dark: icon-dark.svg
resource:
memory: 268435456
permission: {}
plugins:
tools:
- provider/coingecko-price.yaml
meta:
version: 0.0.1
arch:
- amd64
- arm64
runner:
language: python
version: "3.12"
entrypoint: main
minimum_dify_version: null
created_at: 2026-05-16T05:28:18.2680656+07:00
privacy: PRIVACY.md
verified: false
17 changes: 17 additions & 0 deletions biosolver/coingecko-price/provider/coingecko-price.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
identity:
author: biosolver
name: coingecko-price
label:
en_US: CoinGecko Price
zh_Hans: CoinGecko 价格
description:
en_US: Get real-time cryptocurrency prices from CoinGecko (no API key needed)
zh_Hans: 从 CoinGecko 获取实时加密货币价格
icon: icon.svg
tags:
- finance
tools:
- tools/get_price.yaml
extra:
python:
source: provider/coingecko.py
12 changes: 12 additions & 0 deletions biosolver/coingecko-price/provider/coingecko.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
from typing import Any
from dify_plugin import ToolProvider


class CoinGeckoProvider(ToolProvider):
def _validate_credentials(self, credentials: dict[str, Any]) -> None:
import requests
response = requests.get(
"https://api.coingecko.com/api/v3/ping",
timeout=5
)
response.raise_for_status()
2 changes: 2 additions & 0 deletions biosolver/coingecko-price/requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
requests
dify-plugin
51 changes: 51 additions & 0 deletions biosolver/coingecko-price/tools/get_price.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
from collections.abc import Generator
from typing import Any
import requests
from dify_plugin import Tool
from dify_plugin.entities.tool import ToolInvokeMessage


class GetCryptoPriceTool(Tool):
def _invoke(self, tool_parameters: dict[str, Any]) -> Generator[ToolInvokeMessage]:
coin_id = tool_parameters["coin_id"].lower().strip()

try:
url = "https://api.coingecko.com/api/v3/simple/price"
params = {
"ids": coin_id,
"vs_currencies": "usd,eur,btc",
"include_24hr_change": "true",
"include_market_cap": "true",
"include_24hr_vol": "true"
}
response = requests.get(url=url, params=params, timeout=10)
response.raise_for_status()
data = response.json()
except requests.exceptions.Timeout:
yield self.create_text_message("Error: CoinGecko API timeout. Please try again.")
return
except requests.exceptions.ConnectionError:
yield self.create_text_message("Error: Cannot connect to CoinGecko API. Check your internet connection.")
return
except requests.exceptions.HTTPError as e:
yield self.create_text_message(f"Error: CoinGecko API returned error {e.response.status_code}.")
return

if coin_id not in data:
yield self.create_text_message(
f"Coin '{coin_id}' not found on CoinGecko. Try IDs like: bitcoin, ethereum, solana, dogecoin, chainlink."
)
return

coin_data = data[coin_id]
result = {
"coin": coin_id,
"price_usd": coin_data.get("usd"),
"price_eur": coin_data.get("eur"),
"price_btc": coin_data.get("btc"),
"change_24h_percent": round(coin_data.get("usd_24h_change", 0), 2),
"volume_24h_usd": coin_data.get("usd_24h_vol"),
"market_cap_usd": coin_data.get("usd_market_cap")
}

yield self.create_json_message(result)
26 changes: 26 additions & 0 deletions biosolver/coingecko-price/tools/get_price.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
identity:
name: get_price
author: biosolver
label:
en_US: Get Crypto Price
zh_Hans: 获取加密货币价格
description:
human:
en_US: Get the current price of any cryptocurrency in USD using CoinGecko. Input the coin ID (e.g. bitcoin, ethereum, solana).
zh_Hans: 通过CoinGecko获取任意加密货币的当前美元价格。
llm: Get real-time cryptocurrency price from CoinGecko API. Use coin ID like 'bitcoin', 'ethereum', 'solana'.
parameters:
- name: coin_id
type: string
required: true
label:
en_US: Coin ID
zh_Hans: 代币ID
human_description:
en_US: CoinGecko coin ID, e.g. bitcoin, ethereum, solana, dogecoin
zh_Hans: CoinGecko代币ID
llm_description: The CoinGecko coin ID for the cryptocurrency. Examples - bitcoin, ethereum, solana, dogecoin
form: llm
extra:
python:
source: tools/get_price.py
3 changes: 3 additions & 0 deletions biosolver/github-analyzer/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
INSTALL_METHOD=remote
REMOTE_INSTALL_URL=debug.dify.ai:5003
REMOTE_INSTALL_KEY=********-****-****-****-************
Loading
Loading