@eat-pray-ai/yutu 0.10.8 → 0.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +84 -27
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -21,7 +21,8 @@
|
|
|
21
21
|
)](https://winstall.app/apps/eat-pray-ai.yutu)
|
|
22
22
|
[](https://www.npmjs.com/package/@eat-pray-ai/yutu)
|
|
23
23
|
|
|
24
|
-
[](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)
|
|
25
26
|
|
|
26
27
|
`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)
|
|
27
28
|
|
|
@@ -87,8 +88,8 @@ By default, `yutu` will read `client_secret.json` and `youtube.token.json` from
|
|
|
87
88
|
|
|
88
89
|
| Variable | Description | Default |
|
|
89
90
|
|--------------------|----------------------------------------------|---------------------------|
|
|
90
|
-
| `YUTU_CREDENTIAL` | Path,
|
|
91
|
-
| `YUTU_CACHE_TOKEN` | Path,
|
|
91
|
+
| `YUTU_CREDENTIAL` | Path, Base64, or JSON of OAuth client secret | `client_secret.json` |
|
|
92
|
+
| `YUTU_CACHE_TOKEN` | Path, Base64, or JSON of cached OAuth token | `youtube.token.json` |
|
|
92
93
|
| `YUTU_ROOT` | Root directory for file resolution | Current working directory |
|
|
93
94
|
| `YUTU_LOG_LEVEL` | Log level: `DEBUG`, `INFO`, `WARN`, `ERROR` | `INFO` |
|
|
94
95
|
|
|
@@ -96,26 +97,24 @@ By default, `yutu` will read `client_secret.json` and `youtube.token.json` from
|
|
|
96
97
|
|
|
97
98
|
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.
|
|
98
99
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
- [Docker](#docker)
|
|
102
|
-
- [Gopher](#gopher)
|
|
103
|
-
- [Linux](#linux)
|
|
104
|
-
- [macOS](#macos)
|
|
105
|
-
- [Windows](#windows)
|
|
106
|
-
- [Verifying Installation](#verifying-installation)
|
|
107
|
-
|
|
108
|
-
### GitHub Actions
|
|
100
|
+
<details>
|
|
101
|
+
<summary>GitHub Actions</summary>
|
|
109
102
|
|
|
110
103
|
There are two actions available for yutu, one is for general purpose and the other is for uploading video to YouTube. Refer to [youtube-action](https://github.com/eat-pray-ai/youtube-action) and [youtube-uploader](https://github.com/eat-pray-ai/youtube-uploader) for more information.
|
|
111
104
|
|
|
112
|
-
|
|
105
|
+
</details>
|
|
106
|
+
|
|
107
|
+
<details>
|
|
108
|
+
<summary>Node.js</summary>
|
|
113
109
|
|
|
114
110
|
```shell
|
|
115
111
|
❯ npm i -g @eat-pray-ai/yutu
|
|
116
112
|
```
|
|
117
113
|
|
|
118
|
-
|
|
114
|
+
</details>
|
|
115
|
+
|
|
116
|
+
<details>
|
|
117
|
+
<summary>Docker</summary>
|
|
119
118
|
|
|
120
119
|
```shell
|
|
121
120
|
❯ docker pull ghcr.io/eat-pray-ai/yutu:latest
|
|
@@ -124,19 +123,28 @@ There are two actions available for yutu, one is for general purpose and the oth
|
|
|
124
123
|
❯ docker run --rm -it -u $(id -u):$(id -g) -v $(pwd):/app -p 8216:8216 ghcr.io/eat-pray-ai/yutu:latest
|
|
125
124
|
```
|
|
126
125
|
|
|
127
|
-
|
|
126
|
+
</details>
|
|
127
|
+
|
|
128
|
+
<details>
|
|
129
|
+
<summary>Gopher</summary>
|
|
128
130
|
|
|
129
131
|
```shell
|
|
130
132
|
❯ go install github.com/eat-pray-ai/yutu@latest
|
|
131
133
|
```
|
|
132
134
|
|
|
133
|
-
|
|
135
|
+
</details>
|
|
136
|
+
|
|
137
|
+
<details>
|
|
138
|
+
<summary>Linux</summary>
|
|
134
139
|
|
|
135
140
|
```shell
|
|
136
141
|
❯ curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash
|
|
137
142
|
```
|
|
138
143
|
|
|
139
|
-
|
|
144
|
+
</details>
|
|
145
|
+
|
|
146
|
+
<details>
|
|
147
|
+
<summary>macOS</summary>
|
|
140
148
|
|
|
141
149
|
Install `yutu` using [Homebrew🍺](https://brew.sh/)(recommended), or run the shell script.
|
|
142
150
|
|
|
@@ -147,13 +155,19 @@ Install `yutu` using [Homebrew🍺](https://brew.sh/)(recommended), or run the s
|
|
|
147
155
|
❯ curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash
|
|
148
156
|
```
|
|
149
157
|
|
|
150
|
-
|
|
158
|
+
</details>
|
|
159
|
+
|
|
160
|
+
<details>
|
|
161
|
+
<summary>Windows</summary>
|
|
151
162
|
|
|
152
163
|
```shell
|
|
153
164
|
❯ winget install yutu
|
|
154
165
|
```
|
|
155
166
|
|
|
156
|
-
|
|
167
|
+
</details>
|
|
168
|
+
|
|
169
|
+
<details>
|
|
170
|
+
<summary>Verifying Installation</summary>
|
|
157
171
|
|
|
158
172
|
Verify the integrity and provenance of `yutu` using its associated cryptographically signed attestations.
|
|
159
173
|
|
|
@@ -168,6 +182,8 @@ Verify the integrity and provenance of `yutu` using its associated cryptographic
|
|
|
168
182
|
❯ gh attestation verify $(where.exe yutu.exe) --repo eat-pray-ai/yutu
|
|
169
183
|
```
|
|
170
184
|
|
|
185
|
+
</details>
|
|
186
|
+
|
|
171
187
|
## Agent
|
|
172
188
|
|
|
173
189
|
`yutu` provides an agent mode to automate YouTube workflows. The system uses a multi-agent architecture where a central orchestrator delegates tasks to specialized agents:
|
|
@@ -219,14 +235,52 @@ Then run the following command for detail usage:
|
|
|
219
235
|
|
|
220
236
|
## MCP Server
|
|
221
237
|
|
|
222
|
-
|
|
238
|
+
Before using `yutu` as an MCP server, make sure `yutu` is installed(see [Installation](#installation) section), and you have a valid `client_secret.json` and `youtube.token.json` files(refer to [Prerequisites](#prerequisites) section).
|
|
239
|
+
|
|
240
|
+
You can add `yutu` as an MCP server in VS Code or Cursor by clicking corresponding badge, or use the CLI commands below for your preferred tool.
|
|
241
|
+
|
|
242
|
+
[](https://insiders.vscode.dev/redirect/mcp/install?name=yutu&config=%7B%22type%22%3A%20%22stdio%22%2C%22command%22%3A%20%22yutu%22%2C%22args%22%3A%20%5B%22mcp%22%5D%2C%22env%22%3A%20%7B%22YUTU_CREDENTIAL%22%3A%20%22%2Fabsolute%2Fpath%2Fto%2Fclient_secret.json%22%2C%22YUTU_CACHE_TOKEN%22%3A%20%22%2Fabsolute%2Fpath%2Fto%2Fyoutube.token.json%22%7D%7D)
|
|
223
243
|
[](https://cursor.com/install-mcp?name=yutu&config=JTdCJTIyY29tbWFuZCUyMiUzQSUyMnl1dHUlMjBtY3AlMjIlMkMlMjJlbnYlMjIlM0ElN0IlMjJZVVRVX0NSRURFTlRJQUwlMjIlM0ElMjIlMkZhYnNvbHV0ZSUyRnBhdGglMkZ0byUyRmNsaWVudF9zZWNyZXQuanNvbiUyMiUyQyUyMllVVFVfQ0FDSEVfVE9LRU4lMjIlM0ElMjIlMkZhYnNvbHV0ZSUyRnBhdGglMkZ0byUyRnlvdXR1YmUudG9rZW4uanNvbiUyMiU3RCU3RA%3D%3D)
|
|
224
244
|
|
|
225
|
-
|
|
245
|
+
<details>
|
|
246
|
+
<summary>Claude Code</summary>
|
|
226
247
|
|
|
227
|
-
|
|
248
|
+
```shell
|
|
249
|
+
# Stdio mode
|
|
250
|
+
❯ claude mcp add -e YUTU_CREDENTIAL=/absolute/path/to/client_secret.json \
|
|
251
|
+
-e YUTU_CACHE_TOKEN=/absolute/path/to/youtube.token.json \
|
|
252
|
+
yutu -- yutu mcp
|
|
253
|
+
|
|
254
|
+
# HTTP mode (start the server first: yutu mcp --mode http --auth)
|
|
255
|
+
❯ claude mcp add --transport http \
|
|
256
|
+
--client-id YOUR_CLIENT_ID.apps.googleusercontent.com \
|
|
257
|
+
--client-secret \
|
|
258
|
+
yutu http://localhost:8216/mcp
|
|
259
|
+
```
|
|
228
260
|
|
|
229
|
-
|
|
261
|
+
</details>
|
|
262
|
+
|
|
263
|
+
<details>
|
|
264
|
+
<summary>Codex</summary>
|
|
265
|
+
|
|
266
|
+
```shell
|
|
267
|
+
# Stdio mode
|
|
268
|
+
❯ codex mcp add --env YUTU_CREDENTIAL=/absolute/path/to/client_secret.json \
|
|
269
|
+
--env YUTU_CACHE_TOKEN=/absolute/path/to/youtube.token.json \
|
|
270
|
+
yutu -- yutu mcp
|
|
271
|
+
|
|
272
|
+
# HTTP mode (start the server first: yutu mcp --mode http --auth)
|
|
273
|
+
❯ codex mcp add --url http://localhost:8216/mcp \
|
|
274
|
+
--oauth-client-id YOUR_CLIENT_ID.apps.googleusercontent.com \
|
|
275
|
+
yutu
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
</details>
|
|
279
|
+
|
|
280
|
+
<details>
|
|
281
|
+
<summary>Manual Configuration (VS Code, Cursor, OpenCode, etc.)</summary>
|
|
282
|
+
|
|
283
|
+
Add the following to your MCP settings. Remember to replace the values of `YUTU_CREDENTIAL` and `YUTU_CACHE_TOKEN` with correct paths on your local machine.
|
|
230
284
|
|
|
231
285
|
```json
|
|
232
286
|
{
|
|
@@ -244,6 +298,8 @@ You can add `yutu` as a MCP server in VS Code or Cursor by clicking correspondin
|
|
|
244
298
|
}
|
|
245
299
|
```
|
|
246
300
|
|
|
301
|
+
</details>
|
|
302
|
+
|
|
247
303
|
## Skills
|
|
248
304
|
|
|
249
305
|
`yutu` provides a unified [skill](https://opencode.ai/docs/skills) that extends AI agents with YouTube domain knowledge, common workflows, and SEO best practices — covering videos, playlists, comments, channels, captions, subscriptions, and more.
|
|
@@ -258,11 +314,11 @@ See [skills/youtube/SKILL.md](skills/youtube/SKILL.md) for the full list of supp
|
|
|
258
314
|
|
|
259
315
|
```shell
|
|
260
316
|
❯ yutu
|
|
261
|
-
yutu is a
|
|
317
|
+
yutu is a CLI, MCP server, and AI agent for YouTube that can automate almost all YouTube workflows.
|
|
262
318
|
|
|
263
319
|
Environment variables:
|
|
264
|
-
YUTU_CREDENTIAL Path/
|
|
265
|
-
YUTU_CACHE_TOKEN Path/
|
|
320
|
+
YUTU_CREDENTIAL Path/Base64/JSON of OAuth client secret (default: client_secret.json)
|
|
321
|
+
YUTU_CACHE_TOKEN Path/Base64/JSON of cached OAuth token (default: youtube.token.json)
|
|
266
322
|
YUTU_ROOT Root directory for file resolution (default: current working directory)
|
|
267
323
|
YUTU_LOG_LEVEL Log level: DEBUG, INFO, WARN, ERROR (default: INFO)
|
|
268
324
|
|
|
@@ -293,6 +349,7 @@ Available Commands:
|
|
|
293
349
|
search Manage YouTube search
|
|
294
350
|
subscription Manage YouTube subscriptions
|
|
295
351
|
superChatEvent Manage YouTube Super Chat events
|
|
352
|
+
thirdPartyLink Manage YouTube third-party links
|
|
296
353
|
thumbnail Manage YouTube video thumbnails
|
|
297
354
|
version Show the version of yutu
|
|
298
355
|
video Manage YouTube videos
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eat-pray-ai/yutu",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.9",
|
|
4
4
|
"mcpName": "io.github.eat-pray-ai/yutu",
|
|
5
5
|
"description": "The AI-powered toolkit that grows your YouTube channel on autopilot",
|
|
6
6
|
"repository": {
|
|
@@ -32,11 +32,11 @@
|
|
|
32
32
|
"node": ">=18"
|
|
33
33
|
},
|
|
34
34
|
"optionalDependencies": {
|
|
35
|
-
"@eat-pray-ai/yutu-darwin-arm64": "0.10.
|
|
36
|
-
"@eat-pray-ai/yutu-darwin-x64": "0.10.
|
|
37
|
-
"@eat-pray-ai/yutu-linux-arm64": "0.10.
|
|
38
|
-
"@eat-pray-ai/yutu-linux-x64": "0.10.
|
|
39
|
-
"@eat-pray-ai/yutu-win32-arm64": "0.10.
|
|
40
|
-
"@eat-pray-ai/yutu-win32-x64": "0.10.
|
|
35
|
+
"@eat-pray-ai/yutu-darwin-arm64": "0.10.9",
|
|
36
|
+
"@eat-pray-ai/yutu-darwin-x64": "0.10.9",
|
|
37
|
+
"@eat-pray-ai/yutu-linux-arm64": "0.10.9",
|
|
38
|
+
"@eat-pray-ai/yutu-linux-x64": "0.10.9",
|
|
39
|
+
"@eat-pray-ai/yutu-win32-arm64": "0.10.9",
|
|
40
|
+
"@eat-pray-ai/yutu-win32-x64": "0.10.9"
|
|
41
41
|
}
|
|
42
42
|
}
|