sinmb79/Short-Trend-Rader

Short-Trend-Rader-트렌드한 숏츠 및 다양한 영상에서 자막을 추출하여 트렌드한 시나리오를 작성하는 프로그램

7
GitHub 스타
0
포크
Python
언어
MIT
라이선스
2026.04.02
최근 푸시
2026.04.03
별표한 날

AI 분석

설치 난이도: 보통
큐레이터 노트
트렌드 데이터 수집 자동화가 필요하고, n8n과의 연동을 고려 중이라면 도입을 검토할 만합니다. 특히 한국어 사용자에게 친화적인 문서와 설정이 장점입니다.

강점

  • 트렌드 데이터 수집을 표준화하여 재사용성을 높인 점이 돋보입니다.
  • CLI와 n8n 워크플로우를 함께 제공하여 자동화와 수동 사용을 모두 지원합니다.
  • 한국어와 영어를 병기한 문서로 한국 사용자에게 친화적입니다.

약점

  • README가 중간에 잘려 있어 전체 내용을 확인할 수 없습니다.
  • 아직 TikTok, Instagram 등 주요 플랫폼을 지원하지 않습니다.
  • 분석 기능보다는 수집과 전달에 초점이 맞춰져 있어 고급 분석이 필요할 수 있습니다.

주의사항

  • Naver DataLab 사용을 위해서는 별도의 API 키 환경변수 설정이 필요합니다.
  • n8n 연동 시 보안 주의사항을 반드시 확인해야 합니다.
  • 저장소 이름(Short-Trend-Rader)과 CLI 이름(trend-radar)이 다르므로 혼동하지 않도록 주의하세요.

시작 가이드

  • README 전체를 다시 확인하여 누락된 부분을 보완합니다.
  • 실제로 설치하고 기본 명령어를 테스트해 봅니다.
  • n8n 워크플로우를 임포트하여 자동화 흐름을 검토합니다.

README 한국어 번역

이 번역은 AI가 원문 README를 옮긴 것입니다. 원문이 항상 우선합니다.

Short-Trend-Rader

왜 이 저장소가 존재하나. 대부분의 트렌드 작업은 데이터를 못 모아서 실패하지 않습니다. 모은 뒤에 정리되지 않아서 실패합니다. 누군가는 링크를 모으고, 누군가는 따로 메모를 쓰고, 누군가는 나중에 다시 검색합니다. 그 사이에 타이밍이 사라집니다. trend-radar는 그 틈을 줄이기 위해 만들어졌습니다. 공개된 트렌드 신호를 한 번 모아서, 사람이 읽을 수 있는 Markdown과 다른 도구가 읽을 수 있는 JSON으로 같은 자리에 남깁니다.

Why this repository exists. Most trend workflows do not fail because people cannot find data. They fail because the handoff is messy. One person collects links, another writes notes somewhere else, and a third person has to search the web again later. By then, the timing is gone. trend-radar exists to reduce that gap. It collects public trend signals once, then leaves them behind as Markdown for humans and JSON for tools.

Meta description: Public trend intelligence CLI for collecting YouTube, Reddit, Google Trends, and RSS signals into reusable Markdown and JSON feeds.

Labels: python, trend-intelligence, cli, youtube, reddit, google-trends, rss, 22b-labs

Author: 22B Labs · The 4th Path | GitHub: sinmb79

중요한 이름 설명부터 먼저 드리겠습니다. GitHub 저장소 이름은 Short-Trend-Rader지만, 실제 Python 패키지와 CLI 이름은 trend-radar입니다. 저장소 이름은 공개 배포 주소이고, 실행 이름은 사용자가 터미널에서 쓰는 이름이라고 이해하시면 됩니다.

One naming note up front. The GitHub repository is named Short-Trend-Rader, but the Python package and CLI are named trend-radar. Think of the repository name as the public address, and the CLI name as the tool name people type in the terminal.

30초 이해 / Understand It In 30 Seconds

한 줄로 말하면, 이 시스템은 “트렌드 수집을 표준화해서 다른 작업들이 재사용할 수 있게 만드는 로컬 정보 레이어”입니다.

In one line, this system is a local intelligence layer that standardizes trend collection so other work can reuse it.

아주 쉽게 풀면 아래와 같습니다.

Here is the plain-language version.

  • YouTube, Reddit, Google Trends, RSS 같은 공개 소스에서 데이터를 모읍니다.
  • 결과를 ~/.22b/trends 아래에 날짜별 파일로 저장합니다.
  • 사용자는 Markdown으로 읽고, 다른 도구는 JSON으로 읽습니다.
  • 같은 데이터를 다시 긁지 않아도 되기 때문에 후속 자동화가 쉬워집니다.
  • It collects from public sources such as YouTube, Reddit, Google Trends, and RSS.
  • It saves the result as dated files under ~/.22b/trends.
  • Humans read the Markdown files, and tools read the JSON files.
  • Because the data is collected once and reused many times, follow-up automation becomes simpler.

시스템 구조 / System Structure

신입 분에게 설명하듯이 아주 단순하게 구조를 나누면, 이 프로젝트는 네 층으로 이해하시면 됩니다.

If I were explaining this to a new teammate, I would divide the system into four layers.

  1. collectors
  1. runner
  1. outputs
  1. cli

한국어: 각 플랫폼에서 데이터를 가져오는 모듈입니다. YouTube, Reddit, Google Trends, RSS, Naver DataLab이 여기에 들어갑니다. English: These modules fetch data from each source. YouTube, Reddit, Google Trends, RSS, and Naver DataLab live here. 한국어: 어떤 수집기를 실행할지 결정하고, 동시에 돌리고, 실패를 모아서 정리하는 오케스트레이터입니다. English: This is the orchestrator. It decides which collectors to run, executes them together, and gathers warnings or failures. 한국어: 수집된 결과를 Markdown, JSON, digest 파일로 쓰는 계층입니다. English: This layer writes the collected results into Markdown files, JSON files, and digest files. 한국어: 사용자가 실제로 만나는 입구입니다. init, run --once, status, digest today, doctor 같은 명령이 여기서 시작됩니다. English: This is the entry point users interact with. Commands like init, run --once, status, digest today, and doctor begin here.

이 구조가 중요한 이유는, 나중에 TikTok을 붙이더라도 CLI를 갈아엎지 않아도 되고, digest를 바꾸더라도 수집기를 다시 쓰지 않아도 되기 때문입니다. 바꿀 수 있는 부분과 고정해야 하는 부분을 분리해 두는 것이 장기적으로 훨씬 싸게 먹힙니다.

This structure matters because it keeps change localized. If we add TikTok later, we should not need to rewrite the CLI. If we change the digest logic later, we should not need to rewrite the collectors. Separating changeable parts from stable contracts is cheaper in the long run.

데이터 흐름 / Data Flow

실행 흐름은 아래 순서로 이해하시면 됩니다.

Here is the runtime flow in the order it actually happens.

  1. 사용자가 trend-radar run --once를 실행합니다.
  1. 시스템이 기본 설정과 config.yaml을 합쳐 최종 설정을 만듭니다.
  1. 활성화된 수집기만 골라 병렬로 실행합니다.
  1. 각 수집기는 플랫폼별 응답을 TrendItem이라는 공용 데이터 형태로 바꿉니다.
  1. 러너가 중복을 제거하고, 키워드와 카테고리 같은 공통 필드를 보정합니다.
  1. 결과를 플랫폼별 Markdown과 JSON으로 저장합니다.
  1. 전체 요약용 index.json과 읽기 쉬운 daily digest를 생성합니다.
  1. 마지막 실행 상태를 run-state.json에 남겨서 statusdoctor가 참고할 수 있게 합니다.

The user runs trend-radar run --once. The system merges built-in defaults with config.yaml to build the final config. It selects only enabled collectors and runs them in parallel. Each collector converts source-specific responses into a shared TrendItem shape. The runner removes duplicates and normalizes shared fields such as keywords and categories. The system writes platform-specific Markdown and JSON files. It builds the shared index.json and a human-readable daily digest. It stores run metadata in run-state.json so status and doctor have something to inspect.

중요한 철학 하나를 여기서 기억하시면 좋습니다. 이 프로젝트는 아직 “완벽한 분석기”가 아니라 “믿을 수 있는 수집과 전달기”를 먼저 만드는 단계입니다. 분석보다 전달 계약을 먼저 고정하는 것이 더 맞는 순서입니다.

One important design philosophy belongs here. This project is still in the stage of becoming a reliable collector and distributor before it becomes a perfect analyzer. Locking the delivery contract first is a more correct order than chasing smarter analysis too early.

폴더 구조 / Directory Layout

현재 저장소는 아래처럼 이해하시면 됩니다.

Here is how to read the repository today.

Short-Trend-Rader/
  src/trend_radar/
    cli.py
    diagnostics.py
    runner.py
    scheduler.py
    models.py
    utils.py
    collectors/
    config/
    outputs/
  tests/
  docs/
  config.example.yaml
  pyproject.toml
  README.md
  • src/trend_radar/collectors
  • src/trend_radar/config
  • src/trend_radar/outputs
  • tests
  • docs

한국어: 소스별 수집 로직입니다. English: Source-specific collection logic. 한국어: 기본 설정, 스키마, 파일 로더입니다. English: Defaults, schema models, and config loading. 한국어: 결과 파일을 쓰는 계층입니다. English: File writers for outputs and digests. 한국어: 파서, CLI, 설정, 러너를 검증하는 테스트입니다. English: Tests for parsers, CLI behavior, config loading, and the runner. 한국어: 공개 저장소 독자를 위한 설명 문서입니다. English: Documentation for public readers of the repository.

지금 지원하는 데이터 소스 / Current Data Sources

현재 기본 동작으로 바로 쓸 수 있는 소스와, 추가 설정이 필요한 소스를 구분해서 보시면 이해가 쉽습니다.

It is easiest to understand the sources by splitting them into zero-config defaults and optional sources.

기본 소스입니다.

These are the default sources.

  • YouTube
  • Reddit
  • Google Trends
  • Generic RSS

한국어: 공개 페이지 기반으로 트렌딩과 Shorts 성격의 항목을 수집합니다. English: Collects trending and Shorts-like items from public YouTube pages. 한국어: 서브레딧의 공개 JSON 엔드포인트를 사용합니다. English: Uses public subreddit JSON endpoints. 한국어: RSS 기반으로 안정적으로 수집하고, 필요 시 pytrends를 보조로 사용할 수 있게 구성했습니다. English: Uses RSS as the stable path, with pytrends available as a fallback path. 한국어: 사용자가 원하는 피드를 직접 추가할 수 있습니다. English: Lets users add any RSS or Atom feeds they care about.

선택 소스입니다.

This is the optional source.

  • Naver DataLab

한국어: 지원은 하지만 NAVERCLIENTID, NAVERCLIENTSECRET 환경변수가 있어야 실제 실행됩니다. English: Supported, but it only runs when NAVERCLIENTID and NAVERCLIENTSECRET are present.

의도적으로 아직 넣지 않은 것들도 있습니다. TikTok, Instagram, X/Twitter, Whisper 기반 전사, 장기 daemon 운영은 후속 단계입니다. 하지 못해서 뺀 것이 아니라, 공개 배포 시점에서 기본 경로를 안정적으로 유지하기 위해 뒤로 미룬 것입니다.

Some things are intentionally not included yet. TikTok, Instagram, X/Twitter, Whisper transcription, and long-running daemon mode are later steps. They were not excluded because they are impossible. They were deferred to keep the public default path stable at release time.

설치 (3단계면 끝) / Install In 3 Steps

처음부터 길게 설명하지 않겠습니다. 이 저장소는 이제 setup.sh 또는 setup.bat 하나로 Python 패키지 설치, n8n 설치, n8n 실행, 워크플로우 임포트까지 한 번에 처리할 수 있습니다. English: I will not overcomplicate the first run. This repository now ships with setup.sh and setup.bat so one command can install the Python package, install n8n, start n8n, and import the bundled workflows.

사전 준비 / Prerequisites

  • Python 3.11+
  • Node.js 20+
  • npm
  • Linux 또는 macOS에서는 curl

English: Python 3.11 or newer English: Node.js 20 or newer English: npm English: curl on Linux or macOS

설치 + 실행 / Install + Run

git clone https://github.com/sinmb79/Short-Trend-Rader.git
cd Short-Trend-Rader

# Linux / macOS
chmod +x setup.sh./setup.sh

# Windows
setup.bat

브라우저에서 http://localhost:5678을 열면 끝입니다. English: When the script finishes, open http://localhost:5678.

목록에는 trend-radar Collection Orchestratortrend-radar Daily Digest 워크플로우가 바로 보입니다. English: You should immediately see the trend-radar Collection Orchestrator and trend-radar Daily Digest workflows in the list.

조금 더 수동으로 하고 싶다면, 그때부터 trend-radar doctor, trend-radar run --once, trend-radar digest today를 하나씩 익히면 됩니다. 자동화보다 먼저 성공 경로를 이해하는 편이 결국 더 빠릅니다. English: If you prefer a more manual path after that, start learning trend-radar doctor, trend-radar run --once, and trend-radar digest today one by one. Understanding the success path before the automation path is usually faster in the long run.

주요 명령 설명 / Command Guide

처음에는 아래 명령만 알아도 충분합니다.

At the beginning, these commands are enough.

  • trend-radar init
  • trend-radar run --once
  • trend-radar config show
  • trend-radar status
  • trend-radar digest today
  • trend-radar doctor

한국어: 대화형으로 config.yaml을 만듭니다. English: Creates config.yaml interactively. 한국어: 현재 설정으로 한 번 수집하고 결과 파일을 씁니다. English: Runs one collection pass and writes the output files. 한국어: 기본값과 사용자 설정이 합쳐진 최종 설정을 보여줍니다. English: Shows the merged effective configuration. 한국어: 최근 실행 시각, 활성 플랫폼, 수집 건수를 보여줍니다. English: Shows the last run time, active platforms, and item count. 한국어: 오늘 수집된 결과를 요약해서 읽기 쉬운 형태로 출력합니다. English: Prints a readable digest based on today’s collected data. 한국어: Python 버전, config 존재 여부, 출력 경로, 선택 소스 환경변수를 점검합니다. English: Checks Python version, config presence, output path, and optional source credentials.

n8n 연동 / n8n Integration

이 저장소는 CLI만 있는 프로젝트처럼 보이지만, 사실 그래서 더 n8n과 잘 맞습니다. English: This repository may look like a CLI-first project, and that is exactly why it fits n8n well.

핵심은 n8n이 코드를 대체하는 것이 아니라, 이미 잘 만든 CLI를 반복 가능하고 연결 가능한 워크플로우로 감싸는 데 있습니다. English: The point is not to replace code with n8n, but to wrap a solid CLI in repeatable, connectable workflows.

n8n/ 디렉터리에는 바로 import할 수 있는 워크플로우와 자세한 연동 문서가 들어 있습니다. English: The n8n/ directory now includes import-ready workflows and a detailed integration guide.

  • n8n/workflow.json
  • n8n/workflow-digest.json
  • n8n/README.md

한국어: 수동 실행, 웹훅 실행, 예약 실행을 한 워크플로우에 묶은 기본 수집 플로우입니다. English: The main collection workflow covering manual, webhook, and scheduled runs. 한국어: 일일 digest 생성에 집중한 보조 워크플로우입니다. English: A companion workflow focused on daily digest generation. 한국어: 설치, import, 입력값, 경로 수정, 보안 주의사항까지 신입 온보딩처럼 설명한 가이드입니다. English: A Korean-first bilingual guide that walks through setup, import, inputs, path edits, and security notes.

자동화 친화성을 위해 run, status, doctor, digest today, config show는 이제 --json 출력도 지원합니다. English: For automation, run, status, doctor, digest today, and config show now support --json output as well.

출력 파일은 어떻게 읽나 / How To Read The Output

기본 출력 위치는 ~/.22b/trends입니다.

The default output directory is ~/.22b/trends.

핵심 파일은 아래 다섯 가지입니다.

These are the five files new users should care about first.

  • feeds/<platform>/<YYYY-MM-DD>.json
  • feeds/<platform>/<YYYY-MM-DD>.md
  • digest/daily-<YYYY-MM-DD>.md
  • index.json
  • run-state.json

한국어: 플랫폼별 원본에 가까운 구조화 데이터입니다. English: Structured platform-specific data, closer to the raw collection result. 한국어: 사람이 훑어보기 쉬운 플랫폼 요약입니다. English: A human-readable per-platform summary. 한국어: 오늘 무엇이 모였는지 빠르게 읽는 일일 브리프입니다. English: A daily brief that lets you scan what was collected today. 한국어: 다른 22B Labs 도구가 읽기 위한 공용 요약 인덱스입니다. English: The shared summary index that other 22B Labs tools can consume. 한국어: 최근 실행 상태와 수집기별 경고를 기록합니다. English: Stores the latest run metadata and per-collector warnings.

여기서 중요한 포인트는 Markdown과 JSON을 둘 다 쓰는 이유입니다

[...truncated...]

원본 저장소: sinmb79/Short-Trend-Rader

라이선스: MIT

게재 제외를 원하시면 삭제 요청을 보내주세요.