AI 기반 트렌드 발견 및 콘텐츠 게시 시스템으로, 다중 소스 데이터 수집, 지능형 요약, 위챗 공식 계정 자동 게시를 지원합니다.
🌰 예시 위챗 공식 계정: 深巷懒猫
지금 바로 팔로우하고 AI 기반 스마트 콘텐츠를 경험해 보세요~
🌟 주요 기능
🤖 다중 소스 데이터 수집
- Twitter/X 콘텐츠 크롤링
- 웹사이트 콘텐츠 크롤링 (FireCrawl 기반)
- 사용자 정의 데이터 소스 설정 지원
🧠 AI 기반 지능형 처리
- DeepseekAI를 활용한 콘텐츠 요약
- 핵심 정보 추출
- 스마트 제목 생성
📢 자동 게시
- 위챗 공식 계정 기사 게시
- 사용자 정의 기사 템플릿
- 예약 게시 작업
📱 알림 시스템
- Bark 알림 연동
- 작업 실행 상태 알림
- 오류 경보
🛠 기술 스택
- 런타임 환경: Node.js + TypeScript
- 프레임워크: Express.js
- AI 서비스: DeepseekAI
- 데이터 소스:
- Twitter/X API
- FireCrawl
- 예약 작업: node-cron
- 템플릿 엔진: EJS
- 개발 도구:
- nodemon (핫 리로드)
- TypeScript
- Jest (테스트)
📦 프로젝트 구조
src/
├── controllers/ # 控制器层,处理请求
├── data-sources/ # 数据源配置
├── publishers/ # 发布器实现
├── scrapers/ # 数据采集实现
├── services/ # 业务逻辑层
├── summarizer/ # AI 总结实现
├── templates/ # 文章模板
└── utils/ # 工具函数
🚀 빠른 시작
환경 요구 사항
- Node.js (v14+)
- npm 또는 yarn
- TypeScript
설치
- 프로젝트 복제
BASH
git clone [repository-url]
cd trendpublish
- 의존성 설치
BASH
npm install
- 환경 변수 구성
BASH
cp .env.example .env
# 编辑 .env 文件配置必要的环境变量
- 프로젝트 시작
BASH
# 开发模式
npm run start
# 构建
npm run build
⚙️ 환경 변수 구성
.env 파일에 다음 필수 환경 변수를 구성합니다:
ENV
# DeepseekAI API 配置
DEEPSEEK_API_KEY=your_api_key
# FireCrawl 配置
FIRECRAWL_API_KEY=your_api_key
# Twitter API 配置
TWITTER_API_KEY=your_api_key
# 微信公众号配置
WEIXIN_APP_ID=your_app_id
WEIXIN_APP_SECRET=your_app_secret
# Bark 通知配置
BARK_KEY=your_key
📝 사용 안내
새 데이터 소스 추가
src/data-sources/getCronSources.ts 파일에서 데이터 소스를 구성합니다:
TypeScript
export const sourceConfigs = {
AI: {
firecrawl: [{ identifier: "https://example.com" }],
twitter: [{ identifier: "https://twitter.com/username" }],
},
};
사용자 정의 기사 템플릿
src/templates 디렉터리에 새 템플릿 파일을 만들고 기존 템플릿 구현을 참고하세요.
예약 작업 구성
src/controllers/cron.ts 파일에서 예약 작업 구성을 수정하세요:
CodeBlock Loading...
🤝 기여 가이드
- 이 저장소를 포크합니다
- 기능 브랜치를 만듭니다 (
git checkout -b feature/amazing-feature) - 변경 사항을 커밋합니다 (
git commit -m 'Add some amazing feature') - 브랜치에 푸시합니다 (
git push origin feature/amazing-feature) - Pull Request를 제출합니다
📄 라이선스
이 프로젝트는 MIT 라이선스를 사용합니다. 자세한 내용은 LICENSE 파일을 참조하세요.