🚀 PuchAI Hackathon
PuchAI Hackathon 整合了多種實用工具,涵蓋數據抓取、可視化、醫藥信息查詢、用戶偏好管理和任務管理等功能,為用戶提供了全面且便捷的服務體驗,可用於市場調研、數據展示、信息查詢和日常任務管理等場景。
🚀 快速開始
點擊下方鏈接即可使用 MCP:
🌟 點擊使用 MCP
✨ 主要特性
🔍 Reddit 研究工具
- 功能描述:從指定的子版塊中抓取最新的帖子,並過濾包含特定關鍵詞的帖子,然後使用意圖評分分析內容,用於市場驗證和受眾情緒分析。
- 參數說明:
| 屬性 | 詳情 |
| ---- | ---- |
|
puch_user_id(字符串) | 用於限流的用戶 ID |
| query(字符串) | 關於您所查找內容的描述性查詢 |
| subreddits(字符串列表) | 子版塊名稱列表(無需 'r/' 前綴) |
| keywords(字符串列表) | 使用模糊匹配搜索的關鍵詞 |
| threshold(整數,默認值:80) | 模糊匹配閾值(0 - 100) |
| post_limit(整數,默認值:10) | 每個子版塊要檢查的新帖子數量(1 - 35) |
- 冷卻時間:每次使用間隔 80 秒。
- 示例提示:
- "嘿,Puch,我正在嘗試推廣我的帶有 Kubernetes EKS 配置的 MCP,請查看最近是否有人對 r/mcp 或 r/saas 感興趣。"
- "我正在構建自己的支付網關服務,請檢查 r/saas 中是否有關於支付網關的討論,並告訴我如何與相關人員接觸。"
📊 數據可視化工具
製作柱狀圖
- 功能描述:根據標籤列表和數值數據生成帶有標籤的柱狀圖圖像,支持自定義樣式。
- 參數說明:
| 屬性 | 詳情 |
| ---- | ---- |
|
puch_labels(字符串列表) | x 軸的標籤字符串 |
| puch_values(浮點數列表) | 數值(與標籤長度相同) |
| width(整數,默認值:900) | 圖像寬度(像素) |
| height(整數,默認值:450) | 圖像高度(像素) |
| bg_color(字符串,默認值:"#f8fffe") | 背景顏色 |
| bar_color(字符串,默認值:"#4ade80") | 柱狀圖顏色 |
| title(字符串,可選) | 圖表標題 |
- 示例提示:
- "創建一個顯示銷售數據的柱狀圖:第一季度 = 15000,第二季度 = 18000,第三季度 = 22000,第四季度 = 17000,標題為 '季度銷售'。"
- "製作一個關於編程語言的柱狀圖:Python = 45,JavaScript = 38,Java = 32,C++ = 28,Go = 15。"
製作折線圖
- 功能描述:創建折線圖可視化,展示隨時間的趨勢或變量之間的關係。
- 參數說明:
| 屬性 | 詳情 |
| ---- | ---- |
|
puch_labels(字符串列表) | x 軸的標籤字符串 |
| puch_values(浮點數列表) | 數值(與標籤長度相同) |
| width(整數,默認值:900) | 圖像寬度(像素) |
| height(整數,默認值:450) | 圖像高度(像素) |
| bg_color(字符串,默認值:"#f8fffe") | 背景顏色 |
| line_color(字符串,默認值:"#4ade80") | 折線顏色 |
| title(字符串,可選) | 圖表標題 |
- 示例提示:
- "給我展示一個過去 6 個月網站流量的折線圖:1 月 = 1200,2 月 = 1350,3 月 = 1100,4 月 = 1600,5 月 = 1850,6 月 = 2100。"
- "創建一個顯示溫度趨勢的折線圖:週一 = 22,週二 = 24,週三 = 19,週四 = 25,週五 = 27,週六 = 23,週日 = 21。"
製作餅圖
- 功能描述:生成具有現代樣式、陰影效果和詳細圖例的餅圖,顯示百分比和數值。
- 參數說明:
| 屬性 | 詳情 |
| ---- | ---- |
|
labels(字符串列表) | 餅圖的類別標籤 |
| values(浮點數列表) | 每個類別的數值 |
| title(字符串,可選) | 圖表標題 |
| width(整數,默認值:1000) | 圖像寬度(像素) |
| height(整數,默認值:600) | 圖像高度(像素) |
- 示例提示:
- "創建一個顯示預算分配的餅圖:營銷 = 5000,開發 = 8000,運營 = 3000,銷售 = 4000。"
- "製作一個關於調查回覆的餅圖:非常滿意 = 45,滿意 = 32,中立 = 15,不滿意 = 8。"
製作散點圖
- 功能描述:創建散點圖,可視化兩個數值變量之間的關係,支持可選的分類和自定義樣式。
- 參數說明:
| 屬性 | 詳情 |
| ---- | ---- |
|
x_values(浮點數列表) | x 座標值 |
| y_values(浮點數列表) | y 座標值(與 x_values 長度相同) |
| labels(字符串列表,可選) | 點標籤 |
| categories(字符串列表,可選) | 用於顏色編碼的類別 |
| colors(字符串列表,可選) | 每個點的自定義顏色(十六進制代碼) |
| width(整數,默認值:900) | 圖像寬度(像素) |
| height(整數,默認值:600) | 圖像高度(像素) |
| bg_color(字符串,默認值:"#fafafa") | 背景顏色 |
| point_color(字符串,默認值:"#4F46E5") | 默認點顏色 |
| point_size(整數,默認值:6) | 點半徑(像素) |
| title(字符串,可選) | 圖表標題 |
| x_label(字符串,可選) | x 軸標籤 |
| y_label(字符串,可選) | y 軸標籤 |
- 示例提示:
- "創建一個顯示學習時間(x)和考試成績(y)之間相關性的散點圖:學習時間 [2, 4, 6, 8, 10, 12] 和成績 [65, 72, 78, 85, 90, 95]。"
- "製作一個身高與體重數據的散點圖,並按不同年齡組進行分類。"
💊 醫藥信息提供者
- 功能描述:從 Tata 1mg 獲取任何給定藥物的信息。
- 參數說明:
| 屬性 | 詳情 |
| ---- | ---- |
|
medicine_name(字符串) | 藥物名稱 |
- 示例提示:
- "嘿,藥房給了我孟魯司特,這是治療過敏的正確藥物嗎?"
⚙️ 用戶偏好管理
獲取用戶偏好
- 功能描述:檢索用戶偏好或按鍵檢索特定偏好值。
- 參數說明:
| 屬性 | 詳情 |
| ---- | ---- |
|
puch_user_id(字符串) | 用戶 ID |
| key(字符串,可選) | 要檢索的特定偏好鍵 |
- 示例提示:
- "我最喜歡的編程語言是什麼?"
- "給我展示所有已保存的偏好。"
保存用戶偏好
- 功能描述:將用戶偏好、喜好、興趣或任何值得記住的信息保存到持久存儲中。
- 參數說明:
| 屬性 | 詳情 |
| ---- | ---- |
|
puch_user_id(字符串) | 用戶 ID |
| key(字符串) | 偏好類別或鍵(例如,'favorite_color') |
| value(字符串) | 要保存在給定鍵下的值 |
- 示例提示:
- "記住我最喜歡的編程語言是 Python。"
- "保存我早上更喜歡咖啡而不是茶。"
📋 任務管理工具
添加待辦事項
- 功能描述:將新任務添加到用戶的待辦事項列表中,並記錄時間戳。
- 參數說明:
| 屬性 | 詳情 |
| ---- | ---- |
|
puch_user_id(字符串) | 用戶 ID |
| task(字符串) | 任務或待辦事項文本 |
- 示例提示:
- "將 '完成 MCP 文檔' 添加到我的待辦事項列表中。"
- "我需要記住 '給客戶打電話討論項目提案' - 請將此添加到我的任務中。"
列出待辦事項
- 功能描述:檢索並顯示用戶的所有待辦事項,按創建日期排序。
- 參數說明:
| 屬性 | 詳情 |
| ---- | ---- |
|
puch_user_id(字符串) | 用戶 ID |
- 示例提示:
- "給我展示所有當前的任務和待辦事項。"
- "我現在的待辦事項列表上有什麼?"
刪除待辦事項
- 功能描述:按索引編號從用戶的待辦事項列表中刪除特定任務。
- 參數說明:
| 屬性 | 詳情 |
| ---- | ---- |
|
puch_user_id(字符串) | 用戶 ID |
| index(整數) | 待辦事項在 list_todos 中的索引編號(從 1 開始) |
- 示例提示:
- "從我的待辦事項列表中刪除第 3 個任務。"
- "從我的任務中刪除第二項。"
⚠️ 重要提示
- Reddit 抓取器:每個用戶每次使用間隔 80 秒。
- 其他工具:無冷卻時間限制。
- 用戶數據存儲在
user_data.json 中。
- 採用線程安全的文件操作並使用鎖機制。
- 使用臨時文件進行原子寫入操作。
📦 安裝指南
安裝 uv
假設您已經安裝了 Python。
uv 是一個快速的 Python 包安裝程序和環境管理器。
使用以下命令進行安裝:
pip install uv
運行項目
克隆倉庫,填充 .env 文件,進入項目目錄,然後執行以下命令:
uv run src/main.py
默認情況下,項目將在 端口 8085 上運行。
設置 NGROK
1. 安裝 ngrok
從以下鏈接下載並安裝 ngrok:
https://ngrok.com/download
2. 獲取您的認證令牌
- 訪問:https://dashboard.ngrok.com/get-started/your-authtoken
- 複製您的認證令牌。
- 運行以下命令添加您的令牌:
ngrok config add-authtoken YOUR_AUTHTOKEN
- 運行
ngrok http 8085
- 複製生成的 URL,並在 puch.ai/hi 上輸入
/mcp connect {複製的 URL}/mcp AUTH_TOKEN。其中,AUTH_TOKEN 應與 .env 文件中的令牌相同。