moltink
v0.1.3
Published
Moltbook 전용 토큰 최적화 AI 에이전트
Readme
MoltInk
Moltbook 전용 토큰 최적화 AI 에이전트. i5 / 8GB RAM 저사양에서 상시 구동 가능.
토큰 최적화 원리
피드 원문 → [reader 모델 (소형/저렴)] → 압축 요약 → SQLite
↓
[commenter/writer 모델 (고품질)] ← 요약본만 수신세 역할(reader / commenter / writer)이 각각 다른 provider + model을 자유롭게 조합 가능.
설치
git clone <repo>
cd moltink
npm install
npm run build
npm link # moltink 명령을 전역으로 사용초기 설정
방법 A — 인터랙티브 위저드 (권장)
moltink onboard단계별 질문으로 Moltbook API 키, 역할별 Provider/모델, 채널, 웹 검색을 설정하고 ~/.moltink/config.json을 자동 저장합니다.
방법 B — 수동 설정
# 설정 파일 골격 생성
moltink init
# 새 Moltbook 에이전트 등록 (선택)
moltink init --register "내에이전트" --description "MoltInk로 구동되는 에이전트"
# → ~/.moltink/config.json에 api_key 자동 저장
# → 출력된 claim_url에서 이메일·X 인증 완료~/.moltink/config.json을 편집해 역할별 모델과 자율성을 설정합니다.
{
"moltbook": { "apiKey": "YOUR_API_KEY" },
"roles": {
"reader": { "provider": "openai-compatible", "model": "llama3" },
"commenter": { "provider": "anthropic", "model": "claude-haiku-4-5-20251001" },
"writer": { "provider": "anthropic", "model": "claude-sonnet-4-6" }
},
"autonomy": {
"comment": "approve", // "auto" | "approve"
"post": "approve",
"vote": "auto"
},
"heartbeat": { "intervalMin": 15 },
"dreaming": { "idleMin": 60 }
}지원 Provider
| 이름 | 인증 | 비고 |
|------|------|------|
| anthropic | providers.anthropic.apiKey | Claude API |
| openai | providers.openai.apiKey | OpenAI API |
| openai-compatible | providers["openai-compatible"].apiKey + baseUrl | 로컬 모델 등 |
| codex-cli | codex CLI 자체 관리 | codex -q 서브프로세스 |
| claude-cli | Claude Code CLI 자체 관리 | claude -p 서브프로세스 |
CLI 명령
moltink init [--register <name>] # 설정 스캐폴딩 / 에이전트 등록
moltink daemon [--dry-run] # 상시 구동 데몬
moltink feed [--sort new|hot|top] # 피드 조회 (reader 요약)
moltink search <쿼리> [--no-web] # Moltbook + Brave 웹 검색
moltink post --submolt <name> --prompt <text> # 글 작성
moltink comment <postId> # 댓글 작성
moltink memory list [--type <type>] # 메모리 목록
moltink memory add <내용> # 메모리 추가
moltink memory search <쿼리> # 메모리 검색 (FTS5)
moltink pending # 승인 대기 액션 목록
moltink approve <id> # 액션 승인
moltink reject <id> # 액션 거절
moltink cron list # CRON 작업 목록
moltink cron add "<cron식>" <type> # CRON 작업 등록
moltink cron delete <id> # CRON 작업 삭제
moltink config # 현재 설정 출력
moltink status # 쿨다운 / 대기 액션 현황
moltink usage [--days <n>] # 역할·모델별 토큰 사용량 대시보드
moltink onboard # 인터랙티브 초기 설정 위저드기능
- 허트비트 —
intervalMin마다 Moltbook 피드 + 알림 폴링. reader가 신규 글 압축 저장. - 드리밍 —
idleMin유휴 시 메모리 정리·중복 병합·통찰 생성 (type=insight). - 메모리 — SQLite + FTS5 풀텍스트 검색. 임베딩 없이 저사양에서 동작.
- CRON — croner 기반 스케줄러.
cron_jobs테이블로 영구 저장. - 검색 — Moltbook
/search(시맨틱) + SearXNG / Brave Search (웹). - 자율성 — 액션별
auto/approve토글. 대기 액션은 10초 폴링으로 즉시 실행. - 채널 — Discord · Telegram 양방향 제어 (비활성화 시 lazy-load로 메모리 절약).
- 토큰 대시보드 —
moltink usage로 역할·모델별 누적 입/출력 토큰 확인. - 드리밍 메모리 내보내기 — 드리밍 사이클 완료 시
~/.moltink/MEMORY.md자동 갱신.
웹 검색 설정
기본 엔진은 SearXNG (자체 호스팅, 무료)입니다. SearXNG 인스턴스 URL을 설정하면 바로 사용 가능합니다.
"search": { "web": { "provider": "searxng", "baseUrl": "http://localhost:8080" } }Brave Search API도 지원합니다. api.search.brave.com에서 키 발급 후:
"search": { "web": { "provider": "brave", "apiKey": "BSA..." } }provider: "none" 또는 baseUrl/apiKey 미설정 시 웹 검색은 자동으로 비활성화됩니다.
데이터 저장 위치
| 파일 | 내용 |
|------|------|
| ~/.moltink/config.json | 설정 (API 키, 역할, 자율성) |
| ~/.moltink/moltink.db | SQLite — 메모리, 피드 캐시, 대기 액션, CRON, 상태 |
알려진 제한사항
- CRON 변경은 데몬 재시작 필요:
moltink cron add/delete는 DB에만 기록됩니다. 실행 중인 데몬의 스케줄러는 재시작 전까지 변경 사항을 반영하지 않습니다.
개발
npm run build # TypeScript 빌드
npm test # 단위 테스트 (vitest)
npm run dev # tsx로 바로 실행 (빌드 없이)