MeerAI: 개발자를 위한 오픈소스 로컬 우선 AI CLI
요약
MeerAI는 개발자를 위해 설계된 오픈소스 로컬 우선 AI CLI 도구입니다. 대화형 TUI, 비대화형 실행 모드, 저장소 인식 Q&A 등 다양한 기능을 제공하며, 구조화된 툴박스와 세션 관리 기능을 통해 복잡한 개발 워크플로우를 지원합니다.
핵심 포인트
- 로컬 우선 AI CLI: MeerAI는 로컬 환경에서 작동하는 강력한 AI 인터페이스입니다.
- 다양한 모드 지원: 대화형 TUI, 비대화형 스크립트 실행 등 여러 사용 시나리오에 대응합니다.
- 강력한 툴박스 및 메모리: 60개 이상의 구조화된 도구와 세션/장기 메모리를 통해 개발 과정을 체계적으로 관리합니다.
MeerAI는 독일어 단어 *
| 영역 (Area) | 기능 (Capabilities) |
|---|---|
Chat (meer ) | 스트리밍 응답, 계획 추적(재개 시 복원), 도구 타임라인, diff 미리보기가 있는 대화형 TUI (Text User Interface) |
Headless (meer run , meer --print ) | CI, 스크립트 및 통합을 위한 텍스트 또는 JSON 이벤트 스트리밍이 가능한 비대화형 실행 |
One-shot Q&A (meer ask ) | 선택적 메모리와 슬래시 커맨드 접근이 가능한 저장소(Repo)-인식 답변 |
| 검토 및 커밋 (Reviews & commits) | 관례적인 커밋(conventional-commit) 지원을 하는 meer review, meer commit-msg |
| 도구 상자 (Toolbox) | 읽기/쓰기/편집, git, run_command, 의미론적 검색(semantic_search), scaffold_project, generate_tests, security_scan 등 60개 이상의 구조화된 도구 |
| 슬래시 커맨드 (Slash commands) | 내장 팔레트 (/model , /setup , /history , /plan , …) 및 사용자 정의 명령어 |
| 세션 및 메모리 (Sessions & memory) | 재개 가능한 세션 (--resume , --fork ), 최근 컨텍스트 로딩, 명령별 메모리 제어 |
| MCP 지원 (MCP support) | ~/.meer/mcp.yaml을 통해 모델 컨텍스트 프로토콜(Model Context Protocol) 서버 자동 로드 및 서버 재시작 시 지연 재연결(lazy reconnect) |
npm install -g meerai
**Node.js 20+**가 필요합니다. 선택 사항: 로컬 모델을 위한 Ollama.
meer setup
Ollama, Meer Managed, 또는 다른 원격 제공업체를 선택합니다. 프로필은 ~/.meer/config.yaml에 저장됩니다.
- Meer Managed의 경우,
meer login을 실행하거나MEER_API_KEY를 설정해야 합니다.
meer
meer
- 실시간 도구 타임라인 및 diff 미리보기 제공.
- 편집/명령어 승인은 인라인 오버레이(프로젝트 신뢰 모드에 따름)로 표시됨.
- 슬래시 커맨드 (
/plan,/history,/config,/remember, …)가 인라인으로 사용 가능합니다.?를 누르면 단축키가 표시됩니다. 스크롤 및 복사 기능은 터미널에서 네이티브하게 사용하세요.
# 일반 텍스트, 비대화형 실행 (안전한 작업은 자동 승인)
meer run --yes
meer --resume # 최신 세션 재개 (미완료된 계획 복원)
meer --fork <세션> # 저장된 세션을 새 세션으로 분기
meer memory stats
...
`~/.meer/config.yaml`
profile: managed
profiles:
managed:
...
호출 시 `meer --profile <이름>` (또는 `DEVAI_PROFILE=<이름>`)으로 프로필 전환:
meer --profile ollama-mistral review src
meer --profile openrouter-claude ask "CLI에 대한 테스트 생성"
| 유형 | 위치 | 설명 |
|---|---|---|
| 대화 기록 (Conversations) | `~/.meer/sessions/` | 세션 히스토리 저장 (JSONL) |
| 장기 메모리 (Long-term memory) | `~/.meer/longterm/` | 사실, 선호도, 임베딩 |
| 설정 (Config) | `~/.meer/config.yaml` | 프로바이더 프로필 및 에이전트 기본값 |
| MCP 서버 | `~/.meer/mcp.yaml` | 구성된 모델 컨텍스트 프로토콜(Model Context Protocol) 서버 |
에이전트 스킬(Agent Skills)은 에이전트가 발견하고 `/skills` 또는 `load_skill` 도구를 통해 호출할 수 있는 `SKILL.md` (이름, 설명, 지침) 파일이 포함된 폴더입니다.
meer는 다음 위치에서 스킬을 로드합니다:
- 프로젝트: `./.meer/skills`
- 전역: `~/.meer/skills`
meer는 또한 Claude Code 및 Codex 디렉토리에서도 에이전트 스킬을 로드하므로, 이미 가지고 있는 스킬은 복사할 필요 없이 작동합니다:
- 전역: `~/.claude/skills`, `~/.codex/skills`
- 프로젝트: `./.claude/skills`, `./.codex/skills`
(프로젝트가 신뢰되는 경우에만 로드됨)
meer 자체의 `.meer/skills`는 이름 충돌 시 항상 우선합니다. 상호 운용성(interop) 또는 특정 소스를 `~/.meer/config.yaml`에서 비활성화할 수 있습니다:
skills:
interop:
enabled: true # false로 설정하면 모든 상호 운용성 기능을 끕니다.
...
`/skills`는 각 스킬의 출처를 보여줍니다. 예: `- critique [claude/global]`
meer는 정의된 생명 주기 지점(lifecycle points)에서 자체 셸 명령을 실행할 수 있습니다. 이를 `~/.meer/hooks.yaml` (전역) 또는 `./.meer/hooks.yaml` (프로젝트 — 프로젝트가 신뢰되는 경우에만 로드됨)에 정의합니다. 파일이 없으면 후크도 없습니다.
hooks:
PreToolUse:
- matcher: "edit_file|run_command" # 도구 이름에 대한 정규식; 생략 시 모든 도구 적용
...
이벤트: `SessionStart`, `UserPromptSubmit`, `PreToolUse`, `PostToolUse`
, `Stop`
,
`PreCompact`
. 각 훅은 **stdin**의 JSON 이벤트를 받습니다 (`{
• 행동 강령(Code of Conduct) 및 기여 가이드(Contributing Guide)를 검토하세요.
• 레포지토리(repo)를 포크하고 브랜치를 생성합니다:
`git checkout -b feat/awesome-thing`
. • 제출하기 전에 다음을 실행합니다:
`pnpm run build && pnpm run check && pnpm test`
• 제공된 템플릿으로 PR(Pull Request)을 엽니다.
이슈 템플릿은 `.github/ISSUE_TEMPLATE/` 아래에 있습니다.
보안 정책(Security Policy)에서는 취약점을 책임감 있게 보고하는 방법을 설명합니다.
MeerAI는 MIT 라이선스 하의 오픈소스입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기