{"owner":"qd-today","repo":"qd","hasSkills":true,"hasMcp":false,"mcpConfig":null,"found":[".github/copilot-instructions.md"],"skills":{".github/copilot-instructions.md":"# QD 项目指南\n\n## 项目概述\n\nQD 是一个基于 HAR Editor 和 Tornado Server 的 HTTP 请求定时任务自动执行框架，用于自动化 HTTP 请求任务。该项目使用 Python 构建，支持定时任务调度、请求模板管理和会话管理等功能。\n\n## 架构\n\nQD 项目的主要组件包括：\n\n1. **Web 服务器**：基于 Tornado 的异步 web 服务器，提供 Web UI 和 API\n2. **任务调度系统**：管理和执行定时任务，基于 APScheduler\n3. **请求执行引擎**：Fetcher 负责执行 HTTP 请求，处理模板和环境变量\n4. **数据存储**：支持多种数据库后端（如 SQLite、MySQL、PostgreSQL）\n5. **Push 系统**：支持通过多种渠道（如 Telegram、钉钉等）推送通知\n\n## 核心组件\n\n- `qd.py`: 命令行入口，用于执行单个 HAR 模板\n- `run.py`: 启动 Web 服务的入口点\n- `libs/fetcher.py`: 核心请求执行引擎，处理 HTTP 请求执行和结果解析\n- `libs/utils.py`: 通用工具函数\n- `web/handlers/`: Web 请求处理程序，包含各种功能的路由处理\n- `web/tpl/`: 前端模板文件\n- `config.py`: 应用程序配置，定义系统全局设置和参数\n\n## 工作流程\n\n### 开发环境设置\n\n1. 克隆仓库\n2. 安装依赖 (推荐使用 pipenv)\n   ```bash\n   pipenv install\n   ```\n3. 配置 `config.py`\n4. 运行 `run.py` 启动服务器\n   ```bash\n   python run.py\n   ```\n\n### 模板执行\n\n模板执行可以通过命令行或 Web UI 完成：\n\n```bash\npython qd.py tpl.har [--key=value] [env.json]\n```\n\n其中：\n\n- `tpl.har` 是 HAR 格式的请求模板\n- `--key=value` 设置环境变量\n- `env.json` 是包含环境变量的配置文件\n\n### 代码约定\n\n- **异步处理**：项目广泛使用 `asyncio` 进行异步操作，大部分 handler 和核心函数都是异步的\n- **日志记录**：使用 `libs/log.py` 中的 Log 类进行日志记录，支持多种输出级别\n- **错误处理**：根据 `config.traceback_print` 决定是否打印详细错误堆栈\n- **环境变量**：模板中的变量使用 `{{ variable }}` 语法，在执行时会被替换\n\n## 关键功能实现\n\n### HAR 请求解析和执行\n\n`libs/fetcher.py` 中的 Fetcher 类负责解析 HAR 文件并执行请求。它支持：\n\n- 变量替换与渲染\n- 会话管理与 Cookie 处理\n- 结果提取与响应处理\n- 错误重试机制\n\n### 任务调度\n\n任务调度使用 APScheduler 实现，在 `web/handlers/task.py` 中定义。定时任务支持：\n\n- Cron 表达式定义执行时间\n- 灵活的任务参数设置\n- 任务日志记录与状态跟踪\n\n### 消息推送\n\n`libs/push.py` 实现了多种推送渠道，包括：\n\n- Telegram\n- 钉钉\n- 企业微信\n- Bark\n- Serverchan 等\n\n## 扩展和集成\n\n- 可以通过 Docker 部署：项目提供了完整的 Docker 支持\n  ```bash\n  docker build -t qd .\n  docker run -d -p 8923:8923 qd\n  ```\n- 支持自定义插件扩展功能（在 `libs/handler.py` 中扩展）\n- 支持 WebUI 与 CLI 两种使用方式\n\n## 调试技巧\n\n- 启用调试日志：修改 config.py 中的 `debug` 为 `True`\n- 单独测试请求：使用 `python qd.py` 命令行工具测试单个模板\n- 查看任务日志：通过 Web UI 的任务页面访问详细执行记录\n\n## 常见问题\n\n- 端口冲突：`qd.py` 会检查端口是否被占用，如果被占用会自动启动服务\n- 会话管理：请求之间的会话状态通过环境变量中的 `session` 字段维护\n- 数据库连接问题：确保 `config.py` 中的数据库配置正确\n\n## 参考文件\n\n- `README.md`: 项目的主要文档\n- `CHANGELOG.md`: 项目更新日志\n- `/web/docs/`: 详细的用户指南\n"},"files":{".github/copilot-instructions.md":"# QD 项目指南\n\n## 项目概述\n\nQD 是一个基于 HAR Editor 和 Tornado Server 的 HTTP 请求定时任务自动执行框架，用于自动化 HTTP 请求任务。该项目使用 Python 构建，支持定时任务调度、请求模板管理和会话管理等功能。\n\n## 架构\n\nQD 项目的主要组件包括：\n\n1. **Web 服务器**：基于 Tornado 的异步 web 服务器，提供 Web UI 和 API\n2. **任务调度系统**：管理和执行定时任务，基于 APScheduler\n3. **请求执行引擎**：Fetcher 负责执行 HTTP 请求，处理模板和环境变量\n4. **数据存储**：支持多种数据库后端（如 SQLite、MySQL、PostgreSQL）\n5. **Push 系统**：支持通过多种渠道（如 Telegram、钉钉等）推送通知\n\n## 核心组件\n\n- `qd.py`: 命令行入口，用于执行单个 HAR 模板\n- `run.py`: 启动 Web 服务的入口点\n- `libs/fetcher.py`: 核心请求执行引擎，处理 HTTP 请求执行和结果解析\n- `libs/utils.py`: 通用工具函数\n- `web/handlers/`: Web 请求处理程序，包含各种功能的路由处理\n- `web/tpl/`: 前端模板文件\n- `config.py`: 应用程序配置，定义系统全局设置和参数\n\n## 工作流程\n\n### 开发环境设置\n\n1. 克隆仓库\n2. 安装依赖 (推荐使用 pipenv)\n   ```bash\n   pipenv install\n   ```\n3. 配置 `config.py`\n4. 运行 `run.py` 启动服务器\n   ```bash\n   python run.py\n   ```\n\n### 模板执行\n\n模板执行可以通过命令行或 Web UI 完成：\n\n```bash\npython qd.py tpl.har [--key=value] [env.json]\n```\n\n其中：\n\n- `tpl.har` 是 HAR 格式的请求模板\n- `--key=value` 设置环境变量\n- `env.json` 是包含环境变量的配置文件\n\n### 代码约定\n\n- **异步处理**：项目广泛使用 `asyncio` 进行异步操作，大部分 handler 和核心函数都是异步的\n- **日志记录**：使用 `libs/log.py` 中的 Log 类进行日志记录，支持多种输出级别\n- **错误处理**：根据 `config.traceback_print` 决定是否打印详细错误堆栈\n- **环境变量**：模板中的变量使用 `{{ variable }}` 语法，在执行时会被替换\n\n## 关键功能实现\n\n### HAR 请求解析和执行\n\n`libs/fetcher.py` 中的 Fetcher 类负责解析 HAR 文件并执行请求。它支持：\n\n- 变量替换与渲染\n- 会话管理与 Cookie 处理\n- 结果提取与响应处理\n- 错误重试机制\n\n### 任务调度\n\n任务调度使用 APScheduler 实现，在 `web/handlers/task.py` 中定义。定时任务支持：\n\n- Cron 表达式定义执行时间\n- 灵活的任务参数设置\n- 任务日志记录与状态跟踪\n\n### 消息推送\n\n`libs/push.py` 实现了多种推送渠道，包括：\n\n- Telegram\n- 钉钉\n- 企业微信\n- Bark\n- Serverchan 等\n\n## 扩展和集成\n\n- 可以通过 Docker 部署：项目提供了完整的 Docker 支持\n  ```bash\n  docker build -t qd .\n  docker run -d -p 8923:8923 qd\n  ```\n- 支持自定义插件扩展功能（在 `libs/handler.py` 中扩展）\n- 支持 WebUI 与 CLI 两种使用方式\n\n## 调试技巧\n\n- 启用调试日志：修改 config.py 中的 `debug` 为 `True`\n- 单独测试请求：使用 `python qd.py` 命令行工具测试单个模板\n- 查看任务日志：通过 Web UI 的任务页面访问详细执行记录\n\n## 常见问题\n\n- 端口冲突：`qd.py` 会检查端口是否被占用，如果被占用会自动启动服务\n- 会话管理：请求之间的会话状态通过环境变量中的 `session` 字段维护\n- 数据库连接问题：确保 `config.py` 中的数据库配置正确\n\n## 参考文件\n\n- `README.md`: 项目的主要文档\n- `CHANGELOG.md`: 项目更新日志\n- `/web/docs/`: 详细的用户指南\n"},"items":[{"name":"copilot-instructions.md","path":".github/copilot-instructions.md","title":"copilot-instructions.md","content":"# QD 项目指南\n\n## 项目概述\n\nQD 是一个基于 HAR Editor 和 Tornado Server 的 HTTP 请求定时任务自动执行框架，用于自动化 HTTP 请求任务。该项目使用 Python 构建，支持定时任务调度、请求模板管理和会话管理等功能。\n\n## 架构\n\nQD 项目的主要组件包括：\n\n1. **Web 服务器**：基于 Tornado 的异步 web 服务器，提供 Web UI 和 API\n2. **任务调度系统**：管理和执行定时任务，基于 APScheduler\n3. **请求执行引擎**：Fetcher 负责执行 HTTP 请求，处理模板和环境变量\n4. **数据存储**：支持多种数据库后端（如 SQLite、MySQL、PostgreSQL）\n5. **Push 系统**：支持通过多种渠道（如 Telegram、钉钉等）推送通知\n\n## 核心组件\n\n- `qd.py`: 命令行入口，用于执行单个 HAR 模板\n- `run.py`: 启动 Web 服务的入口点\n- `libs/fetcher.py`: 核心请求执行引擎，处理 HTTP 请求执行和结果解析\n- `libs/utils.py`: 通用工具函数\n- `web/handlers/`: Web 请求处理程序，包含各种功能的路由处理\n- `web/tpl/`: 前端模板文件\n- `config.py`: 应用程序配置，定义系统全局设置和参数\n\n## 工作流程\n\n### 开发环境设置\n\n1. 克隆仓库\n2. 安装依赖 (推荐使用 pipenv)\n   ```bash\n   pipenv install\n   ```\n3. 配置 `config.py`\n4. 运行 `run.py` 启动服务器\n   ```bash\n   python run.py\n   ```\n\n### 模板执行\n\n模板执行可以通过命令行或 Web UI 完成：\n\n```bash\npython qd.py tpl.har [--key=value] [env.json]\n```\n\n其中：\n\n- `tpl.har` 是 HAR 格式的请求模板\n- `--key=value` 设置环境变量\n- `env.json` 是包含环境变量的配置文件\n\n### 代码约定\n\n- **异步处理**：项目广泛使用 `asyncio` 进行异步操作，大部分 handler 和核心函数都是异步的\n- **日志记录**：使用 `libs/log.py` 中的 Log 类进行日志记录，支持多种输出级别\n- **错误处理**：根据 `config.traceback_print` 决定是否打印详细错误堆栈\n- **环境变量**：模板中的变量使用 `{{ variable }}` 语法，在执行时会被替换\n\n## 关键功能实现\n\n### HAR 请求解析和执行\n\n`libs/fetcher.py` 中的 Fetcher 类负责解析 HAR 文件并执行请求。它支持：\n\n- 变量替换与渲染\n- 会话管理与 Cookie 处理\n- 结果提取与响应处理\n- 错误重试机制\n\n### 任务调度\n\n任务调度使用 APScheduler 实现，在 `web/handlers/task.py` 中定义。定时任务支持：\n\n- Cron 表达式定义执行时间\n- 灵活的任务参数设置\n- 任务日志记录与状态跟踪\n\n### 消息推送\n\n`libs/push.py` 实现了多种推送渠道，包括：\n\n- Telegram\n- 钉钉\n- 企业微信\n- Bark\n- Serverchan 等\n\n## 扩展和集成\n\n- 可以通过 Docker 部署：项目提供了完整的 Docker 支持\n  ```bash\n  docker build -t qd .\n  docker run -d -p 8923:8923 qd\n  ```\n- 支持自定义插件扩展功能（在 `libs/handler.py` 中扩展）\n- 支持 WebUI 与 CLI 两种使用方式\n\n## 调试技巧\n\n- 启用调试日志：修改 config.py 中的 `debug` 为 `True`\n- 单独测试请求：使用 `python qd.py` 命令行工具测试单个模板\n- 查看任务日志：通过 Web UI 的任务页面访问详细执行记录\n\n## 常见问题\n\n- 端口冲突：`qd.py` 会检查端口是否被占用，如果被占用会自动启动服务\n- 会话管理：请求之间的会话状态通过环境变量中的 `session` 字段维护\n- 数据库连接问题：确保 `config.py` 中的数据库配置正确\n\n## 参考文件\n\n- `README.md`: 项目的主要文档\n- `CHANGELOG.md`: 项目更新日志\n- `/web/docs/`: 详细的用户指南\n","category":".github","tokens":507}]}