프로젝트 소개

Poindexter는 단일 운영자의 개인 머신에서 실행되도록 설계된 오픈 소스(Apache 2.0, Glad Labs LLC) 콘텐츠 파이프라인입니다. README에 따르면 이 시스템은 gladlabs.io의 기반이 되는 프로덕션 시스템으로, 200개 이상의 라이브 포스트와 2,000회 이상의 파이프라인 실행 기록을 보유하고 있으며, 원클릭 호스팅 앱을 원하는 마케팅 팀보다는 솔로 운영자와 독립 출판사를 위해 명확하게 포지셔닝되었습니다. 이 파이프라인의 기능은 다음과 같습니다. HackerNews, Dev.to 및 설정 가능한 니치 피드에서 후보 주제를 발견하고, 웹 검색과 소스 검증을 통해 각 주제를 조사하며, 로컬 Ollama 모델을 사용하여 장문 초안을 작성합니다. 또한 다중 모델 적대적 QA를 통해 모든 초안을 검토하고, 인물, 통계 및 인용구에 대해 환각 방지 검증을 수행하며, 완성된 결과물을 정적 JSON, RSS 및 JSON Feed 1.1 형태로 모든 S3 호환 스토리지에 게시합니다. 선택 사항으로 AI 이미지, 팟캐스트 오디오 및 짧은 텍스트-비디오 클립을 추가하는 단계가 있습니다. 또한 Grafana 대시보드와 워치독 데몬을 통해 시스템을 모니터링하며, Telegram 또는 Discord로 알림을 보냅니다. 기본 모델 세트는 4개의 Ollama 모델로 구성됩니다. 작가 및 폴백(fallback) 역할을 하는 gemma3:27b, 적대적 QA 비평가 역할을 하는 phi4:14b, SEO 및 라우팅과 같은 빠른 작업을 위한 qwen3:8b, 그리고 pgvector 임베딩을 위한 nomic-embed-text가 그것입니다. README에서는 비평가 모델이 작가 모델과 의도적으로 다른 모델 제품군에서 선택되었음을 명시합니다. 모델 라우팅(작가, 비평가, 조사, 요약, 임베더)은 데이터베이스에 저장되어 런타임에 변경할 수 있으며, 추가적인 비전 및 음성 모델은 해당 기능이 필요할 때만 로드됩니다. Anthropic, OpenAI, Groq, OpenRouter 등의 클라우드 제공업체는 비용 가드(cost guard)가 적용된 선택적 LiteLLM 플러그인을 통해 사용할 수 있습니다. 이 프로젝트는 품질 관리를 강조합니다. README에서는 교차 모델 LLM 비평가, DeepEval 및 Ragas 평가, 결정론적 환각 방지 검증기, 조사 코퍼스 기반의 인용 검증, 생성된 이미지에 대한 비전 QA를 결합한 15개의 QA 레일(rails)을 설명합니다. 각 레일은 데이터베이스에서 권고(advisory) 또는 차단(blocking)으로 설정 가능하며, 임계값은 런타임에 조정할 수 있고, 기준에 약간 못 미치는 초안은 거절되기 전 한 번의 제한된 수정 단계를 거칩니다. 아키텍처는 커널, 모듈 및 기능 플러그인으로 구성됩니다. 컴포넌트 간의 직접적인 임포트는 없으며, pgvector가 포함된 PostgreSQL이 공유 버스 역할을 합니다. 콘텐츠 파이프라인은 데이터베이스에 저장된 선언적 LangGraph DAG(약 47개 노드)이며, Prefect를 통해 배포되고 Postgres 체크포인팅을 통해 실행 재개가 가능합니다. 독립형 워치독 데몬이 5분 주기로 서비스를 확인하고 가능한 경우 실패한 서비스를 재시작합니다. 설정은 환경 변수가 아닌 app_settings 테이블(1,700개 이상의 설정)에 저장되어 CLI, SQL 또는 REST로 편집 가능하며, 인증은 소비자별 범위가 지정된 JWT와 함께 OAuth 2.1 클라이언트 자격 증명을 사용합니다. 확장 지점은 Taps, TopicSources, LLM/이미지/TTS/비디오/오디오/캡션 제공자, PublishAdapters, Probes, Jobs, Stages, Reviewers 및 전체 Modules 등 18개의 플러그인 진입점 그룹으로 구성됩니다. 플러그인은 setuptools 진입점을 등록하는 일반적인 pip 패키지이며, README에 따르면 첫 번째 프로덕션 플러그인은 LiteLLM 제공자입니다. 설치에는 Docker, Ollama, Python 3.13+ 및 8GB 이상의 VRAM을 갖춘 NVIDIA GPU가 필요합니다(CPU도 지원하지만 느립니다). 기본 Windows cmd/PowerShell은 지원되지 않으며 Git Bash 또는 WSL2가 필요합니다. Docker Compose 프로필은 기본 설치를 위한 4개 컨테이너부터 전체 운영자 스택을 위한 45개 컨테이너까지 다양합니다. README는 현재 상태에 대해 솔직합니다. 프로젝트는 알파 단계이며, 관리형 호스팅이나 멀티 테넌트 레시피가 없고, 데이터베이스 스키마가 릴리스 간에 아직 안정적이지 않으며, 서드파티 플러그인 생태계는 초기 단계이고, 텍스트-비디오 기능은 약 28GB VRAM 여유 공간이 필요한 알파 상태입니다. CI에서 17,000개 이상의 유닛 테스트와 함께 마이그레이션 스모크 테스트 및 링크 부패(link-rot) 확인을 수행하며, 모든 푸시마다 비밀 스캔, CVE 스캔 및 SBOM 생성이 실행됩니다. 이 프로젝트는 AGPL-3.0에서 Apache 2.0으로 라이선스가 변경되었습니다.