by frederick · v0.0.2
Connect to LinuxDo forum with authentication, user verification, content search, personalized recommendations, and auto check-in via LinuxDo Connect API
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.
English | 中文
Author: frederick
Version: 0.0.2
Type: tool
LinuxDo Connect Plugin 是一个专为 Dify 平台设计的插件,通过 LinuxDo Connect API 连接 LinuxDo 论坛。该插件提供全面的论坛集成功能,包括身份验证、用户信息获取、内容搜索、个性化推荐和自动签到等功能。
Python 环境要求
获取 LinuxDo Connect 认证信息
克隆或下载项目
git clone <repository_url>
cd linuxdo
安装Python依赖包
pip install -r requirements.txt
依赖包说明
dify_plugin>=0.2.0,<0.3.0: Dify插件SDKrequests>=2.31.0: HTTP请求库创建环境配置文件
cp .env.example .env
编辑.env文件,添加以下配置
# Dify插件调试配置
INSTALL_METHOD=remote
REMOTE_INSTALL_URL=debug.dify.ai:5003
REMOTE_INSTALL_KEY=<your_debugging_key>
# LinuxDo Connect API配置(可选,用于测试)
LINUXDO_CLIENT_ID=<your_client_id>
LINUXDO_CLIENT_SECRET=<your_client_secret>
LINUXDO_API_KEY=<your_api_key>
在 Dify 平台中安装插件后,需要配置以下认证信息:
Client ID
Client Secret
API Key
本地调试测试
python -m main
验证连接状态
功能: 获取和验证用户信息
参数:
action_type: 操作类型
info: 获取用户基本信息verify: 验证用户身份profile: 获取详细档案activity: 查看活动状态使用示例:
获取我的LinuxDo用户信息
验证当前用户的信任等级
查看我的论坛活动状态
功能: 在论坛中搜索内容
参数:
search_query (必需): 搜索关键词search_type: 搜索类型 (all/topics/posts/categories)category_filter: 分类筛选limit: 结果数量限制 (1-100)sort_by: 排序方式 (relevance/date/views/replies)使用示例:
搜索关于"Linux内核"的主题
在技术分享分类中搜索"Docker"相关内容
查找最近热门的讨论话题
功能: 基于用户兴趣提供内容推荐
参数:
recommendation_type: 推荐类型category_preference: 偏好分类limit: 推荐数量time_range: 时间范围使用示例:
为我推荐感兴趣的技术话题
推荐本周热门讨论
基于我的浏览历史推荐相关内容
功能: 自动签到和活动跟踪
参数:
action_type: 操作类型 (checkin/status/history/streak)auto_activity: 是否执行额外活动notification_enabled: 是否启用通知days_to_check: 历史查询天数使用示例:
执行今日签到
查看我的签到状态
检查连续签到记录
查看最近7天的签到历史
插件支持标准的 OAuth2 授权流程:
https://connect.linux.do/oauth2/authorizehttps://connect.linux.do/oauth2/tokenhttps://connect.linux.do/api/userBasic Authorization
Authorization: Basic base64(client_id:client_secret)API Key Authentication
?api_key={your_api_key}| 参数 | 类型 | 必需 | 描述 | 获取方式 |
|---|---|---|---|---|
| Client ID | string | 是 | 应用客户端标识符 | 从 LinuxDo Connect 应用管理页面获取 |
| Client Secret | string | 是 | 应用客户端密钥 | 从 LinuxDo Connect 应用管理页面获取 |
| API Key | string | 是 | 用户个人访问密钥 | 从 LinuxDo Connect 用户设置页面获取 |
| 端点 | 方法 | 功能 | 认证要求 |
|---|---|---|---|
/api/key | GET | 验证API Key | Basic Auth + API Key |
/api/user | GET | 获取用户信息 | Basic Auth + API Key |
/api/search | GET | 搜索论坛内容 | Basic Auth + API Key |
/api/recommendations | GET | 获取个性化推荐 | Basic Auth + API Key |
/api/checkin | POST | 执行签到操作 | Basic Auth + API Key |
/oauth2/authorize | GET | OAuth2 授权 | Client ID |
/oauth2/token | POST | 获取访问令牌 | Client ID + Secret |
| 字段 | 类型 | 描述 |
|---|---|---|
| id | integer | 用户唯一标识符(不可变) |
| username | string | 论坛用户名 |
| name | string | 用户昵称(可变) |
| avatar_template | string | 头像模板URL |
| active | boolean | 账号活跃状态 |
| trust_level | integer | 信任等级(0-4) |
| silenced | boolean | 禁言状态 |
| external_ids | object | 外部ID关联信息 |
| api_key | string | API访问密钥 |
域名访问
connect.linux.dolinux.do (用于内容链接)端口要求
代理配置
HTTPS 要求
认证信息保护
请求头配置
User-Agent: Dify LinuxDo Plugin/1.0
Content-Type: application/json
Authorization: Basic {base64_credentials}
常见错误码和处理方式:
| 状态码 | 错误类型 | 处理方式 |
|---|---|---|
| 401 | 认证失败 | 检查 Client ID/Secret |
| 403 | API Key 无效 | 重新获取 API Key |
| 429 | 请求过频 | 实施请求限制 |
| 500 | 服务器错误 | 重试或联系支持 |
linuxdo/
├── _assets/ # 资源文件
│ ├── icon-dark.svg # 深色图标
│ └── icon.svg # 浅色图标
├── provider/ # 插件提供者
│ ├── linuxdo.py # 主要提供者类
│ └── linuxdo.yaml # 提供者配置
├── tools/ # 工具实现
│ ├── checkin.py # 签到工具
│ ├── checkin.yaml # 签到工具配置
│ ├── content_search.py # 内容搜索工具
│ ├── content_search.yaml # 搜索工具配置
│ ├── linuxdo.py # 用户信息工具
│ ├── linuxdo.yaml # 用户工具配置
│ ├── recommendations.py # 推荐工具
│ └── recommendations.yaml# 推荐工具配置
├── main.py # 插件入口
├── manifest.yaml # 插件清单
├── requirements.txt # Python依赖
├── api.md # API文档
├── GUIDE.md # 开发指南
├── PRIVACY.md # 隐私政策
└── README.md # 项目说明
git checkout -b feature/new-featuregit commit -am 'Add new feature'git push origin feature/new-feature如果您遇到任何问题或有改进建议,请通过以下方式联系:
注意: 请确保遵守 LinuxDo 论坛的使用条款和 API 使用政策。本插件仅供学习和个人使用,请勿用于商业用途或恶意行为。