
Rust로 작성된 안전한 영구 개인 비서 서버입니다. 단일 바이너리, 샌드박스 실행, 다중 제공자 LLM, 음성, 메모리, Telegram, WhatsApp, Discord, Teams 및 MCP 도구를 지원합니다. 설계상 안전하며 사용자 하드웨어에서 실행됩니다.
<div align="center">
<a href="https://moltis.org"><img src="https://raw.githubusercontent.com/moltis-org/moltis/main/website/favicon.svg" alt="Moltis" width="64"></a>
# Moltis — Rust로 구현된 안전한 영구 개인 에이전트 서버
단일 바이너리 — 샌드박스화되고, 안전하며, 당신의 것입니다.
[](https://github.com/moltis-org/moltis/actions/workflows/ci.yml)
[](https://codecov.io/gh/moltis-org/moltis)
[](https://codspeed.io/moltis-org/moltis)
[](LICENSE)
[](https://www.rust-lang.org)
[](https://discord.gg/XnmrepsXp5)
[설치](#installation) • [비교](#comparison) • [아키텍처](#architecture--crate-map) • [보안](#security) • [기능](#features) • [작동 방식](#how-it-works) • [기여하기](https://github.com/moltis-org/moltis/blob/main/CONTRIBUTING.md)
</div>
---
Moltis는 최근 [Hacker News 첫 페이지](https://news.ycombinator.com/item?id=46993587)에 올랐습니다. 어떤 불편함이든 [이슈를 열어](https://github.com/moltis-org/moltis/issues) 주세요. 저는 Moltis를 뛰어나게 만드는 데 집중하고 있습니다.
**설계부터 안전하게** — 당신의 키는 절대 당신의 머신을 떠나지 않습니다. 모든 명령은 샌드박스화된 컨테이너에서 실행되며, 호스트에서는 절대 실행되지 않습니다.
**당신의 하드웨어** — Mac Mini, Raspberry Pi, 또는 당신이 소유한 어떤 서버에서도 실행됩니다. 단일 Rust 바이너리로, Node.js도, npm도, 런타임도 필요 없습니다.
**완전한 기능** — 음성, 메모리, 세션 간 회상, 자동 편집 체크포인트, 스케줄링, Telegram, Signal, Discord, 브라우저 자동화, MCP 서버, SSH 또는 노드 기반 원격 실행, 웹 UI에서 호스트 고정이 적용된 관리형 배포 키, 실시간 Settings → Tools 인벤토리, Cursor 호환 프로젝트 컨텍스트, 그리고 컨텍스트 파일 위협 스캐닝까지 — 모두 기본 내장입니다. 공급망 공격을 당할 플러그인 마켓플레이스가 없습니다.
**감사 가능** — 에이전트 러너와 모델 인터페이스는 약 7.5K 줄에, 프로바이더는 추가로 약 19K 줄에 들어갑니다. Rust 워크스페이스는 독립적으로 감사할 수 있는 59개의 모듈형 크레이트에 걸쳐 약 270K 줄이며, 테스트를 포함한 Rust 파일이 470개 이상입니다. Unsafe 코드는 핵심 에이전트 루프가 아닌 FFI 및 사전 컴파일된 런타임 경계에 격리되어 있습니다.
## 설치
```bash
# One-liner install script (macOS / Linux)
curl -fsSL https://www.moltis.org/install.sh | sh
# macOS / Linux via Homebrew
brew install moltis-org/tap/moltis
# Docker (multi-arch: amd64/arm64)
docker pull ghcr.io/moltis-org/moltis:latest
# Or build from source
cargo install moltis --git https://github.com/moltis-org/moltis
```
## 비교
| | OpenClaw | Hermes Agent | **Moltis** |
|---|---|---|---|
| 기본 스택 | TypeScript + Swift/Kotlin 컴패니언 앱 | Python + TypeScript TUI/웹 인터페이스 | **Rust** |
| 런타임 | Node.js + npm/pnpm/bun | Python + uv/pip, 선택적 Node UI 구성 요소 | **단일 Rust 바이너리** |
| 로컬 체크아웃 크기\* | ~1.1M 앱 LoC | ~152K 앱 LoC | **~270K Rust LoC** |
| 아키텍처 | 광범위한 게이트웨이, 채널, 노드 및 앱 생태계 | 학습 루프와 리서치 도구를 갖춘 CLI/게이트웨이 에이전트 | **모듈형 크레이트를 갖춘 영구 개인 에이전트 서버** |
| 크레이트/모듈 | npm 패키지, 확장, 앱 | Python 패키지, 플러그인, 도구, TUI | **59개 Rust 워크스페이스 크레이트** |
| 샌드박스/백엔드 | 앱 수준 권한, 브라우저/노드 도구 | 로컬, Docker, SSH, Daytona, Singularity, Modal | **Docker/Podman + Apple Container + WASM** |
| 인증/접근 | 페어링 및 로컬 게이트웨이 제어 | CLI 및 메시징 게이트웨이 설정 | **비밀번호 + 패스키 + API 키 + Vault** |
| 음성 입출력 | 음성 웨이크 및 토크 모드 | 음성 메모 전사 | **내장 STT + TTS 제공자** |
| MCP | 플러그인/통합 지원 | MCP 통합 | **stdio + HTTP/SSE** |
| 스킬 | 번들, 관리형 및 워크스페이스 스킬 | 자기 개선 스킬 및 Skills Hub 지원 | **번들/워크스페이스 스킬 + 자율 개선 + OpenClaw 가져오기** |
| 메모리/RAG | 플러그인 기반 메모리 및 컨텍스트 엔진 | 에이전트가 관리하는 메모리, 세션 검색, 사용자 모델링 | **SQLite + FTS + 벡터 메모리** |
\* LoC는 `tokei`로 측정했으며, `node_modules`, 생성된 빌드 출력, `dist`, `target`은 제외했습니다.
> [문서에서 전체 비교 보기 →](https://docs.moltis.org/comparison.html)
## 아키텍처 — 크레이트 맵
현재 Rust 워크스페이스: 59개 크레이트에 걸쳐 ~270K LoC. 아래 표는 아키텍처를 한눈에 파악할 수 있도록 주요 크레이트를 역할별로 그룹화한 것입니다.
**핵심 런타임**:
| 크레이트 | LoC | 역할 |
|-------|-----|------|
| `moltis-gateway` | 37.4K | HTTP/WS 서버, RPC, 인증, 시작 연결 |
| `moltis-tools` | 37.0K | 도구 실행, 샌드박싱, WASM 도구 |
| `moltis-providers` | 18.9K | LLM 제공자 구현 |
| `moltis-agents` | 14.5K | 에이전트 루프, 스트리밍, 프롬프트 조립 |
| `moltis-chat` | 14.2K | 채팅 엔진, 에이전트 오케스트레이션 |
| `moltis-config` | 10.3K | 구성, 검증 |
| `moltis-httpd` | 9.9K | HTTP 서버 기본 요소 및 미들웨어 |
| `moltis` (CLI) | 4.7K | 진입점, CLI 명령 |
| `moltis-sessions` | 3.5K | 세션 지속성 |
| `moltis-common` | 1.5K | 공유 유틸리티 |
| `moltis-service-traits` | 1.2K | 공유 서비스 인터페이스 |
| `moltis-protocol` | 0.7K | 와이어 프로토콜 타입 |
**기능 및 통합 크레이트**:
| 카테고리 | 크레이트 | 합산 LoC |
|----------|--------|-------------|
| 채널 | `moltis-telegram`, `moltis-whatsapp`, `moltis-signal`, `moltis-discord`, `moltis-msteams`, `moltis-matrix`, `moltis-slack`, `moltis-nostr`, `moltis-channels` | 34.0K |
| 웹 및 API | `moltis-web`, `moltis-graphql`, `moltis-webhooks` | 10.8K |
| 확장성 | `moltis-mcp`, `moltis-mcp-agent-bridge`, `moltis-skills`, `moltis-plugins` | 11.5K |
| 메모리 및 컨텍스트 | `moltis-memory`, `moltis-qmd`, `moltis-code-index`, `moltis-projects` | 11.7K |
| 음성 및 브라우저 | `moltis-voice`, `moltis-browser` | 9.2K |
| 인증 및 보안 | `moltis-auth`, `moltis-oauth`, `moltis-vault`, `moltis-secret-store`, `moltis-network-filter`, `moltis-tls` | 8.5K |
| 스케줄링 및 자동화 | `moltis-cron`, `moltis-caldav`, `moltis-auto-reply` | 4.7K |
| 설정 및 가져오기 | `moltis-provider-setup`, `moltis-openclaw-import`, `moltis-onboarding` | 11.7K |
| 네이티브 및 노드 호스트 | `moltis-swift-bridge`, `moltis-node-host`, `moltis-courier` | 5.7K |
| WASM 도구 | `moltis-wasm-precompile`, `moltis-wasm-calc`, `moltis-wasm-web-fetch`, `moltis-wasm-web-search` | 1.4K |
| 지원 크레이트 | `moltis-media`, `moltis-metrics`, `moltis-tailscale`, `moltis-routing`, `moltis-canvas`, `moltis-schema-export`, `benchmarks` | 2.1K |
제한된 장치(Raspberry Pi 등)에서는 `--no-default-features --features lightweight`를 사용하세요.
## 보안
- **작은 unsafe 표면** — 핵심 에이전트/게이트웨이 코드는 안전한 Rust로 유지되며, unsafe는 Swift FFI, 로컬 모델 래퍼, 사전 컴파일된 WASM 경계에만 격리됩니다
- **샌드박스 실행** — Docker + Apple Container, 세션별 격리
- **비밀 처리** — `secrecy::Secret`, drop 시 0으로 초기화, 도구 출력에서 마스킹
- **인증** — 비밀번호 + 패스키(WebAuthn), 속도 제한, IP별 스로틀
- **SSRF 보호** — DNS 확인, 루프백/사설/링크 로컬 차단
- **Origin 검증** — 교차 출처 WebSocket 업그레이드 거부
- **훅 게이팅** — `BeforeToolCall` 훅이 모든 도구 호출을 검사/차단 가능
- **공급망 무결성** — [아티팩트 증명](https://github.com/moltis-org/moltis/attestations), Sigstore 키리스 서명, GPG 서명(YubiKey), SHA-256/SHA-512 체크섬
자세한 내용은 [보안 아키텍처](https://docs.moltis.org/security.html)를 참조하세요.
`gh attestation verify <artifact> -R moltis-org/moltis`로 릴리스를 검증하거나 [릴리스 검증](https://docs.moltis.org/release-verification.html)을 참조하세요.
## 기능
- **추론 기본값** - 모델 없는 세션 및 새 메인 세션에 대한 구성 가능한 기본 사고 노력, 세션별 Off 또는 레벨 재정의 명시적 지원
- **AI 게이트웨이** — 다중 제공자 LLM 지원(OpenAI Codex, GitHub Copilot, Local), 스트리밍 응답, 서브 에이전트 위임을 포함한 에이전트 루프, 세션 모드, 병렬 도구 실행
- **커뮤니케이션** — 명령 팔레트 에이전트 프롬프트와 Markdown 복사/내보내기를 지원하는 웹 UI, Telegram, Signal, Microsoft Teams, Discord, 네이티브 라이브 도구 카드를 지원하는 Slack, Nostr DM + NIP-29 그룹 채팅(Block의 Buzz 채널 포함), API 액세스, 음성 입출력(8개 TTS + 7개 STT 제공자), 푸시 알림을 지원하는 모바일 PWA
- **데스크톱 앱** — 로컬, HTTPS 또는 SSH 터널을 통해 실행 중인 데몬에 연결하는 네이티브 Rust/gpui 클라이언트; 키체인에 저장된 범위 지정 API 키, 인증서 피닝, 스트리밍 네이티브 마크다운, 시스템 알림을 통한 승인
- **메모리 및 회상** — 에이전트별 메모리 워크스페이스, 임베딩 기반 장기 메모리, 하이브리드 벡터 + 전체 텍스트 검색, 자동 압축을 통한 세션 지속성, 세션 간 회상, Cursor 호환 프로젝트 컨텍스트, 컨텍스트 파일 안전성 스캔
- **관리 파일** - 설정에서 인증된 중첩 파일 관리, 에이전트가 알리는 호스트 경로, Docker, Podman, Apple Container 샌드박스에 대한 기본 읽기 전용의 독립 마운트
- **더 안전한 에이전트 편집** — 내장 스킬 및 메모리 변경 전 자동 체크포인트, 복원 도구, 세션 분기
- **확장성** — MCP 서버(stdio + HTTP/SSE), 스킬 시스템, 서킷 브레이커를 포함한 15개 라이프사이클 훅 이벤트, 파괴적 명령 가드
- **에이전트 클라이언트 프로토콜** — 외부 ACP 에이전트(`codex-acp`, `claude-agent-acp`, Cursor)를 구동하고, `moltis acp`를 통해 stdio로 ACP 클라이언트에 Moltis를 제공
- **첫 실행** — 설정 코드가 미리 채워진 온보딩을 브라우저에서 열고, 인증서 없는 `http://localhost`를 제공하며, LAN HTTPS를 위한 이름 제약 로컬 CA를 한 번 신뢰하도록 제안하고, 터미널 로그 아래에 웹 UI URL을 고정 표시(SSH 환경에서는 `ssh -L` 힌트 포함)
- **보안** — 저장 시 암호화 볼트(XChaCha20-Poly1305 + Argon2id), 비밀번호 + 패스키 + API 키 인증, 샌드박스 격리, SSRF/CSWSH 보호
- **운영** — Cron 스케줄링, 내구성 있는 로컬 CalDAV, Gmail, Himalaya 이메일, 재사용 가능한 Slack/Discord/Matrix/Teams 메시지 데이터셋, 제공자별 읽기 전용 에이전트 도구, 빠른 전체 텍스트 검색, JSONL/Markdown 프로젝션, 에이전트 계측(LLM 추적용 Langfuse, Grafana/Datadog용 OTLP), Prometheus 메트릭, 클라우드 배포(Fly.io, DigitalOcean), Tailscale 통합, 관리형 SSH 배포 키, 호스트 고정 원격 대상, 설정의 라이브 도구 인벤토리, CLI/웹 원격 실행 doctor 흐름
## 작동 방식
Moltis는 **로컬 우선 영구 에이전트 서버**입니다 — 사용자와 여러 LLM 제공자 사이에 위치하는 단일 Rust 바이너리로, 내구성 있는 세션 상태를 유지하며 데이터를 클라우드 릴레이에 넘기지 않고도 다양한 채널에서 사용자를 만날 수 있습니다.
```
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Web UI │ │ Telegram │ │ Discord │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└────────┬───────┴────────┬───────┘
│ WebSocket │
▼ ▼
┌─────────────────────────────────┐
│ Gateway Server │
│ (Axum · HTTP · WS · Auth) │
├─────────────────────────────────┤
│ Chat Service │
│ ┌───────────┐ ┌─────────────┐ │
│ │ Agent │ │ Tool │ │
│ │ Runner │◄┤ Registry │ │
│ └─────┬─────┘ └─────────────┘ │
│ │ │
│ ┌─────▼─────────────────────┐ │
│ │ Provider Registry │ │
│ │ Multiple providers │ │
│ │ (Codex · Copilot · Local)│ │
│ └───────────────────────────┘ │
├─────────────────────────────────┤
│ Sessions │ Memory │ Hooks │
│ (JSONL) │ (SQLite)│ (events) │
└─────────────────────────────────┘
│
┌───────▼───────┐
│ Sandbox │
│ Docker/Apple │
│ Container │
└───────────────┘
```
게이트웨이 시작, 메시지 흐름, 세션 및 메모리 세부 사항은 [Quickstart](https://docs.moltis.org/quickstart.html)를 참조하세요.
## 시작하기
### 빌드 및 실행
[just](https://github.com/casey/just)(명령 실행기)와 Node.js(Tailwind CSS용)가 필요합니다.
```bash
git clone https://github.com/moltis-org/moltis.git
cd moltis
just build-css # Build Tailwind CSS for the web UI
just build-release # Build in release mode
cargo run --release --bin moltis
```
전체 릴리스 빌드(WASM 샌드박스 도구 포함)의 경우:
```bash
just build-release-with-wasm # Builds WASM artifacts + release binary
cargo run --release --bin moltis
```
`https://moltis.localhost:3000`을 엽니다. 첫 실행 시 설정 코드가 터미널에 출력되며, 웹 UI에 입력하여 비밀번호를 설정하거나 패스키를 등록합니다.
선택적 플래그: `--config-dir /path/to/config --data-dir /path/to/data`
### Docker
```bash
# Docker / OrbStack
docker run -d \
--name moltis \
-p 13131:13131 \
-p 13132:13132 \
-p 1455:1455 \
-v moltis-config:/home/moltis/.config/moltis \
-v moltis-data:/home/moltis/.moltis \
-v /var/run/docker.sock:/var/run/docker.sock \
ghcr.io/moltis-org/moltis:latest
```
`https://localhost:13131`을 열고 설정을 완료하세요. 무인 Docker 배포의 경우, 설정 마법사를 건너뛰려면 첫 부팅 전에 `MOLTIS_PASSWORD`, `MOLTIS_PROVIDER`, `MOLTIS_API_KEY`를 설정하세요. Podman, OrbStack, TLS 신뢰 및 영속성 세부 사항은 [Docker 문서](https://docs.moltis.org/docker.html)를 참조하세요.
### 클라우드 배포
| 제공자 | 배포 |
|----------|--------|
| DigitalOcean | [](https://cloud.digitalocean.com/apps/new?repo=https://github.com/moltis-org/moltis/tree/main) |
**Fly.io** (CLI):
```bash
fly launch --image ghcr.io/moltis-org/moltis:latest
fly secrets set MOLTIS_PASSWORD="your-password"
```
모든 클라우드 구성은 공급자가 TLS 종료를 처리하기 때문에 `--no-tls`를 사용합니다.
자세한 내용은 [Cloud Deploy 문서](https://docs.moltis.org/cloud-deploy.html)를 참조하세요.
## 라이선스
MIT