
Security News
PHP Foundation Says Chainguard Broke Security Embargo Ahead of Emergency Patches
The PHP Foundation says Chainguard broke a security embargo ahead of critical RCE patches, as leaks disrupted the coordinated release.
터미널에서 티스토리 블로그 글을 발행까지 한 번에! (CLI 기반 AI Agent 도구)
태균맨(tae*virus)의 별명 Viru + Agent = ViruAgent (바이루에이전트)
티스토리 API를 분석해서 OpenAI와 엮었습니다. 글감 잡기 → 초안 생성 → 수정 → 발행까지 터미널 안에서 끝납니다.
공식 API가 아닌 비공식 내부 통신을 쓰기 때문에, 학습/실험 용도로 만들었습니다.
/write, /edit, /publish 같은 슬래시 명령어도 그대로 사용할 수 있습니다.필요한 것: Node.js 18+, OpenAI API Key
npm install -g viruagent
viruagent
또는 설치 없이 바로 실행:
npx viruagent
최초 실행 시 OpenAI API Key를 입력하면 ~/.viruagent/config.json에 자동 저장됩니다.
Unsplash API Key는 /set api 명령어로 나중에 설정할 수 있습니다.
| 명령어 | 설명 |
|---|---|
/write <주제> | AI가 블로그 글 초안 생성 |
/edit <지시> | 초안 수정 ("더 친근하게 바꿔줘" 같은 식으로) |
/preview | 작성 중인 글 미리보기 |
/publish | 글 발행 |
/set | 카테고리, 공개 설정, 모델, 말투 변경 |
/list | 최근 발행 글 목록 |
/login | 티스토리 세션 갱신 |
/logout | 티스토리 세션 삭제 |
슬래시 명령어 없이 자연어로 말하면 AI가 자율적으로 동작합니다.
viruagent> AI 에이전트 주제로 글 써서 발행해줘
✓ 웹검색 완료: "효과적인 시간 관리 팁" (5건)
✓ 글 생성 완료: "AI 에이전트 완벽 가이드: 챗봇과의 7가지 차이"
✓ 발행 완료! https://tkman.tistory.com/60
AI
블로그 글이 성공적으로 발행되었습니다!
| 입력 | AI가 하는 일 |
|---|---|
| "AI 트렌드로 글 써줘" | generate_post 호출 → 초안 생성 |
| "서론을 더 흥미롭게 수정해줘" | edit_post 호출 → 초안 수정 |
| "발행해줘" | publish_post 호출 → 즉시 발행 |
| "비공개로 발행해줘" | 공개설정 변경 후 발행 |
| "글 써서 바로 발행해줘" | 생성 → 발행 연속 실행 |
기존 /write, /edit, /publish 명령어도 100% 호환됩니다.
Claude Code에서 자연어로 명령할 수 있습니다.
> viruagent로 블로그에 글 아무거나 써줘 카테고리는 "기타"
카테고리, 공개 여부, 발행 방식을 물어본 뒤 AI가 글을 생성해서 티스토리에 발행합니다.
# 카테고리 목록 조회
node src/cli-post.js --list-categories
# 글 생성 + 발행
node src/cli-post.js --topic "주제" --category 1247460 --visibility public
# 미리보기만 (발행 안 함)
node src/cli-post.js --topic "주제" --dry-run
# 임시저장
node src/cli-post.js --topic "주제" --draft
글 생성 시 본문에 <!-- IMAGE: keyword --> 플레이스홀더가 자동 삽입됩니다. Unsplash API Key가 설정되어 있으면 (/set api):
[##_Image|kage@..._##])로 변환키가 없으면 이미지 처리를 건너뛰고 글만 발행합니다.
글의 톤, 구조, HTML 스타일은 config/system-prompt.md에서 수정할 수 있습니다.
config/
├── prompt-config.json # 모델, 말투, 이미지 설정
└── system-prompt.md # AI 글쓰기 규칙 (글 유형, HTML 레퍼런스, 톤)
| 유형 | 구조 |
|---|---|
| 튜토리얼 | 준비물 → 단계 → 결과 확인 → 트러블슈팅 |
| 비교/리뷰 | 비교 테이블 + 장단점 → 추천 |
| 리스트 | 번호 소제목 + 항목별 팁 |
| 정보 가이드 | 문제 → 원인 → 해결 → FAQ |
| 인사이트 | 화두 → 근거 → 시사점 → 액션 |
{
"defaultModel": "gpt-4o-mini",
"defaultTone": "정보전달",
"defaultLength": 2500,
"webSearch": {
"enabled": true,
"provider": "duckduckgo",
"defaultMaxResults": 5,
"timeoutMs": 8000
},
"imageSource": "unsplash",
"imagesPerPost": 3
}
실행 로그가 logs/ 폴더에 날짜별로 기록됩니다.
logs/
└── 2026-02-11.log
이미지 업로드 실패, API 오류 등의 디버깅에 활용할 수 있습니다.
[10:30:15.123] [INFO] [unsplash] 이미지 플레이스홀더 3개 발견
[10:30:16.456] [INFO] [unsplash] Unsplash 이미지 찾음 | {"keyword":"laptop"}
[10:30:17.789] [INFO] [tistory] 이미지 업로드 성공 | {"url":"https://blog.kakaocdn.net/..."}
[10:30:17.800] [ERROR] [tistory] 이미지 업로드 실패 | {"status":500}
이 프로젝트는 티스토리의 비공식 내부 API를 사용합니다.
교육/학습 목적으로 만들었습니다.
MIT
| 버전 | 내용 |
|---|---|
| v1.3.1 | GitHub Actions npm 자동 배포 워크플로우 추가 |
| v1.3.0 | 웹 검색 기반 글 작성 도구 추가, 발행 로그 기반 패턴 요약 적용 |
| v1.2.0 | 초기 설정 위저드, 저장 방식 전환, Function Calling 에이전트 도입 |
| v1.1.0 | 시스템 프롬프트 분리, Unsplash 연동, 썸네일 자동 설정 |
| v1.0.0 | 티스토리 자동 글쓰기 모듈 초기 설정 |
FAQs
AI 기반 티스토리 블로그 자동 발행 CLI 도구
We found that viruagent demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
The PHP Foundation says Chainguard broke a security embargo ahead of critical RCE patches, as leaks disrupted the coordinated release.

Security News
PHP releases emergency patches for two critical RCE vulnerabilities as agencies urge organizations to take unpatched sites offline.

Threat Research
/Security News
A supply chain attack compromised LiteLLM 1.107.0 on PyPI and Docker, spreading malware that steals cloud credentials, developer secrets, and AI provider keys.