@eat-pray-ai/yutu 0.10.9-dev1 → 0.10.10-dev1

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.
Files changed (2) hide show
  1. package/README.md +82 -26
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -88,8 +88,8 @@ By default, `yutu` will read `client_secret.json` and `youtube.token.json` from
88
88
 
89
89
  | Variable | Description | Default |
90
90
  |--------------------|----------------------------------------------|---------------------------|
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` |
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` |
93
93
  | `YUTU_ROOT` | Root directory for file resolution | Current working directory |
94
94
  | `YUTU_LOG_LEVEL` | Log level: `DEBUG`, `INFO`, `WARN`, `ERROR` | `INFO` |
95
95
 
@@ -97,26 +97,24 @@ By default, `yutu` will read `client_secret.json` and `youtube.token.json` from
97
97
 
98
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.
99
99
 
100
- - [GitHub Actions](#github-actions)
101
- - [Node.js](#nodejs)
102
- - [Docker](#docker)
103
- - [Gopher](#gopher)
104
- - [Linux](#linux)
105
- - [macOS](#macos)
106
- - [Windows](#windows)
107
- - [Verifying Installation](#verifying-installation)
108
-
109
- ### GitHub Actions
100
+ <details>
101
+ <summary>GitHub Actions</summary>
110
102
 
111
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.
112
104
 
113
- ### Node.js
105
+ </details>
106
+
107
+ <details>
108
+ <summary>Node.js</summary>
114
109
 
115
110
  ```shell
116
111
  ❯ npm i -g @eat-pray-ai/yutu
117
112
  ```
118
113
 
119
- ### Docker
114
+ </details>
115
+
116
+ <details>
117
+ <summary>Docker</summary>
120
118
 
121
119
  ```shell
122
120
  ❯ docker pull ghcr.io/eat-pray-ai/yutu:latest
@@ -125,19 +123,28 @@ There are two actions available for yutu, one is for general purpose and the oth
125
123
  ❯ docker run --rm -it -u $(id -u):$(id -g) -v $(pwd):/app -p 8216:8216 ghcr.io/eat-pray-ai/yutu:latest
126
124
  ```
127
125
 
128
- ### Gopher
126
+ </details>
127
+
128
+ <details>
129
+ <summary>Gopher</summary>
129
130
 
130
131
  ```shell
131
132
  ❯ go install github.com/eat-pray-ai/yutu@latest
132
133
  ```
133
134
 
134
- ### Linux
135
+ </details>
136
+
137
+ <details>
138
+ <summary>Linux</summary>
135
139
 
136
140
  ```shell
137
141
  ❯ curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash
138
142
  ```
139
143
 
140
- ### macOS
144
+ </details>
145
+
146
+ <details>
147
+ <summary>macOS</summary>
141
148
 
142
149
  Install `yutu` using [Homebrew🍺](https://brew.sh/)(recommended), or run the shell script.
143
150
 
@@ -148,13 +155,19 @@ Install `yutu` using [Homebrew🍺](https://brew.sh/)(recommended), or run the s
148
155
  ❯ curl -sSfL https://raw.githubusercontent.com/eat-pray-ai/yutu/main/scripts/install.sh | bash
149
156
  ```
150
157
 
151
- ### Windows
158
+ </details>
159
+
160
+ <details>
161
+ <summary>Windows</summary>
152
162
 
153
163
  ```shell
154
164
  ❯ winget install yutu
155
165
  ```
156
166
 
157
- ### Verifying Installation
167
+ </details>
168
+
169
+ <details>
170
+ <summary>Verifying Installation</summary>
158
171
 
159
172
  Verify the integrity and provenance of `yutu` using its associated cryptographically signed attestations.
160
173
 
@@ -169,6 +182,8 @@ Verify the integrity and provenance of `yutu` using its associated cryptographic
169
182
  ❯ gh attestation verify $(where.exe yutu.exe) --repo eat-pray-ai/yutu
170
183
  ```
171
184
 
185
+ </details>
186
+
172
187
  ## Agent
173
188
 
174
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:
@@ -220,14 +235,52 @@ Then run the following command for detail usage:
220
235
 
221
236
  ## MCP Server
222
237
 
223
- [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_Server-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](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)
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
+ [![Install in VS Code](https://img.shields.io/badge/VS_Code-Install_YUTU-0098FF?style=for-the-badge&logo=visualstudiocode&logoColor=white)](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)
224
243
  [![Install in Cursor](https://cursor.com/deeplink/mcp-install-light.svg)](https://cursor.com/install-mcp?name=yutu&config=JTdCJTIyY29tbWFuZCUyMiUzQSUyMnl1dHUlMjBtY3AlMjIlMkMlMjJlbnYlMjIlM0ElN0IlMjJZVVRVX0NSRURFTlRJQUwlMjIlM0ElMjIlMkZhYnNvbHV0ZSUyRnBhdGglMkZ0byUyRmNsaWVudF9zZWNyZXQuanNvbiUyMiUyQyUyMllVVFVfQ0FDSEVfVE9LRU4lMjIlM0ElMjIlMkZhYnNvbHV0ZSUyRnBhdGglMkZ0byUyRnlvdXR1YmUudG9rZW4uanNvbiUyMiU3RCU3RA%3D%3D)
225
244
 
226
- As a [MCP server](https://modelcontextprotocol.io/introduction), `yutu` can be used in MCP clients like [Claude Desktop](https://modelcontextprotocol.io/quickstart/user), [VS Code](https://code.visualstudio.com/) or [Cursor](https://docs.cursor.com/), which allows you to interact with YouTube resources in a chat-like interface.
245
+ <details>
246
+ <summary>Claude Code</summary>
227
247
 
228
- 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).
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
+ ```
229
260
 
230
- You can add `yutu` as a MCP server in VS Code or Cursor by clicking corresponding badge above, or add the following configuration manually to your MCP client. Remember to replace the values of `YUTU_CREDENTIAL` and `YUTU_CACHE_TOKEN` with correct paths on your local machine.
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.
231
284
 
232
285
  ```json
233
286
  {
@@ -245,6 +298,8 @@ You can add `yutu` as a MCP server in VS Code or Cursor by clicking correspondin
245
298
  }
246
299
  ```
247
300
 
301
+ </details>
302
+
248
303
  ## Skills
249
304
 
250
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.
@@ -259,11 +314,11 @@ See [skills/youtube/SKILL.md](skills/youtube/SKILL.md) for the full list of supp
259
314
 
260
315
  ```shell
261
316
  ❯ yutu
262
- yutu is a fully functional MCP server and CLI for YouTube, which can manipulate almost all YouTube resources.
317
+ yutu is a CLI, MCP server, and AI agent for YouTube that can automate almost all YouTube workflows.
263
318
 
264
319
  Environment variables:
265
- YUTU_CREDENTIAL Path/base64/JSON of OAuth client secret (default: client_secret.json)
266
- YUTU_CACHE_TOKEN Path/base64/JSON of cached OAuth token (default: youtube.token.json)
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)
267
322
  YUTU_ROOT Root directory for file resolution (default: current working directory)
268
323
  YUTU_LOG_LEVEL Log level: DEBUG, INFO, WARN, ERROR (default: INFO)
269
324
 
@@ -294,6 +349,7 @@ Available Commands:
294
349
  search Manage YouTube search
295
350
  subscription Manage YouTube subscriptions
296
351
  superChatEvent Manage YouTube Super Chat events
352
+ thirdPartyLink Manage YouTube third-party links
297
353
  thumbnail Manage YouTube video thumbnails
298
354
  version Show the version of yutu
299
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.9-dev1",
3
+ "version": "0.10.10-dev1",
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.9-dev1",
36
- "@eat-pray-ai/yutu-darwin-x64": "0.10.9-dev1",
37
- "@eat-pray-ai/yutu-linux-arm64": "0.10.9-dev1",
38
- "@eat-pray-ai/yutu-linux-x64": "0.10.9-dev1",
39
- "@eat-pray-ai/yutu-win32-arm64": "0.10.9-dev1",
40
- "@eat-pray-ai/yutu-win32-x64": "0.10.9-dev1"
35
+ "@eat-pray-ai/yutu-darwin-arm64": "0.10.10-dev1",
36
+ "@eat-pray-ai/yutu-darwin-x64": "0.10.10-dev1",
37
+ "@eat-pray-ai/yutu-linux-arm64": "0.10.10-dev1",
38
+ "@eat-pray-ai/yutu-linux-x64": "0.10.10-dev1",
39
+ "@eat-pray-ai/yutu-win32-arm64": "0.10.10-dev1",
40
+ "@eat-pray-ai/yutu-win32-x64": "0.10.10-dev1"
41
41
  }
42
42
  }