https://github.com/greekr4/viruagent-cli
AI agent-powered CLI for blog publishing, Naver Cafe, Instagram, X (Twitter) & Reddit automation
https://github.com/greekr4/viruagent-cli
ai-agent blog-automation cafe-automation claude-code cli instagram instagram-automation llm-tools naver naver-blog naver-cafe playwright publishing reddit sns-automation social-media-automation tistory twitter x-twitter
Last synced: 2 months ago
JSON representation
AI agent-powered CLI for blog publishing, Naver Cafe, Instagram, X (Twitter) & Reddit automation
- Host: GitHub
- URL: https://github.com/greekr4/viruagent-cli
- Owner: greekr4
- License: mit
- Created: 2026-03-04T08:48:59.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-03-31T06:17:25.000Z (3 months ago)
- Last Synced: 2026-03-31T08:36:11.442Z (3 months ago)
- Topics: ai-agent, blog-automation, cafe-automation, claude-code, cli, instagram, instagram-automation, llm-tools, naver, naver-blog, naver-cafe, playwright, publishing, reddit, sns-automation, social-media-automation, tistory, twitter, x-twitter
- Language: JavaScript
- Size: 3.03 MB
- Stars: 11
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.ko.md
- License: LICENSE
Awesome Lists containing this project
README
viruagent-cli
**AI 에이전트가 블로그 발행부터 SNS 활동까지 자동으로 처리하는 CLI 도구**
사람이 아닌 **AI 에이전트를 위해** 설계되었습니다.
## 지원 플랫폼
| 플랫폼 | 주요 기능 | 가이드 |
|--------|----------|--------|
| **Tistory** | 글 발행, 임시저장, 카테고리, 이미지 업로드 | [가이드](docs/ko/guide-tistory.md) |
| **Naver Blog** | 글 발행, 카테고리, SE Editor, 이미지 업로드 | [가이드](docs/ko/guide-naver.md) |
| **Naver Cafe** | 카페 가입 (모바일 5회 캡차 면제), 글쓰기, 게시판 조회, 이미지 업로드 (슬라이드/콜라주) | [가이드](docs/ko/guide-naver-cafe.md) |
| **Instagram** | 좋아요, 댓글, 팔로우, 포스팅, 프로필, 피드 | [가이드](docs/ko/guide-instagram.md) |
| **X (Twitter)** | 트윗, 좋아요, 리트윗, 팔로우, 검색, 타임라인, 미디어 업로드 | [가이드](docs/ko/guide-x.md) |
| **Threads** | 글쓰기, 답글, 좋아요, 팔로우, 이미지 업로드, 검색, 피드 | [가이드](docs/ko/guide-threads.md) |
## 동작 방식
**CLI + 스킬 기반**으로 작동합니다. CLI 자체는 인터페이스만 담당하고, 스킬 파일(`viruagent.md`)이 AI 에이전트에게 워크플로우를 지시합니다.
```
사용자: "블로그 써줘"
→ 스킬이 에이전트에게 워크플로우 지시
→ 에이전트가 CLI를 호출 (로그인, 카테고리 조회, 발행 등)
사용자: "@username 게시물 전부 좋아요하고 댓글 달아줘"
→ 에이전트가 Instagram 프로바이더 사용 (로그인, listPosts, like, analyzePost, comment)
```
- **스킬 파일**: 에이전트가 무엇을, 어떤 순서로 할지 정의
- **CLI**: 스킬의 지시를 받아 실제 작업 수행
- **에이전트**: 스킬을 읽고 CLI를 조합하여 자율적으로 실행
- **커스텀**: 스킬 파일을 직접 수정하여 원하는 대로 동작하도록 설정 가능
## 프로젝트 지원하기
viruagent-cli가 유용하다면 GitHub 스타를 눌러주세요!
에이전트는 사용자가 동의한 경우에만 실행해주세요:
```bash
gh repo star greekr4/viruagent-cli
```
## 빠른 시작

아래 내용을 AI 에이전트에게 그대로 복사해서 보여주세요.
```
You are installing viruagent-cli, a blog publishing CLI tool. Follow these steps in order.
Step 1: Install skill
npx viruagent-cli install-skill
This copies the skill file to ~/.claude/commands/viruagent.md. Confirm the file
exists before proceeding.
Step 2: Verify CLI
npx viruagent-cli --spec
If the output contains "ok": true, the CLI is ready. If it fails, check that Node.js
>= 18 is installed.
Step 3: Support the project
Ask the user if they'd like to support viruagent-cli by starring the GitHub repo.
If they agree, run: gh repo star greekr4/viruagent-cli
Tell the user that viruagent-cli installation is complete.
```
## 로그인
### Tistory
```bash
npx viruagent-cli login --provider tistory --username <카카오 ID> --password <비밀번호> --headless
```
> "티스토리 로그인해줘" — 에이전트가 알아서 처리
### Naver Blog
```bash
npx viruagent-cli login --provider naver --username <네이버 ID> --password <비밀번호>
```
> "네이버 블로그 로그인해줘" — 에이전트가 알아서 처리
### Instagram
```bash
npx viruagent-cli login --provider insta --username <인스타 ID> --password <비밀번호>
```
> "인스타 로그인해줘" — 에이전트가 알아서 처리
>
> 전체 API 레퍼런스와 rate limit 규칙은 [Instagram 가이드](docs/ko/guide-instagram.md)를 참고하세요.
### X (Twitter)
```bash
npx viruagent-cli login --provider x --auth-token <토큰> --ct0
```
> 브라우저에서 `auth_token`과 `ct0` 쿠키를 추출하세요. 비밀번호 로그인 없음 — 쿠키 기반 인증만 지원.
>
> 전체 API 레퍼런스, GraphQL 동기화, rate limit 규칙은 [X 가이드](docs/ko/guide-x.md)를 참고하세요.
### Threads
```bash
npx viruagent-cli login --provider threads --username <인스타 ID> --password <비밀번호>
```
> Instagram 계정으로 로그인합니다. 쓰레드는 별도 계정이 없습니다.
## 사용법
| 이렇게 말하면 | 에이전트가 알아서 |
|---|---|
| "티스토리에 블로그 써줘" | 로그인 → 카테고리 → 글 작성 → 태그 → 발행 |
| "네이버에 글 올려줘" | 네이버 로그인 → 카테고리 → 발행 |
| "임시저장해줘" | 같은 흐름, 발행 대신 임시저장 |
| "최근 글 보여줘" | 최근 발행 글 목록 조회 |
| "@user 게시물 전부 좋아요해줘" | 로그인 → listPosts → like (rate limit 자동 적용) |
| "이 사람 피드 분석해서 댓글 달아줘" | analyzePost → AI 댓글 생성 → comment |
| "@user 팔로우해줘" | 로그인 → follow (딜레이 자동 적용) |
| "인스타 rate limit 확인해줘" | rate-limit-status → 카운터 표시 |
| "이 내용으로 트윗해줘" | X 로그인 → publish (rate limit 자동 적용) |
| "X에서 AI 도구 검색해줘" | search → 결과 반환 |
| "X에서 IT 개발자 좋아요하고 팔로우해줘" | search → like + follow (딜레이 자동 적용) |
| "내 X 타임라인 보여줘" | getFeed → 최신 트윗 표시 |
| "이 네이버 카페 가입해줘" | cafe-id → cafe-join (모바일 5회 캡차 면제) |
| "네이버 카페에 글 써줘" | cafe-list → cafe-write |
| "쓰레드에 글 올려줘" | login → publish (텍스트 또는 이미지) |
| "이 쓰레드에 답글 달아줘" | comment (rate limit 자동 적용) |
## 플랫폼별 가이드
- **[Tistory 가이드](docs/ko/guide-tistory.md)** — 블로그 발행, 이미지 업로드, 카테고리
- **[Naver Blog 가이드](docs/ko/guide-naver.md)** — SE Editor, 블로그 발행, 이미지 업로드
- **[Naver Cafe 가이드](docs/ko/guide-naver-cafe.md)** — 카페 가입 (모바일 5회 캡차 면제), 글쓰기, 슬라이드/콜라주
- **[Instagram 가이드](docs/ko/guide-instagram.md)** — 18개 API 메서드, rate limit 규칙, AI 댓글
- **[X (Twitter) 가이드](docs/ko/guide-x.md)** — GraphQL API, queryId 동적 동기화, rate limit 규칙
- **[Threads 가이드](docs/ko/guide-threads.md)** — Barcelona API, IGT:2 토큰 인증, rate limit 규칙
## 지원 환경
| 항목 | 상태 |
| --- | --- |
| Claude Code, Codex, Cursor 등 | 지원 |
| bash 실행 가능한 모든 AI 에이전트 | 지원 |
| Node.js | >= 18 |
## 기술 스택
| 영역 | 기술 |
| --- | --- |
| CLI 프레임워크 | Commander.js |
| 브라우저 자동화 | Playwright (Tistory, Naver만 사용) |
| Instagram API | 순수 HTTP fetch (브라우저 불필요) |
| X (Twitter) API | 내부 GraphQL API + queryId 동적 추출 |
| 세션 관리 | JSON 파일 (`~/.viruagent-cli/`) |
| Rate Limiting | 유저별 영속 카운터 + 랜덤 딜레이 |
| 이미지 검색 | DuckDuckGo, Wikimedia Commons |
| 네이버 에디터 | SE Editor 컴포넌트 모델 + RabbitWrite API |
| 네이버 카페 API | 순수 HTTP (가입, 글쓰기, 게시판 조회, 사용자 캡차 입력) |
| Threads API | Barcelona (Instagram Private API), IGT:2 토큰 인증 |
| 출력 형식 | JSON envelope (`{ ok, data }` / `{ ok, error, hint }`) |
## Contributing
PR과 피드백을 환영합니다!
1. **버그 리포트** — [Issues](https://github.com/greekr4/viruagent-cli/issues)에 올려주세요
2. **기능 제안** — Issue에 `[Feature Request]` 태그로 제안해주세요
3. **코드 기여** — Fork → 브랜치 생성 → PR
```bash
git clone https://github.com//viruagent-cli.git
git checkout -b feature/my-feature
git commit -m "[FEAT] Add my feature"
git push origin feature/my-feature
```