# Claw **Repository Path**: RichardLemonTea/open ## Basic Information - **Project Name**: Claw - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-31 - **Last Updated**: 2026-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # OpenClaw OpenClaw 是一个轻量级的 Python 对话工具,默认通过阿里云百炼的 OpenAI 兼容接口调用 `qwen-plus`,并内置了几个可以直接落地执行的 Skills: - 关键词新闻查询 - 视频下载 - 对话记忆 - 系统提示设置 - Web 聊天界面 - 本地 MCP 工具抽象 ## 技术栈 - Python 3 - Flask - requests - OpenAI Python SDK(用于调用 DashScope 兼容接口) - yt-dlp(用于下载视频) ## 主要功能 - 普通大模型对话 - 多轮记忆对话,历史默认保存在 `memory.json` - 交互式命令行界面 - Web 界面 - 新闻查询 Skill - 视频下载 Skill - 本地 MCP Server 工具调度 ## 安装 ```bash pip install -r requirements.txt ``` 如果你希望下载更高质量、需要音视频合并的视频,建议额外安装 `ffmpeg` 二进制程序。 ## 环境变量 ### 必填 - `DASHSCOPE_API_KEY` 说明:启用普通大模型对话能力时需要。未配置时,项目仍可使用本地 Skills。 ### 按需配置 - `TIANAPI_KEY` 说明:启用新闻查询 Skill 时需要,当前使用国内的 TianAPI 电竞资讯接口。 - `OPENCLAW_MODEL` 说明:默认模型名,默认值为 `qwen-plus`。 - `OPENCLAW_NEWS_LIMIT` 说明:每次返回的新闻数量,默认 `10`,最大 `50`。 - `OPENCLAW_NEWS_PAGE` 说明:新闻翻页参数,默认 `1`。 - `OPENCLAW_DOWNLOAD_DIR` 说明:视频下载目录,默认是项目下的 `downloads/`。 - `OPENCLAW_YTDLP_FORMAT` 说明:传给 `yt-dlp` 的格式选择,默认 `best[ext=mp4]/best`。 ## 运行方式 ### 命令行模式 ```bash python openclaw.py ``` 支持命令: - `quit` 或 `exit`:退出程序 - `clear`:清空对话历史 - `system: 你的提示词`:设置系统提示 - `mcp`:查看当前注册的 MCP 工具 ### Web 模式 ```bash python web_server.py ``` 启动后访问 [http://localhost:5000](http://localhost:5000)。 额外接口: - `GET /mcp/tools`:查看当前已注册的 MCP 工具列表 ## Skills 用法 ### 新闻查询 示例输入: - `查询LPL新闻` - `搜索DOTA2新闻` - `新闻:英雄联盟` 说明: - 新闻查询当前使用国内的 TianAPI 电竞资讯接口。 - 如果没有配置 `TIANAPI_KEY`,技能会直接提示你补充配置。 - 这个接口支持关键词检索,默认返回 10 条,支持 `1-50` 条和翻页。 - 这个接口只适合查询电竞相关资讯,不适合通用时政或科技新闻。 - TianAPI 官方文档标注普通会员免费额度为 100 次/天。 ### 视频下载 示例输入: - `下载视频 https://www.youtube.com/watch?v=BaW_jenozKc` - `下载视频 周杰伦 稻香` 说明: - 如果输入的是关键词,程序会使用 `ytsearch1:` 搜索并下载第一条结果。 - 下载文件默认保存到 `downloads/`。 - 请遵守目标平台的版权政策和服务条款。 ## 编程方式调用 ```python from openclaw import OpenClaw claw = OpenClaw() response = claw.chat_with_memory("查询LPL新闻") print(response) for tool in claw.list_mcp_tools(): print(tool["name"], tool["description"]) ``` ## 部署 ### Gunicorn ```bash gunicorn -w 4 -b 0.0.0.0:5000 web_server:app ``` ### Nginx 反向代理 ```nginx server { listen 80; server_name yourdomain.com; location / { proxy_pass http://127.0.0.1:5000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } ``` ## 项目说明 - 当前默认对话模型为 `qwen-plus` - Web 端和命令行端都会复用同一套 MCP 工具 - `downloads/` 和 Python 缓存目录已建议忽略,不纳入版本控制 - 新闻 Skill 已切换为国内接口 TianAPI 电竞资讯 - 当前 MCP 工具包括电竞资讯查询、视频下载、情绪回应