LokalBot 업데이트: 로컬 Agent Mode, 미팅 접근(MCP) 기능 추가 및 시스템 전체 받아쓰기 기능 탑재된 노트 빌드
요약
LokalBot Mac 앱이 대규모 업데이트를 거쳐 로컬 에이전트 모드(Agent Mode)와 미팅 접근(MCP) 기능을 추가했습니다. 온디바이스 LLM의 메모리 관리 효율성을 개선하고, 시스템 전체 받아쓰기 및 TTS 기능 등 사용자 경험을 크게 향상시켰습니다.
핵심 포인트
- 로컬 Agent Mode: OpenAI 호환 셔임 기반의 오프라인 코딩 에이전트가 추가되었습니다.
- MCP 서버 도입: Claude Desktop 등 다양한 클라이언트에서 미팅 정보에 접근할 수 있습니다.
- 시스템 전체 받아쓰기: 온디바이스 ASR을 통해 모든 앱 커서에 실시간 전사 기능을 제공합니다.
- 메모리 관리 개선: LLM 추론 시 브로커를 사용해 메모리 누수 문제를 해결했습니다.
2주 전 제가 여기(이전 스레드)에 게시했던 LokalBot Mac 앱은 회의를 녹음하고 요약하며, 모든 앱에서 타이핑을 자동 완성하고 하루 일과를 추적하는 기능을 제공합니다. 이 모든 모델은 온디바이스(on-device)로 구동됩니다. 그 스레드의 피드백을 바탕으로 2주간 수정 및 출시 스프린트를 거쳤기에 업데이트 내용을 공유합니다.
첫째, Apple Developer 계정을 구매하여 v0.2.0 릴리스가 제대로 서명되었습니다. 이제 Gatekeeper 경고는 없습니다. 둘째, 지난번에 제가 경고했던 RAM 급증 문제에 대해 개선했습니다. 모든 내장 추론(inference)은 이제 브로커를 통해 처리됩니다. 세 개의 llama-server 인스턴스(main / embeddings / cotyping)가 임대 관리(lease-managed)되므로, 활동하는 작업이 없으면 짧은 시간 후 언로드되어 RAM을 반환하고, 로드된 모델은 LRU(Least Recently Used) 제거 정책에 따라 거주 예산(residency budget) 하에 유지됩니다. 설정(Settings)에는 현재 무엇이 로드되었고 어떤 임대가 이를 고정하는지 정확하게 보여주는 실시간 리소스 모니터가 있습니다. 유휴 상태에서의 메모리 사용량은 더 이상 '마지막으로 만진 것'을 기반으로 하지 않습니다. 서버들은 실제로 사용되는 동안에만 메모리를 보유합니다.
지난 게시물 이후 추가된 기능: Agent Mode. 로컬 Main LLM에 OpenAI와 호환되는 셔임(shim)을 통해 연결된 임베디드 코딩 에이전트(pi)입니다. 즉, 자체 GGUF에서 실행되는 코딩 에이전트로, 완전히 오프라인으로 작동합니다(--offline, 버전 확인 비활성화). write / edit / bash 호출은 네이티브 승인 카드 뒤에 보호됩니다.
미팅 라이브러리를 위한 MCP 서버. lokalbot-cli mcp는 stdio를 통해 list_meetings / get_meeting / search_meetings / ask_library 명령을 제공하므로, Claude Desktop(원클릭 .mcpb 번들) 또는 모든 MCP 클라이언트가 사용자의 미팅에 대해 질의할 수 있습니다. ask_library는 앱의 로컬 llama-server를 통해 답변하며, 따라서 '다른 앱에서 내 미팅과 채팅하기' 기능도 기기를 벗어나지 않습니다. 기본적으로 비활성화되어 있으며, 명시적인 개인 정보 보호(Privacy) 토글을 통해서만 활성화됩니다.
시스템 전체 받아쓰기. ⌥ Space를 누르고 말한 후 놓으면 온디바이스 ASR이 모든 앱의 커서에 붙여넣어집니다. 음악 재생을 일시 정지하고, 사용자가 말하는 동안 실시간 전사(live transcript)를 보여주며, 이후 오디오는 삭제됩니다.
이전에 선택한 전사 엔진과 언어를 재사용합니다. 라이브 미팅 뷰를 제공하며, 통화가 끝난 후에 모든 것이 도착하는 대신, 실시간 전사(rolling transcript)와 빠른 메모 작성 기능(선택 사항)을 할 수 있습니다. 온디바이스 TTS 기능을 탑재했습니다. Kokoro (sherpa-onnx 이용)는 요약 및 채팅 답변을 음성으로 읽어줍니다. 코타이핑 수정 사항: 단어 중간 완성, Caret가 Chromium/Electron 앱에서 마침내 올바르게 렌더링되며, 문장/구두점 처리 기능이 개선되었습니다. 지루하지만 중요한 업데이트: 모델 다운로드가 이제 재개 가능하고(resumable), SHA 검증 및 디스크/RAM 사전 확인을 거치게 되었습니다. 녹음 복구 기능이 강화되어 미팅 도중 충돌이 발생해도 오디오를 잃지 않도록 했습니다. 채팅 도구 호출은 JSON 스키마 제약 조건을 따르며 답변 시 출처 회의 내용을 인용합니다. 원격 화자의 이름은 '그들(Them)' 대신 캘린더 초대장에서 가져온 이름으로 표시됩니다. UI 재구성: 사이드바가 Capture / Ask / Type으로 축소되었고, 온보딩 과정에서는 마이크만 필요하며, 화면 캡처 및 일일 추적 기능은 이제 진정한 선택 사항입니다. 변경되지 않은 부분: Apple Silicon / macOS 15 이상에서만 작동합니다 (Neural Engine, MLX, Core Audio 프로세스에 고정되어 있어 Linux/NVIDIA는 지원하지 않습니다. 죄송합니다). 기본 설정은 여전히 전사에는 Granite Speech 4.1 (2B) Q4, 요약에는 Qwen 3.6 35B-A3B, 코타이핑에는 Gemma 4 E4B를 사용합니다. 마지막 스레드에서 아무도 저를 설득하지 못했으니, 두 번째 기회를 드립니다. 네트워크 주장에 대한 정확성을 위해 말씀드리자면: 기본적으로 트래픽은 일회성 모델/런타임 다운로드(GGUF의 경우 Hugging Face, 핀된 llama.cpp / sherpa-onnx 바이너리의 경우 GitHub, 에이전트 모드를 활성화할 경우 Bun)에 한정됩니다. 그 이후로는 완전히 오프라인이며 모든 서버는 localhost 전용입니다. 미팅 중 Little Snitch를 사용하면 역대 가장 평평한 네트워크 그래프를 볼 수 있을 것입니다. GitHub (GPLv3): https://github.com/stevyhacker/lokalbot 랜딩 페이지: https://lokalbot.com 제가 바라는 점은 다음과 같습니다: 키스트로크 지연 시간에도 충분히 빠르고, Tab을 누를 가치가 있을 만큼 똑똑한 더 나은 소형 코타이핑 모델입니다. 그리고 만약 자체 에이전트 구성을 MCP 서버에 연결하신다면, 어떤 도구들이 부족한지 듣고 싶습니다. 제출자 /u/stevyhacker [링크] [댓글]
AI 자동 생성 콘텐츠
본 콘텐츠는 r/LocalLLaMA의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기