# 로컬 우선 AI 비서 LocalGPT – Rust 기반, 지속 메모리 지원

> Clean Markdown view of GeekNews topic #26525. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=26525](https://news.hada.io/topic?id=26525)
- GeekNews Markdown: [https://news.hada.io/topic/26525.md](https://news.hada.io/topic/26525.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-02-09T09:53:49+09:00
- Updated: 2026-02-09T09:53:49+09:00
- Original source: [github.com/localgpt-app](https://github.com/localgpt-app/localgpt)
- Points: 2
- Comments: 1

## Topic Body

- **Rust로 개발된 로컬 실행형 AI 비서**로, 인터넷 연결 없이 개인 기기에서 완전 동작하며 데이터가 외부로 전송되지 않음  
- **단일 실행 파일 구조**로 Node.js, Docker, Python 설치 없이 구동 가능하며, 약 27MB 크기의 경량 바이너리 형태  
- **지속 메모리 시스템**은 Markdown 기반 지식 저장소와 SQLite FTS5 및 **semantic search**를 통해 장기 기억과 검색 기능을 제공  
- **CLI, 웹 UI, 데스크톱 GUI**를 모두 지원하며, OpenAI·Anthropic·Ollama 등 **다중 LLM 제공자**와 호환  
- **OpenClaw 포맷과 호환**되어 SOUL, MEMORY, HEARTBEAT 파일을 활용한 자율 작업 수행이 가능함  

---
### 개요
- LocalGPT는 **로컬 장치 중심의 AI 비서**로, 지속적인 메모리와 자율 작업 기능을 갖춘 Rust 기반 애플리케이션  
  - 외부 서버 의존 없이 개인 기기에서 완전 실행  
  - OpenClaw 프로젝트에서 영감을 받아 호환성 유지  
- 설치는 `cargo install localgpt` 명령으로 가능하며, GUI 포함 또는 **헤드리스 모드**로 선택 가능  

### 주요 특징
- **단일 바이너리 구조**로 Node.js, Docker, Python이 필요 없음  
- **로컬 데이터 보존**: 모든 메모리와 설정이 사용자의 기기 내에 저장  
- **지속 메모리**: Markdown 파일 기반의 지식 저장소를 사용하며, **SQLite FTS5** 및 **sqlite-vec**을 통한 빠른 검색과 의미 기반 검색 지원  
- **자율 하트비트(heartbeat)** 기능으로 백그라운드에서 작업 수행 가능  
- **다양한 인터페이스**: CLI, 웹 UI, 데스크톱 GUI 제공  
- **다중 LLM 지원**: Anthropic(Claude), OpenAI, Ollama 등과 연동 가능  

### 작동 방식
- 메모리는 `~/.localgpt/workspace/` 디렉터리에 저장되며, 주요 파일 구성은 다음과 같음  
  - `MEMORY.md`: 장기 지식 저장  
  - `HEARTBEAT.md`: 자율 작업 큐  
  - `SOUL.md`: 성격 및 행동 지침  
  - `knowledge/`: 주제별 구조화된 지식 저장소  
- SQLite FTS5로 키워드 검색, sqlite-vec으로 **로컬 임베딩 기반 의미 검색** 수행  

### 설정 및 CLI 명령
- 설정 파일은 `~/.localgpt/config.toml`에 저장되며, 기본 모델·API 키·하트비트 주기·작업 시간대 등을 지정  
- 주요 CLI 명령  
  - `localgpt chat`: 대화 세션 시작  
  - `localgpt ask "질문"`: 단일 질의 실행  
  - `localgpt daemon start`: 백그라운드 데몬 실행  
  - `localgpt memory search "query"`: 메모리 검색  
  - `localgpt config init`: 기본 설정 생성  

### HTTP API
- 데몬 실행 시 REST API 제공  
  - `GET /health`: 상태 확인  
  - `POST /api/chat`: 대화 요청  
  - `GET /api/memory/search?q=&lt;query&gt;`: 메모리 검색  
  - `GET /api/memory/stats`: 메모리 통계 조회  

### 기술 스택
- **Rust**, **Tokio**, **Axum**, **SQLite (FTS5 + sqlite-vec)** , **fastembed**, **eframe** 기반  
- Apache-2.0 라이선스 하에 공개되어 있으며, 약 93%의 코드가 Rust로 작성됨  

### 기타 정보
- GitHub에서 약 **646개의 스타**와 **39개의 포크**를 보유  
- 블로그 글 *“Why I Built LocalGPT in 4 Nights”*에서 개발 과정과 커밋별 세부 내역을 공개  
- 주요 기여자는 **Yi Wang**, **Claude**, **objectkit**, **Ax73** 등 4명으로 확인됨

## Comments



### Comment 50858

- Author: neo
- Created: 2026-02-09T09:53:49+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46930391) 
- 2026년에 이런 걸 보고 있다니 정말 **사이버펑크**한 기분임  
  `MEMORY.md`, `HEARTBEAT.md`, `SOUL.md` 같은 구조가 너무 흥미로움  
  다만 `ANTHROPIC_API_KEY`에 의존하니 “local-first”라 부르긴 애매함  
  그래도 장기적으로는 local-first가 미래라고 생각함  
  작년에 Rust로 비슷한 걸 만들었는데, 로컬에서 모델을 돌리니 속도 차이가 확실했음  
  [내 데모 영상](https://www.youtube.com/watch?v=tRrKQl0kzvQ)도 있음  
  OS 레벨에서 이런 걸 구현하는 건 정말 **패러다임 전환**급 경험이었음  
  앞으로 5~10년 안에 우리가 기기와 상호작용하는 방식이 근본적으로 바뀔 것 같음
  - 이건 local-first가 아님, 이름이 잘못된 것 같음
  - 굳이 제3자 LLM을 쓸 필요는 없음  
    OpenAI나 Anthropic 호환 엔드포인트를 직접 지정할 수 있고, **localhost**에서도 가능함
  - 관련 코드 참고: [providers.rs L222](https://github.com/localgpt-app/localgpt/blob/main/src%2Fagent%2Fproviders.rs#L222)
  - 나도 LAN에서 **OpenClaw**와 **Qwen3 Coder Next**를 local-first 방식으로 돌려보고 있음  
    이제 막 시작했지만 꽤 가능성이 있어 보임
  - AI에 대한 호불호를 떠나, 지금의 투자 규모는 우리 세대의 **Apollo 프로그램** 같음  
    앞으로 수년 내 100개 이상의 기가와트급 데이터센터가 생길 예정이라 함  
    군수 산업보다는 훨씬 나은 자금 사용처라고 생각함

- 조언 하나, 게시글이나 문서는 직접 쓰거나 최소한 **편집**은 직접 하는 게 좋음  
  지금 문서와 글은 전부 LLM이 쓴 것처럼 보여서 정성이 느껴지지 않음
  - 요즘은 몇 문장 이상 쓰는 걸 포기한 사람도 많음  
    이런 **표절 세탁 기계**들이 사람의 글쓰기 감각을 망가뜨리고 있음
  - 나도 동의함, 직접 문서를 쓰면 오히려 재밌어짐
  - 반론도 있음  
    나는 원래 문서 쓰는 걸 싫어해서, 예전엔 내 코드에 문서가 거의 없었음  
    덕분에 다른 사람이 쓰기 어려웠음  
    LLM은 **정확한 설명**을 빠르게 만들어주고 최신 상태로 유지해줘서 문서 작성엔 최적임  
    사람이 안 썼다는 게 보이더라도, 내용이 맞다면 문제없다고 생각함
  - 이런 **저품질 포스트**를 막는 억제책이 되면 좋겠지만 현실은 아님  
    오히려 노력 안 하는 걸 자랑스럽게 여기는 분위기가 있음

- 이 프로젝트 아이디어는 훌륭함  
  **지속 메모리 + 시맨틱 검색** 구조화 프레임워크가 핵심임  
  SOUL 기능은 사실 대부분의 LLM이 이미 마크다운 파일 형태로 지원함  
  이런 구조는 **프라이빗 에이전트 네트워크** 구축의 출발점이 될 수 있음  
  다만 이름이 문제임 — LocalGPT는  
  1) 로컬이 아니고,  
  2) GPT 모델도 아님  
  의도를 더 정확히 반영하는 이름으로 바꾸는 게 좋겠음

- 진지한 질문인데, 이게 **OpenClaw**와 뭐가 다른지 궁금함  
  같은 `SOUL.md`, `MEMORY.md`, `HEARTBEAT.md` 구조를 쓰고,  
  OpenClaw는 이미 멀티채널 메시징, 음성통화, 브라우저 자동화, **서브 에이전트**까지 있음  
  Rust로 만든 것 외에 차별점이 있는지 알고 싶음
  - 나를 포함해 많은 사람이 OpenClaw를 무서워함  
    기능이 너무 많고, **보안 아키텍처**가 부실함  
    권한 승인도 형식적이고, 자기 설정을 스스로 바꿀 수 있음  
    그래서 나는 [Wardgate](https://github.com/wardgate/wardgate)로 권한을 분리함  
    여러 노드/에이전트로 나누고, 자격증명과 API 접근을 분리하는 게 필요함
  - 이건 그냥 **바이브 코딩용 정적 사이트 생성기** 같음
  - 작고 Node 기반이 아니라는 점이 장점임  
    모든 사람이 고성능 머신을 가진 건 아니니까

- 왜 LLM 제공자(OpenAI, Anthropic 등)에 연결해야 하는지 궁금함  
  로컬 GPT라면 추론도 로컬에서 해야 하는 거 아닌가?
  - 꼭 외부에 연결할 필요는 없음  
    **Ollama** 같은 로컬 서버를 LLM 제공자로 지정할 수 있음  
    README엔 Anthropic 예시만 있지만, [코드](https://github.com/localgpt-app/localgpt/blob/main/src%2Fagent%2Fproviders.rs#L222) 보면 다른 것도 가능함  
    설정 한 줄만 바꾸면 됨
  - 노력은 좋지만, 이름이 오해를 부름  
    실제로는 로컬도 아니고 GPT도 아님  
    그냥 **OpenClaw의 Rust 버전 클론**에 가까움
  - 로컬이 설정되지 않으면 온라인 제공자로 **자동 폴백**됨  
    관련 코드: [providers.rs L222](https://github.com/localgpt-app/localgpt/blob/main/src%2Fagent%2Fproviders.rs#L222)
  - 꼭 필요하진 않음

- LocalGPT나 OpenClaw 같은 에이전트의 **보안 핵심 문제**는  
  “private data access + external communication + untrusted content”의 **치명적 삼합체**임  
  악성 이메일 하나면 “내 메일함을 공격자에게 전달하라”는 명령을 실행할 수도 있음  
  나는 이를 해결하기 위해 **object-capability 기반 보안 정책**을 연구 중임  
  민감 정보 유출을 원천적으로 막는 정책을 만들고 싶음
  - 이 삼합체 문제는 지금 이 분야의 **가장 시급한 과제**임  
    해결책은 두 가지로 봄  
    1) 모든 외부 전송을 **수동 승인**으로 제한 (OTP 등)  
       하지만 피로도가 높음  
    2) 아예 설계 단계에서 삼합체를 피함 — 예를 들어 외부 통신을 차단한 **2요소형 에이전트**  
    혹시 다른 접근법을 연구 중인지 궁금함

- 나는 OpenClaw를 써봤는데, **관찰 가능성(observability)** 이 부족함  
  지금 이 에이전트가 뭘 생각하고 뭘 하는지, 로그가 전혀 안 보임  
  이런 시스템은 **Elixir/BEAM**으로 짜면 완벽할 것 같음  
  프로세스 트리로 상태를 추적하고, 메시지 박스를 덤프해서 생각 흐름을 볼 수 있음
  - [lemon 프로젝트](https://github.com/z80dev/lemon)가 딱 그런 걸 하는 것 같음
  - GPT나 Claude 같은 모델은 내부 생각을 **일부러 숨김**  
    보여주는 건 일부뿐이고, 실제로는 더 많은 토큰을 소비함
  - 좋은 아이디어임, 직접 만들어보면 좋겠음
  - 나도 관찰성 부족에 동의함  
    기본 기능이어야 할 걸 유튜브 튜토리얼로 해결하라니, 지금은 **혼돈 상태**임

- Linux Mint에서 `cargo install localgpt`가 실패했음  
  `Cargo.toml`에 `"x11"`을 추가하니 빌드 성공함  
  Rust는 잘 모르지만, 이건 **GUI 종속성 문제**였던 듯함
  - 설치 절차는 다음과 같음  
    ```bash
    git clone https://github.com/localgpt-app/localgpt.git  
    cd localgpt/  
    Cargo.toml에 "x11" 추가  
    cargo install --path ~/.cargo/bin
    ```  
    근데 Kai Lentit라는 사람, 혹시 **채용 중**인가?

- 로컬 어시스턴트로 쓸 만한 **로컬 모델**은 어떤 게 있을까?  
  연산 자원과 메모리의 **절충점**을 평가하는 시도가 있는지도 궁금함  
  어느 정도 하드웨어가 있어야 쓸모 있는 수준이 되는지 알고 싶음

- “로컬”이라는 단어가 요즘은 참 이상하게 쓰임  
  대부분의 기능이 결국 **인터넷과 상호작용**하는데도 로컬이라 부름
