- 新增自动点赞功能【一键点赞】:支持关键词搜索笔记并随机批量点赞,提升账号活跃度 - 新增自动回复功能【一键回复】:自动扫描用户笔记的粉丝评论,使用AI生成并发送回复 - 扩展自动化调度器【定时调度】:支持点赞和回复任务的随机定时执行,模拟真人操作间隔 - 新增项目文档【文档】:添加README、CHANGELOG、CONTRIBUTING、LICENSE等核心文档文件 - 优化.gitignore文件【配置】:完善Python项目、IDE、敏感文件、日志等忽略规则 - 新增配置文件模板【配置】:提供config.example.json作为配置参考 - 优化MCP客户端【工具】:新增评论解析方法,支持从笔记详情中提取结构化评论数据
119 lines
3.2 KiB
Markdown
119 lines
3.2 KiB
Markdown
# 贡献指南
|
||
|
||
感谢你对本项目的关注!我们欢迎任何形式的贡献,包括但不限于 Bug 报告、功能建议、代码提交和文档改进。
|
||
|
||
## 开发环境搭建
|
||
|
||
```bash
|
||
# 1. Fork 并克隆项目
|
||
git clone https://github.com/your-username/xhs-autobot.git
|
||
cd xhs-autobot
|
||
|
||
# 2. 创建虚拟环境
|
||
python -m venv .venv
|
||
# Windows
|
||
.venv\Scripts\activate
|
||
# macOS/Linux
|
||
source .venv/bin/activate
|
||
|
||
# 3. 安装依赖
|
||
pip install -r requirements.txt
|
||
|
||
# 4. 复制配置文件
|
||
cp config.example.json config.json
|
||
# 编辑 config.json 填写你的 API Key
|
||
|
||
# 5. 启动开发
|
||
python main.py
|
||
```
|
||
|
||
## 提交规范
|
||
|
||
本项目使用 [Conventional Commits](https://www.conventionalcommits.org/) 规范:
|
||
|
||
```
|
||
<type>(<scope>): <description>
|
||
|
||
[可选正文]
|
||
|
||
[可选脚注]
|
||
```
|
||
|
||
### Type 类型
|
||
|
||
| 类型 | 说明 |
|
||
|------|------|
|
||
| `feat` | 新功能 |
|
||
| `fix` | Bug 修复 |
|
||
| `docs` | 文档更新 |
|
||
| `style` | 代码格式调整(不影响逻辑) |
|
||
| `refactor` | 重构(非新功能、非修复) |
|
||
| `perf` | 性能优化 |
|
||
| `test` | 测试相关 |
|
||
| `chore` | 构建/工具变更 |
|
||
|
||
### 示例
|
||
|
||
```
|
||
feat(auto): 增加自动收藏功能
|
||
fix(llm): 修复 JSON 模式下 400 错误
|
||
docs: 更新 README 安装步骤
|
||
refactor(mcp): 重构评论解析逻辑
|
||
```
|
||
|
||
## Pull Request 流程
|
||
|
||
1. **Fork** 本仓库
|
||
2. 从 `main` 创建特性分支:`git checkout -b feature/your-feature`
|
||
3. 编写代码并测试
|
||
4. 确保代码风格一致(建议使用 IDE 自动格式化)
|
||
5. 提交更改,遵循上述提交规范
|
||
6. 推送分支:`git push origin feature/your-feature`
|
||
7. 在 GitHub 上发起 **Pull Request**,描述你的更改内容
|
||
|
||
## Bug 报告
|
||
|
||
提交 Issue 时请包含:
|
||
|
||
- **环境信息**:Python 版本、操作系统、相关服务版本
|
||
- **复现步骤**:尽可能详细的操作步骤
|
||
- **期望行为**:你认为应该发生什么
|
||
- **实际行为**:实际发生了什么
|
||
- **日志/截图**:如有错误日志或截图请附上
|
||
|
||
## 功能建议
|
||
|
||
欢迎通过 Issue 提交功能建议,请描述:
|
||
|
||
- **使用场景**:你在什么情况下需要这个功能
|
||
- **期望功能**:你希望它如何工作
|
||
- **参考实现**:是否有类似的项目/功能可参考
|
||
|
||
## 项目架构
|
||
|
||
```
|
||
main.py # 主程序:Gradio UI + 业务逻辑 + 自动化调度
|
||
├─ config_manager.py # 配置管理:单例模式,多 LLM 提供商
|
||
├─ llm_service.py # LLM 封装:文案生成、热点分析、评论回复
|
||
├─ sd_service.py # SD 封装:txt2img、img2img(JuggernautXL 优化)
|
||
└─ mcp_client.py # MCP 客户端:小红书搜索、发布、评论、点赞
|
||
```
|
||
|
||
### 核心设计原则
|
||
|
||
- **模块解耦** — 各服务独立封装,通过配置管理器共享状态
|
||
- **MCP 协议** — 通过 JSON-RPC 与小红书 MCP 服务通信,不直接操作浏览器
|
||
- **LLM 无关** — 支持所有 OpenAI 兼容 API,不绑定特定提供商
|
||
- **UI 逻辑分离** — 业务函数与 Gradio UI 组件分开定义
|
||
|
||
## 代码风格
|
||
|
||
- Python 3.10+ 语法
|
||
- 函数和类使用中文 docstring
|
||
- 日志使用 `logging` 模块,不使用 `print`
|
||
- 配置通过 `ConfigManager` 单例管理,不硬编码
|
||
|
||
## 感谢
|
||
|
||
感谢每一位贡献者!🙏
|