Model or dataset
P1kaj1uu/ChattyPlay-Agent avatar
P1kaj1uu/ChattyPlay-Agent

ChattyPlay-Agent: An All-in-One Web Toolkit With a Copyright Problem

🚀 告别多个App!本项目主要基于Python+React+TypeScript+Hono+SQLite3+Redis,打造“All in One”智能工具集。免会员破解爱奇艺、腾讯视频、优酷、抖音、B站、小红书等20+平台视频,支持4K在线解析与无水印高速下载。集成Cloudflare Turnstile防机器人和爬虫、Google、GitHub授权登录及OpenAI SDK、埋点SDK、MCP服务和Agent等,支持ChatGPT对话、AI绘画、论文降重、Hugging Face论文爬取、在线Latex编写;更有实时黄金K线、AI思维导图、闲鱼助手等效率黑科技。内置海量动漫漫画资源,畅享阅读!轻量高效,配置即用,完美适配PC与移动端,快来ChattyPlay开启奇妙之旅吧~

943 stars185 forksTypeScriptApache-2.0

At a glance

What is it?
ChattyPlay-Agent bundles video parsing, ChatGPT, a LaTeX editor, comic reading and a gold-price chart into one React and Hono application. The engineering is real; the video parsing feature is the part that needs a hard look before you deploy it.
Who is it for?
Adopt ChattyPlay-Agent if you want a self-hosted playground for the AI and document features (ChatGPT chat, LaTeX editing, mind maps, PDF question answering) and you are prepared to read the source, because the README documents no install steps for those. Do not adopt it as a video downloader: the project's own disclaimer restricts it to learning use, and the parsing interfaces are third-party endpoints the maintainer does not control.
Can I use it commercially?
Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 7 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What ChattyPlay-Agent Actually Bundles

The README describes the project as an "All in One" tool set and lists its features in a long checklist: music playback, video parsing and download, real-time gold prices with K-line charts, Hugging Face paper browsing with PDF question answering, LaTeX editing, mind mapping, ChatGPT conversation, text-to-image, and a comics reader. The stated stack is React, TypeScript, Vite, Tailwind CSS, i18n, live2d, Three.js, Antd, Hono, SQLite3 and Redis, with Docker and nginx for deployment.

The audience implied by that list is broad, and that is the first thing to understand about this repository. It is not a library you import. It is a complete application with a front end, a Node server, a Python backend directory, and a separate goofish_backend directory, plus an office_pixel directory at the top level. The README's version log runs from v1.0 in January 2023 to v5.0, which the README marks as the recommended version. The v4.0 entry says the project was refactored from Vue 2 to React, TypeScript, Hono, Vite, Tailwind CSS, i18n, live2d, nginx and Docker.

One point deserves stating plainly. The repository description leads with bypassing membership on iQiyi, Tencent Video, Youku, Douyin, Bilibili and Xiaohongshu, and the README's own disclaimer says the project is "for learning use only" and asks users not to use it commercially. Those two statements sit in tension. The engineering is legitimate; the video parsing feature is the part to evaluate separately from the rest.

The Architecture: One Repo, Several Runtimes

The repository layout tells you more than the README does. At the top level there is api/, src/, python_backend/, goofish_backend/, office_pixel/, public/, plus Dockerfile, docker-compose.yml, vercel.json, deploy.sh, .env.development and .env.production. The package.json name is chattyplay-agent and the version is 5.0.0.

The scripts in package.json reveal the intended shape. "dev" runs vite for the front end, "dev:server" runs tsx watch src/services/server.ts, and "start" runs tsx src/services/server.ts in production. There are also worker scripts using wrangler: worker:dev, worker:deploy and worker:tail, which point at src/services/worker.ts. So the same repository contains a Vite single-page app, a Hono server (the dependencies include hono, @hono/node-server and @hono/node-ws), and a Cloudflare Worker path.

Data storage is split between better-sqlite3 and @upstash/redis. The v4.5 entry says JWT tokens refresh silently and Redis stores user information; the README also mentions Cloudflare hosting Vercel. Authentication appears in three forms: @react-oauth/google for Google sign-in, GitHub authorization (mentioned in the README but no matching package is visible in the truncated dependency list), and email via @emailjs/browser. Bot protection is doubled up: @hcaptcha/react-hcaptcha is a dependency, and the README's version log adds hcaptcha in v4.6 and Cloudflare Turnstile in v4.7.

The docker-compose.yml is much smaller than the feature list would suggest. It defines exactly one service, web, built from the Dockerfile, publishing port 80, with a wget healthcheck against http://localhost/ every 30 seconds. There is no Redis service, no SQLite volume, and no Python service in that compose file. If you bring this up with docker compose up, you get the nginx-served front end. You do not get the backend the features depend on.

Building and Running the Container

The Dockerfile is a two-stage build. The builder stage uses node:20-alpine, enables corepack, activates yarn, copies package.json and yarn.lock, runs yarn install --frozen-lockfile, copies the source, and runs yarn build. The production stage uses nginx:alpine, copies nginx.conf into /etc/nginx/conf.d/default.conf, copies /app/dist into /usr/share/nginx/html, exposes port 80, and starts nginx in the foreground.

The compose file wraps that single image. The README states that for local debugging you may comment out the code restricting console calls, and that you should modify package.json, email.config.js, index.html, .env.development, .env.production and docker-compose.yml according to the instructions. It does not say what values those files need.

bash
git clone https://github.com/P1kaj1uu/ChattyPlay-Agent.git
cd ChattyPlay-Agent
docker compose up -d

After that, the web service should answer on port 80, and the healthcheck defined in docker-compose.yml should report the container healthy. What you will see is the static front end. Anything that needs the Hono server, Redis or SQLite is not part of this compose file, so the README's instruction to edit the environment files is the real setup step, and the README does not document their contents.

For development against the source instead of the image, package.json gives two commands. The front end runs under Vite and the server runs under tsx.

bash
yarn install
yarn dev
yarn dev:server

The README points to a wiki for usage documentation, at the URL github.com/P1kaj1uu/ChattyPlay-Agent/wiki, and lists a hosted instance at chatty-play-agent.vercel.app which the README notes requires a tool to access from outside China. That hosted instance is the fastest way to judge the interface before you invest in configuration.

The Video Parsing Feature Is the Weak Point

Most of this project's features are self-contained: a LaTeX editor, a mind map generator, a paper browser, a chat interface. Video parsing is different, because the README describes it as relying on "multiple usable parsing interfaces" rather than a mechanism the project controls. The v1.2 and v1.5 and v1.7 version entries are all about adding or optimizing parsing interfaces. That pattern is the tell: when an interface stops working, the fix is to find another one.

That is a real failure mode, not a hypothetical. A third-party parsing endpoint can change, rate-limit, or disappear, and your installation breaks through no fault of your own. The README offers no fallback behavior, no self-hosted extraction path, and no statement about how the interfaces are selected or rotated.

The legal side is worse. The repository description advertises bypassing membership on named platforms, and the README's disclaimer simultaneously says the project is for learning use and not for commercial use. Those are not reconcilable, and the disclaimer does not resolve the underlying question of whether parsing a paid platform's video is permitted where you live. The Apache-2.0 licence covers the code the author wrote; it says nothing about the content the parsing interfaces retrieve.

There is also a maintenance asymmetry. The last push to the repository was on 2026-09-10, so the project is not archived and has seen recent activity. But recent commits to the AI and document features do not mean the parsing interfaces are healthy today. Treat the video feature as the least dependable and most legally exposed part of the bundle, and evaluate the rest on its own merits.

When a Smaller Tool Fits Better

If what you actually want is ChatGPT in a browser with markdown rendering and streaming, a single-purpose client is the better choice. The difference is scope: ChattyPlay-Agent ships a chat UI as one panel inside an application that also carries a comics reader, a gold-price chart, a payment integration and an ad service for overseas users. A dedicated chat client has one dependency graph and one configuration surface. ChattyPlay-Agent's chat feature depends on the same server, the same Redis instance and the same environment files as everything else, so a problem in any of them can take the chat down with it.

The same argument applies to the LaTeX editor. The README claims support for "90% of overleaf's functions" with local saving and PDF export. If LaTeX is your actual job, a purpose-built editor gives you a compile pipeline you can reason about. Here, compilation sits behind the project's own server and its configuration, and the README does not document how compilation is performed.

Where the all-in-one approach genuinely pays off is the opposite case: you want one deployment that gives you several small utilities at once, you are comfortable reading TypeScript to work out the configuration, and none of the features are load-bearing for your work. The repository's breadth is the product. If you need any single feature to be dependable, the breadth becomes the liability.

Licence, Upgrade Cost and What the README Leaves Out

The project is licensed under Apache-2.0, per the README and the LICENSE file. That permits commercial use of the code and requires attribution and notice retention, but it does not license any third-party content the application retrieves, and it does not cover the parsing interfaces. The README's own disclaimer asks users not to use the project commercially, which is a request in the documentation rather than a term in the licence. If you plan to run this for a business, that discrepancy is the thing to resolve with someone qualified to advise you, not something to assume away.

Upgrade cost is dominated by configuration drift. The README names six files you are expected to edit: package.json, email.config.js, index.html, .env.development, .env.production and docker-compose.yml. None of their required keys are documented in the README. The version log shows continuous feature addition across roughly forty releases, including a payment integration, an ad service, and a captcha provider swapped in after another was already in place. Each of those touches the environment files. Pulling upstream changes means re-merging your edits into files whose schema is not published.

The README is also silent on several things you would want before committing. There is no documented rollback procedure, no migration path for the SQLite schema, no description of what the python_backend, goofish_backend and office_pixel directories do, and no statement of which features require the Python service versus the Node server. The repository is not archived and the last push was on 2026-09-10, so upstream activity is plausible, but activity is not the same as a documented upgrade path.

Editorial conclusion

Adopt ChattyPlay-Agent if you want a self-hosted playground for the AI and document features (ChatGPT chat, LaTeX editing, mind maps, PDF question answering) and you are prepared to read the source, because the README documents no install steps for those. Do not adopt it as a video downloader: the project's own disclaimer restricts it to learning use, and the parsing interfaces are third-party endpoints the maintainer does not control. Verify first what the README is silent on: which environment variables .env.development and .env.production require, whether the python_backend and goofish_backend directories are needed for the features you want, and whether your Redis and SQLite setup matches what src/services/server.ts expects.

Frequently asked questions

How do I install and run ChattyPlay-Agent with Docker?

The repository includes a Dockerfile and a docker-compose.yml. The compose file defines a single web service built from the Dockerfile that publishes port 80 and runs nginx serving the built front end.

Which environment files does ChattyPlay-Agent require me to configure?

The README states that for local debugging you should modify package.json, email.config.js, index.html, .env.development, .env.production and docker-compose.yml. It does not document the keys or values those files need.

Is ChattyPlay-Agent free to use commercially under its licence?

The code is licensed under Apache-2.0, but the README's disclaimer says the project is for learning use only and asks users not to use it commercially. The disclaimer also states that any infringement should be reported to the author.

Does ChattyPlay-Agent need Redis and SQLite to run?

The dependencies include better-sqlite3 and @upstash/redis, and the README's version log says Redis stores user information from v4.5 onward. The docker-compose.yml does not define a Redis service, so that part is not covered by the provided compose file.

Is ChattyPlay-Agent still maintained?

The repository is not archived and the last push was on 2026-09-10. The README's version log ends at v5.0, which it marks as the recommended version.

Official sources

  1. Issues
  2. License: Apache-2.0
  3. P1kaj1uu/ChattyPlay-Agent on GitHub
  4. Project website
  5. README
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/p1kaj1uu-chattyplay-agent.svg)](https://hysenlabs.com/projects/p1kaj1uu-chattyplay-agent)