diff --git a/README.md b/README.md index f8a6d96..ec8ac47 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,6 @@ # `yutu` [![Static Badge](https://img.shields.io/badge/gitmoji-%F0%9F%98%BF%F0%9F%90%B0%F0%9F%90%A7%E2%9D%A4%EF%B8%8F%E2%80%8D%F0%9F%A9%B9-love?style=flat-square&labelColor=%23EDD1CC&color=%23FF919F)](https://gitmoji.dev) -[![Go Report Card](https://goreportcard.com/badge/github.com/eat-pray-ai/yutu?style=flat-square)](https://goreportcard.com/report/github.com/eat-pray-ai/yutu) [![GitHub License](https://img.shields.io/github/license/eat-pray-ai/yutu?style=flat-square)](https://github.com/eat-pray-ai/yutu?tab=Apache-2.0-1-ov-file) [![Go Reference](https://pkg.go.dev/badge/github.com/eat-pray-ai/yutu?style=flat-square)](https://pkg.go.dev/github.com/eat-pray-ai/yutu) [![Go Coverage](https://github.com/eat-pray-ai/yutu/wiki/coverage.svg)](https://raw.githack.com/wiki/eat-pray-ai/yutu/coverage.html) @@ -21,8 +20,8 @@ )](https://winstall.app/apps/eat-pray-ai.yutu) [![npm Version](https://img.shields.io/npm/v/%40eat-pray-ai/yutu?style=flat-square&logo=npm)](https://www.npmjs.com/package/@eat-pray-ai/yutu) -[![YouTube CLI, MCP server, Skill and Agent - AI-powered toolkit that grows YouTube channel on autopilot | Product -Hunt](https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1138118&theme=light)](https://www.producthunt.com/products/yutu?embed=true&utm_source=badge-featured&utm_medium=badge&utm_campaign=badge-youtube-cli-mcp-server-skill-and-agent) + `yutu` is a CLI, MCP server, and AI agent for YouTube that automates your entire YouTube workflow — from uploading and optimizing videos to managing comments, playlists, and channel branding — so you can get more views, higher click-through rates, and stronger audience engagement with less manual effort. [中文文档](./README_zh.md) @@ -51,6 +50,7 @@ An account on [Google Cloud Platform](https://console.cloud.google.com/) is requ - Go to `APIs & Services -> OAuth consent screen`, create a consent screen with yourself as a test user - Go to `Credentials -> Create Credentials -> OAuth Client ID`, select `Desktop app` - Download the credential file and save it as `client_secret.json`, it should look like + ```json { "installed": { @@ -66,12 +66,15 @@ An account on [Google Cloud Platform](https://console.cloud.google.com/) is requ } } ``` + 3. **Authenticate**: + ```bash yutu auth --credential client_secret.json ``` A browser window will open for you to grant YouTube access. After granting permission, a token is saved to `youtube.token.json`. + ```json { "access_token": "ya29.XXXXXXXXX", @@ -95,6 +98,12 @@ By default, `yutu` will read `client_secret.json` and `youtube.token.json` from ## Installation +If you're using an AI agent, copy and paste the following prompt to finish the installation: + +```plaintext +Install and configure yutu by following https://raw.githubusercontent.com/eat-pray-ai/yutu/refs/heads/main/internal/tools/skillgen/setup.md +``` + You can download `yutu` from [releases page](https://github.com/eat-pray-ai/yutu/releases/latest) directly, or use the following methods as you prefer.
@@ -224,7 +233,7 @@ the `provider:modelName` format (only `google` is supported). If only one is set Then run the following command for detail usage: -``` +```shell ❯ yutu agent --help ❯ yutu agent --args "help" # console mode @@ -313,7 +322,7 @@ See [skills/youtube/SKILL.md](skills/youtube/SKILL.md) for the full list of supp ## Usage ```shell -❯ yutu +❯ yutu yutu is a CLI, MCP server, and AI agent for YouTube that can automate almost all YouTube workflows. Environment variables: @@ -327,6 +336,7 @@ Usage: yutu [command] Available Commands: + abuseReport Manage YouTube abuse reports activity Manage activities on YouTube agent Start an agent to automate YouTube workflows auth Authenticate with YouTube APIs @@ -340,6 +350,11 @@ Available Commands: help Help about any command i18nLanguage Manage YouTube i18n languages i18nRegion Manage YouTube i18n regions + liveBroadcast Manage YouTube live broadcasts + liveChatBan Manage YouTube live chat bans + liveChatMessage Manage YouTube live chat messages + liveChatModerator Manage YouTube live chat moderators + liveStream Manage YouTube live streams mcp Start MCP server member Manage YouTube channel members membershipsLevel Manage YouTube memberships levels @@ -370,7 +385,3 @@ Please refer to [FEATURES.md](docs/FEATURES.md) for more information. ## Contributing Please refer to [CONTRIBUTING.md](docs/CONTRIBUTING.md) for more information. - -## Star History - -[![Star History Chart](https://api.star-history.com/svg?repos=eat-pray-ai/yutu&type=Date)](https://star-history.com/#eat-pray-ai/yutu&Date) diff --git a/README_zh.md b/README_zh.md index 58d7d8d..09c4b98 100644 --- a/README_zh.md +++ b/README_zh.md @@ -3,7 +3,6 @@ # `yutu` [![Static Badge](https://img.shields.io/badge/gitmoji-%F0%9F%98%BF%F0%9F%90%B0%F0%9F%90%A7%E2%9D%A4%EF%B8%8F%E2%80%8D%F0%9F%A9%B9-love?style=flat-square&labelColor=%23EDD1CC&color=%23FF919F)](https://gitmoji.dev) -[![Go Report Card](https://goreportcard.com/badge/github.com/eat-pray-ai/yutu?style=flat-square)](https://goreportcard.com/report/github.com/eat-pray-ai/yutu) [![GitHub License](https://img.shields.io/github/license/eat-pray-ai/yutu?style=flat-square)](https://github.com/eat-pray-ai/yutu?tab=Apache-2.0-1-ov-file) [![Go Reference](https://pkg.go.dev/badge/github.com/eat-pray-ai/yutu?style=flat-square)](https://pkg.go.dev/github.com/eat-pray-ai/yutu) [![Go Coverage](https://github.com/eat-pray-ai/yutu/wiki/coverage.svg)](https://raw.githack.com/wiki/eat-pray-ai/yutu/coverage.html) @@ -21,8 +20,8 @@ )](https://winstall.app/apps/eat-pray-ai.yutu) [![npm Version](https://img.shields.io/npm/v/%40eat-pray-ai/yutu?style=flat-square&logo=npm)](https://www.npmjs.com/package/@eat-pray-ai/yutu) -[![YouTube CLI, MCP server, Skill and Agent - AI-powered toolkit that grows YouTube channel on autopilot | Product -Hunt](https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=1138118&theme=light)](https://www.producthunt.com/products/yutu?embed=true&utm_source=badge-featured&utm_medium=badge&utm_campaign=badge-youtube-cli-mcp-server-skill-and-agent) + `yutu` 是一个 YouTube CLI、MCP 服务器和 AI Agent,可以自动化您的整个 YouTube 工作流程——从上传和优化视频到管理评论、播放列表和频道品牌——帮助您获得更多播放量、更高的点击率和更强的观众互动,同时大幅减少手动操作。 @@ -105,6 +104,12 @@ Hunt](https://api.producthunt.com/widgets/embed-image/v1/featured.svg?post_id=11 ## 安装 +如果您正在使用 AI Agent,可以复制以下提示词来完成安装: + +```plaintext +Install and configure yutu by following https://raw.githubusercontent.com/eat-pray-ai/yutu/refs/heads/main/internal/tools/skillgen/setup.md +``` + 您可以直接从[发布页面](https://github.com/eat-pray-ai/yutu/releases/latest)下载 `yutu`,或使用以下您喜欢的方法。
@@ -233,7 +238,7 @@ yutu 有两个可用的 GitHub Action,一个是通用 action,另一个专用 然后运行以下命令查看详细用法: -``` +```shell ❯ yutu agent --help ❯ yutu agent --args "help" # console mode @@ -322,7 +327,7 @@ yutu 有两个可用的 GitHub Action,一个是通用 action,另一个专用 ## 使用方法 ```shell -❯ yutu +❯ yutu yutu is a CLI, MCP server, and AI agent for YouTube that can automate almost all YouTube workflows. Environment variables: @@ -336,6 +341,7 @@ Usage: yutu [command] Available Commands: + abuseReport Manage YouTube abuse reports activity Manage activities on YouTube agent Start an agent to automate YouTube workflows auth Authenticate with YouTube APIs @@ -349,6 +355,11 @@ Available Commands: help Help about any command i18nLanguage Manage YouTube i18n languages i18nRegion Manage YouTube i18n regions + liveBroadcast Manage YouTube live broadcasts + liveChatBan Manage YouTube live chat bans + liveChatMessage Manage YouTube live chat messages + liveChatModerator Manage YouTube live chat moderators + liveStream Manage YouTube live streams mcp Start MCP server member Manage YouTube channel members membershipsLevel Manage YouTube memberships levels @@ -379,7 +390,3 @@ Use "yutu [command] --help" for more information about a command. ## 贡献 请参考 [CONTRIBUTING.md](docs/CONTRIBUTING.md) 获取更多信息。 - -## Star 历史 - -[![Star History Chart](https://api.star-history.com/svg?repos=eat-pray-ai/yutu&type=Date)](https://star-history.com/#eat-pray-ai/yutu&Date) diff --git a/docs/FEATURES.md b/docs/FEATURES.md index 326ca48..2148303 100644 --- a/docs/FEATURES.md +++ b/docs/FEATURES.md @@ -89,7 +89,7 @@ Here are the features that are currently supported by yutu 🟢, and the ones th tool - comments + comments 🟢 list 1 tool @@ -104,6 +104,11 @@ Here are the features that are currently supported by yutu 🟢, and the ones th 50 tool + + 🟢 markAsSpam + 50 + tool + 🟢 setModerationStatus 50 @@ -145,39 +150,39 @@ Here are the features that are currently supported by yutu 🟢, and the ones th liveBroadcasts - 🟡 list + 🟢 list ? - + tool - 🟡 insert + 🟢 insert ? - + tool - 🟡 insertCuepoint + 🟢 insertCuepoint ? - + tool - 🟡 update + 🟢 update ? - + tool - 🟡 bind + 🟢 bind ? - + tool - 🟡 transition + 🟢 transition ? - + tool - 🟡 delete + 🟢 delete ? - + tool liveChatBans @@ -192,24 +197,24 @@ Here are the features that are currently supported by yutu 🟢, and the ones th liveChatMessages - 🟡 list + 🟢 list ? - + tool - 🟡 insert + 🟢 insert ? - + tool - 🟡 delete + 🟢 delete ? - + tool - 🟡 transition + 🟢 transition ? - + tool liveChatModerators @@ -314,7 +319,7 @@ Here are the features that are currently supported by yutu 🟢, and the ones th tool - 🟢 upload + 🟢 update ? tool diff --git a/internal/tools/skillgen/setup.md b/internal/tools/skillgen/setup.md index dd0dacf..4cb5d64 100644 --- a/internal/tools/skillgen/setup.md +++ b/internal/tools/skillgen/setup.md @@ -30,7 +30,6 @@ An account on [Google Cloud Platform](https://console.cloud.google.com/) is requ Install `yutu` using one of these methods: - ```bash # Node.js (all platforms) npm i -g @eat-pray-ai/yutu @@ -38,20 +37,55 @@ npm i -g @eat-pray-ai/yutu # macOS brew install yutu -# Linux -brew install yutu +# Linux / macOS (shell script) +curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash # Windows winget install yutu - -# Gopher -go install github.com/eat-pray-ai/yutu@latest ``` ### Other platforms Download a prebuilt binary from the [releases page](https://github.com/eat-pray-ai/yutu/releases/latest) and place it in your PATH. +## MCP Server + +Add `yutu` as an MCP server after installation and authentication: + +```bash +# Claude Code +claude mcp add -e YUTU_CREDENTIAL=/absolute/path/to/client_secret.json \ + -e YUTU_CACHE_TOKEN=/absolute/path/to/youtube.token.json \ + yutu -- yutu mcp + +# Codex +codex mcp add --env YUTU_CREDENTIAL=/absolute/path/to/client_secret.json \ + --env YUTU_CACHE_TOKEN=/absolute/path/to/youtube.token.json \ + yutu -- yutu mcp +``` + +For VS Code, Cursor, or other tools, add to your MCP settings: + +```json +{ + "yutu": { + "type": "stdio", + "command": "yutu", + "args": ["mcp"], + "env": { + "YUTU_CREDENTIAL": "/absolute/path/to/client_secret.json", + "YUTU_CACHE_TOKEN": "/absolute/path/to/youtube.token.json" + } + } +} +``` + +## Skills + +```bash +npx skills add https://github.com/eat-pray-ai/yutu/tree/main/skills/youtube +``` + ## Environment Variables | Variable | Description | Default | @@ -61,4 +95,4 @@ Download a prebuilt binary from the [releases page](https://github.com/eat-pray- | `YUTU_ROOT` | Root directory for file resolution | Current working directory | | `YUTU_LOG_LEVEL` | Log level: `DEBUG`, `INFO`, `WARN`, `ERROR` | `INFO` | -For more details, see the [yutu README](https://github.com/eat-pray-ai/yutu#readme). +For more details, see the [README](https://github.com/eat-pray-ai/yutu#readme). diff --git a/skills/youtube/references/setup.md b/skills/youtube/references/setup.md index dd0dacf..4cb5d64 100644 --- a/skills/youtube/references/setup.md +++ b/skills/youtube/references/setup.md @@ -30,7 +30,6 @@ An account on [Google Cloud Platform](https://console.cloud.google.com/) is requ Install `yutu` using one of these methods: - ```bash # Node.js (all platforms) npm i -g @eat-pray-ai/yutu @@ -38,20 +37,55 @@ npm i -g @eat-pray-ai/yutu # macOS brew install yutu -# Linux -brew install yutu +# Linux / macOS (shell script) +curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash # Windows winget install yutu - -# Gopher -go install github.com/eat-pray-ai/yutu@latest ``` ### Other platforms Download a prebuilt binary from the [releases page](https://github.com/eat-pray-ai/yutu/releases/latest) and place it in your PATH. +## MCP Server + +Add `yutu` as an MCP server after installation and authentication: + +```bash +# Claude Code +claude mcp add -e YUTU_CREDENTIAL=/absolute/path/to/client_secret.json \ + -e YUTU_CACHE_TOKEN=/absolute/path/to/youtube.token.json \ + yutu -- yutu mcp + +# Codex +codex mcp add --env YUTU_CREDENTIAL=/absolute/path/to/client_secret.json \ + --env YUTU_CACHE_TOKEN=/absolute/path/to/youtube.token.json \ + yutu -- yutu mcp +``` + +For VS Code, Cursor, or other tools, add to your MCP settings: + +```json +{ + "yutu": { + "type": "stdio", + "command": "yutu", + "args": ["mcp"], + "env": { + "YUTU_CREDENTIAL": "/absolute/path/to/client_secret.json", + "YUTU_CACHE_TOKEN": "/absolute/path/to/youtube.token.json" + } + } +} +``` + +## Skills + +```bash +npx skills add https://github.com/eat-pray-ai/yutu/tree/main/skills/youtube +``` + ## Environment Variables | Variable | Description | Default | @@ -61,4 +95,4 @@ Download a prebuilt binary from the [releases page](https://github.com/eat-pray- | `YUTU_ROOT` | Root directory for file resolution | Current working directory | | `YUTU_LOG_LEVEL` | Log level: `DEBUG`, `INFO`, `WARN`, `ERROR` | `INFO` | -For more details, see the [yutu README](https://github.com/eat-pray-ai/yutu#readme). +For more details, see the [README](https://github.com/eat-pray-ai/yutu#readme).