콘텐츠로 이동

환경 변수

memtomem(LTM)과 memtomem-stm(STM)은 모두 pydantic-settings를 사용합니다. 환경 변수 이름은 env_prefix 뒤에 필드명을 붙이며, 중첩된 필드는 env_nested_delimiter="__"에 따라 밑줄 두 개로 구분합니다. 예를 들어 MEMTOMEM_EMBEDDING__PROVIDER는 유효하지만 MEMTOMEM_EMBEDDING_PROVIDER는 유효하지 않습니다.

값이 겹치면 CLI 옵션, 환경 변수, 설정 파일, 내장 기본값 순으로 앞의 값을 우선합니다.

이 레퍼런스는 memtomem 0.3.12와 memtomem-stm 0.1.41이 지원하는 설정을 빠짐없이 문서화합니다. 추천 항목만 추린 목록이 아니며, upstream이 제공하는 모든 옵션을 그대로 유지합니다.

변수설명기본값
MEMTOMEM_STORAGE__BACKEND저장 방식sqlite
MEMTOMEM_STORAGE__SQLITE_PATHSQLite 데이터베이스 파일 경로~/.memtomem/memtomem.db
MEMTOMEM_STORAGE__COLLECTION_NAME논리 컬렉션 이름memories

변수설명기본값
MEMTOMEM_EMBEDDING__PROVIDERnone / onnx / ollama / openainone (mm init 실행 전까지 키워드 검색만 사용)
MEMTOMEM_EMBEDDING__MODEL선택한 제공자의 모델명""
MEMTOMEM_EMBEDDING__DIMENSION벡터 차원 수. 모델과 일치해야 함제공자별로 다름
MEMTOMEM_EMBEDDING__BASE_URLOllama / OpenAI 호환 엔드포인트
MEMTOMEM_EMBEDDING__API_KEY유료 제공자의 API 키
MEMTOMEM_EMBEDDING__BATCH_SIZE임베딩 배치당 텍스트 수64
MEMTOMEM_EMBEDDING__ONNX_BATCH_SIZE로컬 FastEmbed/ONNX 추론에서 한 번에 처리할 텍스트 수. 실행 중에도 변경 가능8
MEMTOMEM_EMBEDDING__MAX_SEQUENCE_TOKENS로컬 ONNX 입력의 실제 토큰 상한. 0이면 모델 상한을 사용합니다. 변경 후 재시작하고 기존 콘텐츠를 강제 재인덱싱해야 합니다.1024
MEMTOMEM_EMBEDDING__ONNX_CPU_MEM_ARENAONNX CPU 할당을 재사용합니다. 재시작은 필요하지만 할당자 설정이므로 재인덱싱은 필요하지 않습니다.false
MEMTOMEM_EMBEDDING__MAX_CONCURRENT_BATCHES병렬 임베딩 배치 상한4
MEMTOMEM_EMBEDDING__THREADSONNX Runtime 스레드 상한 (0 = ORT 기본값)4
MEMTOMEM_EMBEDDING__PROGRESS_THRESHOLD한 파일이 이 값보다 많은 청크를 만들 때만 청크별 진행 이벤트를 보냄. 0은 항상 보냄32

변수설명기본값
MEMTOMEM_INDEXING__MEMORY_DIRS장기 실행 중인 memtomem-server가 파일 변경을 감지해 다시 색인할 디렉터리(JSON 목록). 기존 파일은 자동으로 훑지 않으므로 mm index <dir>로 처음 한 번 색인한 뒤 감시 기능에 맡기세요. mm init에서 AI 에이전트 기억 등록을 선택하면 이 경로가 채워집니다.["~/.memtomem/memories"] + 선택한 제공자 폴더
MEMTOMEM_INDEXING__PROJECT_MEMORY_DIRS.memtomem/memories 또는 .memtomem/memories.local 아래에 있는 프로젝트 계층 기억의 루트[]
MEMTOMEM_INDEXING__SUPPORTED_EXTENSIONS인덱싱 대상 파일 확장자 (JSON 리스트)[".md", ".json", ".yaml", ".yml", ".toml", ".py", ".js", ".ts", ".tsx", ".jsx"]
MEMTOMEM_INDEXING__MAX_CHUNK_TOKENS청크당 최대 토큰 수512
MEMTOMEM_INDEXING__MIN_CHUNK_TOKENS짧은 청크 병합 임계값128
MEMTOMEM_INDEXING__AUTO_DISCOVER폐기 예정인 일회성 이전 기능. 기존 설정의 제공자 디렉터리를 명시적인 memory_dirs로 바꿔 저장한 뒤 이 값을 false로 변경합니다. 새 설치에서는 실행하지 않으며 새 설정에는 mm init --include-provider ...를 사용합니다.true 호환 기본값
MEMTOMEM_INDEXING__EXCLUDE_PATTERNS기본 자격 증명 제외 목록(oauth_creds.json, credentials*, id_rsa*, *.pem, *.key, .ssh/** 등)에 추가할 .gitignore 형식의 패턴(JSON 목록). 사용자 !negation으로 기본 패턴을 해제할 수 없음[]
MEMTOMEM_INDEXING__TARGET_CHUNK_TOKENS짧은 형제 섹션을 결합할 때의 목표 토큰 수. 0 설정 시 결합 단계 비활성화.384
MEMTOMEM_INDEXING__CHUNK_OVERLAP_TOKENS인접 청크 간 토큰 오버랩0
MEMTOMEM_INDEXING__STRUCTURED_CHUNK_MODEJSON/YAML/TOML 청킹 모드: original 또는 recursiveoriginal
MEMTOMEM_INDEXING__PARAGRAPH_SPLIT_THRESHOLD긴 산문을 문단 단위로 나누는 토큰 임계값800
MEMTOMEM_INDEXING__STARTUP_BACKFILL서버 시작 시 memory_dirs를 한 번 스캔해 서버가 꺼져 있던 동안 추가된 파일을 반영false
MEMTOMEM_INDEXING__AUTO_SUMMARIZELLM 설정 시 소스별 AI 요약 생성false
MEMTOMEM_INDEXING__SUMMARY_LANGUAGEAI 소스 요약 출력 언어en
MEMTOMEM_INDEXING__SUMMARY_MAX_INPUT_CHARS요약 LLM에 전달하는 소스 문자 상한3000
MEMTOMEM_INDEXING__SUMMARY_MAX_TOKENS요약 출력 토큰 상한256

파일 경로 패턴을 네임스페이스에 연결하는 규칙입니다. 색인할 때 네임스페이스를 자동으로 정하므로 mem_index를 호출할 때마다 namespace=를 지정할 필요가 없습니다.

변수설명기본값
MEMTOMEM_NAMESPACE__RULES{path_glob, namespace} 객체로 구성된 JSON 리스트. pathspec.GitIgnoreSpec 패턴, 대소문자 구분 없음. {parent}{ancestor:N} 플레이스홀더는 일치한 파일 경로에서 치환됨. 해석 순서: 명시적 namespace= 인자 → 규칙(최초 매칭) → enable_auto_nsdefault_namespace.[]
MEMTOMEM_NAMESPACE__DEFAULT_NAMESPACE새 청크의 기본 네임스페이스default
MEMTOMEM_NAMESPACE__ENABLE_AUTO_NS명시 네임스페이스나 규칙이 없을 때 파일의 직계 부모 폴더명으로 네임스페이스 유도false

예시 (config.d/namespace.json, APPEND 병합):

{"namespace": {"rules": [
{"path_glob": "docs/**", "namespace": "docs"},
{"path_glob": "projects/{parent}/**", "namespace": "proj/{parent}"}
]}}

크로스 인코더 재순위는 기본적으로 로컬에서 동작하므로 외부 API를 호출하지 않습니다.

변수설명기본값
MEMTOMEM_RERANK__ENABLED하이브리드 검색 결과 재순위 활성화false
MEMTOMEM_RERANK__PROVIDERfastembed (로컬 ONNX) / cohere (외부 API)fastembed
MEMTOMEM_RERANK__MODEL모델명. 비영어 콘텐츠에는 jinaai/jina-reranker-v2-base-multilingual 권장.Xenova/ms-marco-MiniLM-L-6-v2
MEMTOMEM_RERANK__API_KEYprovider=cohere일 때만 필요
MEMTOMEM_RERANK__OVERSAMPLEresponse_top_k 대비 풀 배수. 풀 크기 = max(min_pool, min(max_pool, int(oversample * response_top_k))).2.0
MEMTOMEM_RERANK__MIN_POOL하한선 — 리랭커가 받는 후보 수의 최솟값20
MEMTOMEM_RERANK__MAX_POOL상한선 — 큰 top_k에서 비용 폭주 방지200
MEMTOMEM_RERANK__TOP_K폐기 예정인 이전 후보군 크기. 지정하면 min_pool로 이전20

변수설명기본값
MEMTOMEM_SEARCH__DEFAULT_TOP_K기본 검색 결과 수10
MEMTOMEM_SEARCH__BM25_CANDIDATESBM25 후보군 크기50
MEMTOMEM_SEARCH__DENSE_CANDIDATES벡터 검색 후보군 크기50
MEMTOMEM_SEARCH__RRF_KReciprocal Rank Fusion 상수60
MEMTOMEM_SEARCH__ENABLE_BM25키워드 검색 활성화true
MEMTOMEM_SEARCH__ENABLE_DENSE의미 벡터 검색 활성화true
MEMTOMEM_SEARCH__RRF_WEIGHTS[BM25, Dense] RRF 가중치 (JSON 리스트, REPLACE 병합)[1.0, 1.0]
MEMTOMEM_SEARCH__TOKENIZERFTS 토크나이저: unicode61 또는 kiwipiepyunicode61
MEMTOMEM_SEARCH__CACHE_TTL검색 결과 캐시 TTL(초)30.0
MEMTOMEM_SEARCH__SYSTEM_NAMESPACE_PREFIXES기본 namespace=None 검색에서 숨길 네임스페이스 접두사 (JSON 리스트, APPEND 병합)["archive:", "agent-runtime:"]

반감기 기반 시간 감쇠 가중. 인덱싱된 지 오래된 청크의 검색 점수를 점진적으로 낮춥니다.

변수설명기본값
MEMTOMEM_DECAY__ENABLED시간 감쇠 가중 활성화false
MEMTOMEM_DECAY__HALF_LIFE_DAYS반감기 (일). 이 기간이 지나면 기여도가 절반으로30.0

Maximal Marginal Relevance 재순위. 상위 결과 간 중복을 줄이고 서로 다른 관점을 섞습니다.

변수설명기본값
MEMTOMEM_MMR__ENABLEDMMR 다양성 재순위 활성화false
MEMTOMEM_MMR__LAMBDA_PARAM0.0–1.0. 0.0=다양성 최대, 1.0=관련성 최대0.7

자주 조회된 청크를 상위로 밀어 올리는 빈도 기반 배수.

변수설명기본값
MEMTOMEM_ACCESS__ENABLED접근 빈도 기반 가중 활성화false
MEMTOMEM_ACCESS__MAX_BOOST점수 배수 상한 (>= 1.0)1.5

청크 메타데이터(태그 · 크기 · 위치 등)에서 파생된 중요도 점수를 검색 점수에 배수로 적용합니다.

변수설명기본값
MEMTOMEM_IMPORTANCE__ENABLED중요도 가중 활성화false
MEMTOMEM_IMPORTANCE__MAX_BOOST점수 배수 상한 (>= 1.0)1.5
MEMTOMEM_IMPORTANCE__WEIGHTS중요도 피처 가중치 벡터 (JSON 리스트, REPLACE 병합)[0.3, 0.2, 0.3, 0.2]

원래 검색어에 태그, 제목, LLM이 만든 용어를 더해 관련 결과를 놓칠 가능성을 줄입니다. strategy=llm은 아래 LLM 설정을 사용합니다.

변수설명기본값
MEMTOMEM_QUERY_EXPANSION__ENABLED검색어 확장 활성화false
MEMTOMEM_QUERY_EXPANSION__MAX_TERMS추가 용어 최대 개수3
MEMTOMEM_QUERY_EXPANSION__STRATEGYtags / headings / both / llmtags

검색 결과 주변의 인접 청크를 앞뒤로 N개씩 함께 반환합니다. 여러 청크로 나뉜 맥락을 이어서 볼 때 유용합니다.

변수설명기본값
MEMTOMEM_CONTEXT_WINDOW__ENABLED컨텍스트 윈도우 확장 활성화false
MEMTOMEM_CONTEXT_WINDOW__WINDOW_SIZE검색 결과 하나당 앞뒤로 가져올 인접 청크 수 N(010)2

query_expansion.strategy=llm, 기억 통합 요약 등 LLM 기반 기능이 함께 사용하는 설정입니다.

변수설명기본값
MEMTOMEM_LLM__ENABLEDLLM 기반 기능 활성화false
MEMTOMEM_LLM__PROVIDERollama / openai / anthropic / 호환 엔드포인트ollama
MEMTOMEM_LLM__MODEL모델명. 빈 문자열이면 제공자별 기본값 사용""
MEMTOMEM_LLM__BASE_URL엔드포인트 URLhttp://localhost:11434
MEMTOMEM_LLM__API_KEY유료 제공자의 API 키
MEMTOMEM_LLM__MAX_TOKENS생성 토큰 상한1024
MEMTOMEM_LLM__TIMEOUT요청 타임아웃 (초)60.0

변수설명기본값
MEMTOMEM_TOOL_MODEcore(mem_do 라우터 포함 9개) / standard(mem_do 포함 38개) / full(현재 도구 99개 + 폐기 예정 별칭 1개)core
변수설명기본값
MEMTOMEM_WEB__MODEprod(Settings의 Namespaces를 포함한 표준 Simple/Advanced 화면) / dev(Sessions · Search Runs · Quality Lab · Working Memory · Procedures · Health Report · Redaction 유지관리 화면도 표시). 실행할 때 mm web --mode 또는 mm web --dev로 덮어쓸 수 있음prod
MEMTOMEM_WEB__HOSTmm web이 수신 대기할 주소. --host가 덮어씀127.0.0.1
MEMTOMEM_WEB__PORTmm web이 수신 대기할 포트. --port가 덮어씀8080
MEMTOMEM_WEB__CSRF_ENFORCEWeb UI 변경 엔드포인트의 CSRF 보호를 강제합니다. 비활성화는 긴급 롤백에만 사용합니다.true

변수설명기본값
MEMTOMEM_POLICY__ENABLEDPolicyScheduler 실행 (auto_archive / auto_promote / auto_expire / auto_tag)false
MEMTOMEM_POLICY__SCHEDULER_INTERVAL_MINUTES스케줄러 주기60.0
MEMTOMEM_POLICY__MAX_ACTIONS_PER_RUN예약된 정책을 한 번 실행할 때 처리할 작업 수 상한100
MEMTOMEM_WEBHOOK__ENABLED기억 이벤트용 외부 웹훅 활성화false
MEMTOMEM_WEBHOOK__URL웹훅을 보낼 URL
MEMTOMEM_WEBHOOK__EVENTS전송 이벤트 유형 (JSON 리스트, APPEND 병합)["add", "delete", "search"]
MEMTOMEM_WEBHOOK__SECRETHMAC 서명에 사용할 비밀값
MEMTOMEM_WEBHOOK__TIMEOUT_SECONDSHTTP 제한 시간10.0

중복되거나 비슷한 기억을 주기적으로 묶어 보관용 요약으로 압축하는 백그라운드 작업입니다.

변수설명기본값
MEMTOMEM_CONSOLIDATION_SCHEDULE__ENABLED스케줄 실행 활성화false
MEMTOMEM_CONSOLIDATION_SCHEDULE__INTERVAL_HOURS실행 주기 (시간)24.0
MEMTOMEM_CONSOLIDATION_SCHEDULE__MIN_GROUP_SIZE통합 대상 최소 그룹 크기3
MEMTOMEM_CONSOLIDATION_SCHEDULE__MAX_GROUPS1회 실행당 처리 그룹 상한10

변수설명기본값
MEMTOMEM_WARMUP__ENABLEDMCP 서버를 시작할 때 로컬 임베딩·재순위 모델을 백그라운드에서 미리 불러옴. 원격 제공자는 제외false

상태 확인, 연결이 끊긴 레코드 정리, 자동 유지보수를 주기적으로 수행하는 백그라운드 작업입니다.

변수설명기본값
MEMTOMEM_HEALTH_WATCHDOG__ENABLED상태 모니터 실행false
MEMTOMEM_HEALTH_WATCHDOG__HEARTBEAT_INTERVAL_SECONDS하트비트 주기60.0
MEMTOMEM_HEALTH_WATCHDOG__DIAGNOSTIC_INTERVAL_SECONDS진단 주기300.0
MEMTOMEM_HEALTH_WATCHDOG__DEEP_INTERVAL_SECONDS정밀 검사 주기3600.0
MEMTOMEM_HEALTH_WATCHDOG__MAX_SNAPSHOTS보관 스냅샷 수 상한1000
MEMTOMEM_HEALTH_WATCHDOG__ORPHAN_CLEANUP_THRESHOLD고아 레코드 정리 임계치10
MEMTOMEM_HEALTH_WATCHDOG__AUTO_MAINTENANCE자동 유지보수 수행true

변수설명기본값
MEMTOMEM_SCHEDULER__ENABLED등록한 유지보수 작업의 cron 실행 활성화false
MEMTOMEM_SCHEDULER__MAX_CONCURRENT_JOBS동시에 실행할 예약 작업 수 상한1
MEMTOMEM_SCHEDULER__DEFAULT_TIMEZONE작업 일정의 시간대. Phase A에서는 utc만 적용utc
MEMTOMEM_SCHEDULER__RUNNER_TIMEOUT_SECONDS예약 작업 한 번의 제한 시간300.0

변수설명기본값
MEMTOMEM_SESSION_SUMMARY__AUTO충분한 청크가 추가된 상태에서 mem_session_end 호출 시 LLM 요약 자동 생성true
MEMTOMEM_SESSION_SUMMARY__MIN_CHUNKS자동 요약 실행 최소 청크 수5
MEMTOMEM_SESSION_SUMMARY__MAX_SUMMARY_TOKENS요약 출력 토큰 상한500
MEMTOMEM_SESSION_SUMMARY__MAX_INPUT_CHARS조립된 입력이 이 크기를 넘으면 자동 요약 생략60000
MEMTOMEM_SESSION_SUMMARY__MAX_SUMMARY_LINKS요약 청크에서 원본 청크로 쓰는 링크 상한50
MEMTOMEM_SESSION_SUMMARY__EXPANSION_LOOKUP_TOP_K검색 결과를 보완할 때 확인할 세션 요약 청크 수3
MEMTOMEM_SESSION_SUMMARY__EXPANSION_SCORE_THRESHOLD결과 보완에 필요한 최소 요약 점수0.3
MEMTOMEM_SESSION_SUMMARY__EXPANSION_RESCUE_WEIGHT세션 요약을 통해 추가한 원본 파일 결과의 RRF 입력 가중치0.5

세션 명령 실행 기록을 JSONL 파일에 남기고, 선택에 따라 Langfuse에도 보냅니다. 기본값은 비활성화입니다. payload_mode의 기본값인 metadata는 본문을 기록하지 않습니다. redacted는 비밀값을 가린 본문, full은 전체 본문을 기록합니다.

변수설명기본값
MEMTOMEM_SESSION_TRACE__ENABLED세션 실행 추적 활성화false
MEMTOMEM_SESSION_TRACE__JSONL_ENABLEDJSONL 파일 기록true
MEMTOMEM_SESSION_TRACE__JSONL_PATHJSONL 출력 파일 경로~/.memtomem/traces/session-traces.jsonl
MEMTOMEM_SESSION_TRACE__LANGFUSE_ENABLED실행 기록을 Langfuse로 전송false
MEMTOMEM_SESSION_TRACE__LANGFUSE_PUBLIC_KEYLangfuse public key""
MEMTOMEM_SESSION_TRACE__LANGFUSE_SECRET_KEYLangfuse secret key""
MEMTOMEM_SESSION_TRACE__LANGFUSE_HOSTLangfuse 호스트 URL""
MEMTOMEM_SESSION_TRACE__SAMPLING_RATE0.0–1.0. 기록할 세션 비율1.0
MEMTOMEM_SESSION_TRACE__PAYLOAD_MODEmetadata(본문 미기록) / redacted(비밀값을 가린 본문) / full(전체 본문)metadata
MEMTOMEM_SESSION_TRACE__MAX_PAYLOAD_CHARS실행 기록에 남길 본문 문자 수 상한10000

langfuse_enabled=true로 설정하려면 langfuse 추가 패키지가 설치되어 있고 공개 키와 비밀 키를 모두 지정해야 합니다. 조건을 충족하지 않으면 시작할 때 설정 검증에 실패합니다.

변수설명기본값
MEMTOMEM_LOG_LEVELDEBUG / INFO / WARNING / ERRORINFO
MEMTOMEM_LOG_FORMAT로그 형식

변수설명기본값
MEMTOMEM_HOOKS__TARGET_SCOPEmemtomem이 관리하는 Claude Code 설정 훅의 적용 범위: user, project_shared, project_localuser
MEMTOMEM_CONTEXT_GATEWAY__KNOWN_PROJECTS_PATHContext Gateway용 Web UI 프로젝트 레지스트리~/.memtomem/known_projects.json
MEMTOMEM_CONTEXT_GATEWAY__EXPERIMENTAL_CLAUDE_PROJECTS_SCAN~/.claude/projects/<encoded> 디렉터리명을 프로젝트 루트로 복원해 스캔(검증되지 않은 후보까지 포함)false
MEMTOMEM_CONTEXT_GATEWAY__AUTO_DISPLAY_CONFIGURED_PROJECTS탐색 후보 중 알려진 실행 환경 표시 파일(.claude/.gemini/.codex/.agents/.kimi/.memtomem)이 있는 프로젝트만 자동 표시true

User 계층에 쓰려면 클라이언트에서 명시적으로 확인해야 합니다. USER_TIER_ENABLED 설정 필드는 없습니다.

다음 프로세스 수준 변수는 계층형 config.json / config.d 모델에 포함되지 않습니다.

변수설명기본값
MEMTOMEM_WIKI_PATH위키 저장소 위치 재정의~/.memtomem-wiki
MEMTOMEM_FASTEMBED_CACHEONNX / FastEmbed 모델 캐시 재정의플랫폼 캐시 디렉터리
MEMTOMEM_INDEX_DEBOUNCE_QUEUE짧은 시간에 연속으로 생긴 파일 변경을 모아 두는 큐 파일 경로 재정의상태 디렉터리

제공자GPU비용비고
onnx불필요무료fastembed 기반 내장. 최초 실행 시 약 270MB 다운로드
ollama불필요무료Ollama 설치 필요. ollama pull nomic-embed-text
openai불필요유료API 키 필요

원문 전체 목록: upstream 저장소의 configuration.md를 참고하세요.

STM (memtomem-stm) — 접두사 MEMTOMEM_STM_

섹션 제목: “STM (memtomem-stm) — 접두사 MEMTOMEM_STM_”

STM 설정은 최상위 필드와 PROXY__*, SURFACING__*, FORMATION__*, HOOK__*, DAEMON__*, LANGFUSE__*로 나뉩니다. 압축, 캐시, 지표, 자동 색인, 추출 설정은 모두 PROXY__ 아래에 있습니다.

~/.memtomem/stm_proxy.jsonProxyConfig만 읽습니다. 최상위, 관련 기억 제시, 기억 형성, 훅, 데몬, Langfuse 설정은 환경 변수나 기본값으로만 지정할 수 있습니다. 이 블록을 JSON 파일에 넣어도 적용되지 않습니다. 문서화된 예외는 proxy.consumer_model이 관련 기억의 예산 계산에도 전달되는 동작뿐입니다.

변수설명기본값
MEMTOMEM_STM_DATA_DIR데몬 연결 정보, 소유권 잠금, 백그라운드 실행 로그를 저장할 디렉터리~/.memtomem
MEMTOMEM_STM_LOG_LEVEL로그 레벨WARNING
MEMTOMEM_STM_LOG_FILE선택적 회전 로그 파일. 0600 권한, 2 MiB 회전, 백업 3개 사용미설정
MEMTOMEM_STM_ADVERTISE_OBSERVABILITY_TOOLStrue이면 관찰·관리 도구 8개(stm_proxy_stats, stm_proxy_health, stm_proxy_cache_clear, stm_surfacing_stats, stm_selection_stats, stm_compression_stats, stm_progressive_stats, stm_tuning_recommendations)를 표시. false여도 모델용 도구 4개는 계속 표시false
MEMTOMEM_STM_FORMATION__ENABLED선택형 stm_memory_propose 도구 표시. 표시 여부는 이 값만으로 결정하며, 연결한 LTM이 검토 후 저장 방식을 지원하는지는 호출할 때 확인. 지원하지 않으면 formation_unsupported 반환false
MEMTOMEM_STM_FORMATION__MAX_CONTENT_CHARS검토 후 저장할 후보 내용의 최대 길이. 넘으면 제안을 거부2000

변수설명기본값
MEMTOMEM_STM_PROXY__ENABLED프록시 처리 전체를 켜거나 끄는 설정false
MEMTOMEM_STM_PROXY__CONFIG_PATH프록시 JSON 설정 경로~/.memtomem/stm_proxy.json
MEMTOMEM_STM_PROXY__UPSTREAM_SERVERS연결할 모든 서버의 맵(JSON 객체). 보통은 설정 파일에서 관리하는 편이 쉬움{}
MEMTOMEM_STM_PROXY__DEFAULT_COMPRESSION기본 압축 전략auto
MEMTOMEM_STM_PROXY__DEFAULT_MAX_RESULT_CHARS응답당 문자 예산16000
MEMTOMEM_STM_PROXY__MAX_UPSTREAM_CHARS메모리 부족을 막기 위한 연결 서버 응답 크기 상한10000000
MEMTOMEM_STM_PROXY__MIN_RESULT_RETENTION보존 하한 (0.0–1.0)0.65
MEMTOMEM_STM_PROXY__MAX_DESCRIPTION_CHARS에이전트에 표시할 도구 설명의 최대 길이200
MEMTOMEM_STM_PROXY__STRIP_SCHEMA_DESCRIPTIONS표시하는 도구에서 중첩된 JSON 스키마의 설명 제거false
MEMTOMEM_STM_PROXY__ADVERTISE_CONTEXT_QUERY관련성 점수 계산에 쓰는 선택형 _context_query 인자를 도구 스키마에 표시false
MEMTOMEM_STM_PROXY__CONSUMER_MODEL컨텍스트 윈도우 예산 계산에 쓰는 클라이언트 모델 식별자""
MEMTOMEM_STM_PROXY__CONTEXT_BUDGET_RATIO프록시 결과에 허용할 수신 모델 컨텍스트 크기의 비율0.05
MEMTOMEM_STM_PROXY__CHARS_PER_TOKEN토큰 예산용 정적 문자/토큰 추정치3.5
MEMTOMEM_STM_PROXY__TOKEN_ESTIMATION_MODE토큰 추정 모드: static 또는 유니코드 인식 unicodestatic

변수설명기본값
MEMTOMEM_STM_PROXY__CACHE__ENABLED응답 캐싱 활성화true
MEMTOMEM_STM_PROXY__CACHE__DEFAULT_TTL_SECONDS캐시 TTL3600
MEMTOMEM_STM_PROXY__CACHE__DB_PATH캐시 DB 경로~/.memtomem/proxy_cache.db
MEMTOMEM_STM_PROXY__CACHE__MAX_ENTRIES캐시 엔트리 상한10000
MEMTOMEM_STM_PROXY__CACHE__TOOL_ANNOTATION_POLICYMCP 도구 주석을 반영하는 캐시 정책: conservative, strict, ignoreconservative

캐시 스키마 4는 structuredContent_meta를 포함한 표준 MCP 응답 형식을 저장합니다. 호환되지 않는 이전 스키마를 발견하면 서로 다른 형식의 응답을 섞지 않고, 문서화된 일회성 캐시 초기화를 수행합니다.

변수설명기본값
MEMTOMEM_STM_PROXY__AUTO_INDEX__ENABLED도구 응답을 LTM에 색인false
MEMTOMEM_STM_PROXY__AUTO_INDEX__BACKGROUND요청 처리가 끝난 뒤 백그라운드에서 색인false
MEMTOMEM_STM_PROXY__AUTO_INDEX__MIN_CHARS색인할 응답의 최소 크기2000
MEMTOMEM_STM_PROXY__AUTO_INDEX__MEMORY_DIR출력 디렉터리~/.memtomem/proxy_index
MEMTOMEM_STM_PROXY__AUTO_INDEX__NAMESPACE자동 인덱싱 기억의 네임스페이스proxy-{server}

기본 mms 서버는 설계상 LTM에서 읽기만 하고 다시 쓰지 않습니다. 따라서 auto_indexextraction 필드는 유효한 설정으로 받아들이지만 실제 동작에는 영향을 주지 않습니다.

변수설명기본값
MEMTOMEM_STM_PROXY__EXTRACTION__ENABLED4b단계 EXTRACT(사실 추출)false
MEMTOMEM_STM_PROXY__EXTRACTION__STRATEGY추출 전략: none, llm, heuristic, hybridllm
MEMTOMEM_STM_PROXY__EXTRACTION__LLM__PROVIDER추출 LLM 제공자: openai, anthropic, ollamaopenai
MEMTOMEM_STM_PROXY__EXTRACTION__LLM__MODEL추출 LLM 모델gpt-4.1-mini
MEMTOMEM_STM_PROXY__EXTRACTION__LLM__API_KEY추출 LLM API 키""
MEMTOMEM_STM_PROXY__EXTRACTION__LLM__BASE_URL추출 LLM 엔드포인트 재정의""
MEMTOMEM_STM_PROXY__EXTRACTION__LLM__SYSTEM_PROMPT정보 추출용 시스템 프롬프트 템플릿내장 템플릿
MEMTOMEM_STM_PROXY__EXTRACTION__LLM__MAX_TOKENS추출 LLM 출력 토큰 상한500
MEMTOMEM_STM_PROXY__EXTRACTION__LLM__LLM_TIMEOUT_SECONDS추출 LLM의 제한 시간60.0
MEMTOMEM_STM_PROXY__EXTRACTION__LLM__PRIVACY_SCAN_ENABLED원격 추출 LLM 전송 전 콘텐츠 검사true
MEMTOMEM_STM_PROXY__EXTRACTION__MAX_FACTS응답당 추출 사실 수 상한10
MEMTOMEM_STM_PROXY__EXTRACTION__MIN_RESPONSE_CHARS추출 대상 최소 응답 길이500
MEMTOMEM_STM_PROXY__EXTRACTION__DEDUP_THRESHOLD추출 사실 유사도 임계값0.92
MEMTOMEM_STM_PROXY__EXTRACTION__MEMORY_DIR추출 사실 출력 디렉터리~/.memtomem/extracted_facts
MEMTOMEM_STM_PROXY__EXTRACTION__NAMESPACE추출 사실 네임스페이스 템플릿facts-{server}
MEMTOMEM_STM_PROXY__EXTRACTION__BACKGROUND요청 경로 밖에서 추출 실행true
MEMTOMEM_STM_PROXY__EXTRACTION__MAX_INPUT_CHARS추출에 사용하는 응답 텍스트 상한20000

프록시 → 지표·피드백·관련성 점수

섹션 제목: “프록시 → 지표·피드백·관련성 점수”
변수설명기본값
MEMTOMEM_STM_PROXY__METRICS__ENABLED호출 메트릭 기록true
MEMTOMEM_STM_PROXY__METRICS__DB_PATH프록시 메트릭 SQLite 경로~/.memtomem/proxy_metrics.db
MEMTOMEM_STM_PROXY__METRICS__MAX_HISTORY메트릭 행 보관 상한10000
MEMTOMEM_STM_PROXY__RELEVANCE_SCORER__SCORER점수 계산 방식
MEMTOMEM_STM_PROXY__RELEVANCE_SCORER__EMBEDDING_PROVIDER의미 기반 관련성 점수에 사용할 임베딩 제공자ollama
MEMTOMEM_STM_PROXY__RELEVANCE_SCORER__EMBEDDING_MODEL관련성 임베딩 모델nomic-embed-text
MEMTOMEM_STM_PROXY__RELEVANCE_SCORER__EMBEDDING_BASE_URL관련성 임베딩 엔드포인트미설정
MEMTOMEM_STM_PROXY__RELEVANCE_SCORER__EMBEDDING_TIMEOUT관련성 임베딩 요청 제한 시간10.0
MEMTOMEM_STM_PROXY__COMPRESSION_FEEDBACK__ENABLEDstm_compression_feedback 기록true
MEMTOMEM_STM_PROXY__COMPRESSION_FEEDBACK__DB_PATH압축 피드백 SQLite 경로~/.memtomem/stm_feedback.db
MEMTOMEM_STM_PROXY__COMPRESSION_FEEDBACK__RETENTION_DAYS압축 피드백 보존 일수90
MEMTOMEM_STM_PROXY__PROGRESSIVE_READS__ENABLED점진적 전달의 읽기 기록 활성화. stm_progressive_stats에서 확인true
MEMTOMEM_STM_PROXY__PROGRESSIVE_READS__DB_PATH점진적 읽기 기록을 저장할 SQLite 경로~/.memtomem/stm_feedback.db
MEMTOMEM_STM_PROXY__PROGRESSIVE_READS__RETENTION_DAYS점진적 읽기 기록 보존 일수90
MEMTOMEM_STM_PROXY__LOCK_TIMEOUT_SECONDS내부 잠금을 기다릴 최대 시간. 넘으면 연결 서버가 느린 것이 아니라 교착 상태이거나 잠금 소유자가 멈춘 것으로 처리30.0

연결한 서버의 도구 가운데 에이전트에 표시할 항목을 정하는 STM 자체 필터입니다. 실패가 잦거나, 설명에 자격 증명으로 보이는 문자열이 있거나, 이름이 겹치는 도구를 제외합니다. 상태는 프록시를 시작할 때 한 번 평가하므로 세션 중에는 표시되는 도구 목록이 바뀌지 않습니다.

변수설명기본값
MEMTOMEM_STM_PROXY__EXPOSURE__PROFILEstrict(규칙에 걸리면 제외) / review(제외하지 않고 순위만 낮춘 뒤 기록) / explore(규칙 비활성화)strict
MEMTOMEM_STM_PROXY__EXPOSURE__HEALTH_WINDOW_HOURS도구별 건강도 판정에 사용하는 메트릭 조회 윈도우(시간)24.0
MEMTOMEM_STM_PROXY__EXPOSURE__HEALTH_MIN_CALLS건강도를 판정하기 위한 윈도우 내 최소 호출 수. 미만이면 건강한 것으로 간주5
MEMTOMEM_STM_PROXY__EXPOSURE__HEALTH_ERROR_RATE_THRESHOLD연결 서버에서 발생한 오류율이 이 값 이상이면 도구를 비정상으로 표시0.95
MEMTOMEM_STM_PROXY__EXPOSURE__REVIEW_RISK_PENALTYreview 프로필에서 규칙에 걸린 도구의 순위를 낮추는 배수0.5

프록시 → 선택 기록·도구 관련성

섹션 제목: “프록시 → 선택 기록·도구 관련성”

프록시를 호출할 때마다 선택·실행 기록을 JSONL로 남기고, 에이전트에 표시한 도구를 호출 신호와의 BM25 관련성 순으로 계산합니다. 이 순위는 기록에만 남으며 실제 도구 목록은 바꾸지 않습니다.

변수설명기본값
MEMTOMEM_STM_PROXY__SELECTION_TELEMETRY__ENABLED호출별 선택·실행 JSONL 기록 활성화false
MEMTOMEM_STM_PROXY__SELECTION_TELEMETRY__PATHJSONL 로그 경로~/.memtomem/stm_selection_log.jsonl
MEMTOMEM_STM_PROXY__SELECTION_TELEMETRY__SAMPLE_RATE0.0–1.0. 기록할 호출 비율1.0
MEMTOMEM_STM_PROXY__SELECTION_TELEMETRY__MAX_BYTES로그 회전 크기 임계값50000000
MEMTOMEM_STM_PROXY__SELECTION_TELEMETRY__MAX_BACKUPS보관할 회전 파일 수 (0은 잘라내기)3
MEMTOMEM_STM_PROXY__TOOL_RELEVANCE__ENABLED호출당 도구 BM25 랭킹 기록. selection_telemetry가 켜져 있어야 실제로 기록됨true
MEMTOMEM_STM_PROXY__TOOL_RELEVANCE__TOP_N선택 기록 하나에 남길 순위 후보 수20

프록시 → 외부 도구 그래프 자격 판정(선택)

섹션 제목: “프록시 → 외부 도구 그래프 자격 판정(선택)”

별도의 도구 그래프 MCP 서버에 여러 서버 사이의 권한과 데이터 흐름이 허용되는지 물어, 도구 표시 필터의 추가 규칙으로 사용합니다. 기본값은 비활성화입니다. 그래프 서버에는 자격만 조회하며 그 도구를 프록시하지 않으므로 클라이언트에는 그래프 도구가 보이지 않습니다.

변수설명기본값
MEMTOMEM_STM_PROXY__TOOLGRAPH__ENABLED외부 도구 그래프 적격성 제공자 활성화false
MEMTOMEM_STM_PROXY__TOOLGRAPH__SOURCE정책 출처: stdio로 실시간 조회하거나 서명된 bundle 파일 사용stdio
MEMTOMEM_STM_PROXY__TOOLGRAPH__BUNDLE_PATHsource=bundle일 때 사용할 로컬 정책 번들 경로~/.memtomem/toolgraph/policy-bundle.json
MEMTOMEM_STM_PROXY__TOOLGRAPH__COMMANDstdio 도구 그래프 MCP 서버 실행 명령toolgraph
MEMTOMEM_STM_PROXY__TOOLGRAPH__ARGS명령 인자(JSON 목록)["serve"]
MEMTOMEM_STM_PROXY__TOOLGRAPH__ENV그래프 서버용 추가 환경 변수(예: NEO4J_*, JSON object)null
MEMTOMEM_STM_PROXY__TOOLGRAPH__AGENT_ID그래프에 등록된, 적격성을 판정할 에이전트 식별자stm-proxy
MEMTOMEM_STM_PROXY__TOOLGRAPH__SERVER_NAME_MAPSTM의 연결 서버 이름을 그래프 서버 식별자에 연결(JSON 객체){}
MEMTOMEM_STM_PROXY__TOOLGRAPH__QUERY_PROFILE그래프 조회에 전달할 프로필strict
MEMTOMEM_STM_PROXY__TOOLGRAPH__ON_UNREACHABLE그래프에 연결할 수 없을 때: open(STM 자체 규칙에 따라 표시) / closed(그래프가 승인한 도구 외에는 모두 보류)open
MEMTOMEM_STM_PROXY__TOOLGRAPH__ON_TOOL_NOT_FOUND그래프에 없는 후보 도구: open / closedopen
MEMTOMEM_STM_PROXY__TOOLGRAPH__ON_AGENT_NOT_FOUNDagent_id 미등록(대개 오타): fail_start / open / closedfail_start
MEMTOMEM_STM_PROXY__TOOLGRAPH__ON_PROTOCOL_ERROR그래프 응답 규약 위반: fail_start / open / closedfail_start
MEMTOMEM_STM_PROXY__TOOLGRAPH__RISK_PENALTY_SCALE적격하지만 위험한 도구의 랭킹 강등 배수1.0
MEMTOMEM_STM_PROXY__TOOLGRAPH__TIMEOUT_SECONDS조회 제한 시간5.0
MEMTOMEM_STM_PROXY__TOOLGRAPH__CONSULT_CACHE_ENABLED조회 결과를 디스크에 캐시true
MEMTOMEM_STM_PROXY__TOOLGRAPH__CONSULT_CACHE_PATH조회 캐시 SQLite 경로~/.memtomem/toolgraph_consult.db
MEMTOMEM_STM_PROXY__TOOLGRAPH__CONSULT_CACHE_MAX_SCOPES캐시할 도구 집합 범위의 상한64

형식이 정해진 backend_unavailable 결과에는 on_unreachable 설정을 적용합니다. 알 수 없거나 형식이 잘못된 응답에는 on_protocol_error를 적용합니다.

연결 서버별 설정(UpstreamServerConfig)

섹션 제목: “연결 서버별 설정(UpstreamServerConfig)”

다음 필드는 ~/.memtomem/stm_proxy.jsonUpstreamServerConfig 항목에 서버별로 지정합니다. 개별 환경 변수로 설정하는 값이 아닙니다. 사용할 수 있는 필드를 모두 나열합니다.

필드설명기본값
commandstdio 서버 실행 파일""
argsstdio 서버 인자[]
env서버 추가 환경 변수null
cwd서버 작업 디렉터리null
prefix조합된 도구 이름에 쓰는 필수 네임스페이스 구간필수
transportstdio, sse, streamable_httpstdio
url네트워크 연결의 엔드포인트""
headers네트워크 연결에 넣을 고정 헤더null
compression이 서버의 기본 압축 전략auto
max_result_chars결과 문자 예산8000
max_result_tokens선택적 토큰 환산 결과 예산null
chars_per_token서버별 문자/토큰 추정치null(프록시 값 상속)
token_estimation_mode선택형 static / unicode 추정 방식 재정의null(프록시 값 상속)
retention_floor선택형 최소 압축 보존 비율null(프록시 값 상속)
llm서버별 LLM 압축 설정null
selectiveselective 압축 설정null
hybridhybrid 압축 설정null
progressive커서 기반 점진 전달 설정null
cleaning압축 전 cleaning 설정null
tool_overrides도구별 ToolOverrideConfig{}
auto_index호환을 위해 허용하는 전역 자동 색인 설정 재정의null
extraction호환을 위해 허용하는 전역 정보 추출 설정 재정의null
cache응답 캐시 재정의null
cache_ttl_seconds응답 캐시 TTL 재정의null
expose_in_profiles이 서버를 표시할 노출 프로필null
surfacing_enabled이 서버의 응답에 관련 기억을 자동으로 붙일지 여부. false이면 서버의 모든 도구에서 생략true
max_retries첫 시도 뒤 연결이나 호출을 다시 시도할 횟수3
reconnect_delay_seconds최초 재연결 지연1.0
max_reconnect_delay_seconds재연결 대기 시간의 상한30.0
connect_timeout_seconds서버 연결 제한 시간30.0
call_timeout_secondssession.call_tool() 한 번의 제한 시간. 넘으면 세션을 강제로 초기화하고 다시 시도90.0
overall_deadline_seconds재시도를 포함한 호출 하나의 전체 제한 시간. call_timeout × (max_retries+1)에 따른 최악의 대기 시간이 지나치게 커지는 것을 방지180.0
circuit_max_failures이 서버의 회로를 열기 전까지 허용할 실패 횟수3
circuit_reset_seconds열린 회로를 다시 확인할 간격60.0
max_description_chars서버별 도구 설명 길이 상한200
strip_schema_descriptions서버별로 중첩된 스키마 설명 제거false
originmms add --import/mms init이 기록하고 mms eject가 사용하는 가져오기 출처 정보. CLI JSON 출력에서는 저장된 원본 항목의 민감 정보를 가림null

연결 서버와 tool_overrides.<tool> 항목은 같은 하위 설정 구조를 사용합니다.

블록 / 필드설명기본값
llm.provideropenai, anthropic, ollamaopenai
llm.model요약 모델gpt-4.1-mini
llm.api_key제공자 API 키""
llm.base_url제공자 엔드포인트 재정의""
llm.system_prompt{max_chars}를 포함하는 요약 프롬프트 템플릿내장 템플릿
llm.max_tokens요약 출력 토큰 상한500
llm.llm_timeout_seconds요약 제한 시간. 넘으면 truncate로 대신 처리60.0
llm.privacy_scan_enabled원격 LLM 호출 전 검사true
selective.max_pending진행 중인 선택 기록 수 상한100
selective.pending_ttl_seconds진행 중인 선택 기록의 TTL300.0
selective.json_depthJSON 개요의 깊이1
selective.min_section_chars유지할 섹션 최소 길이50
selective.pending_store진행 중인 선택 기록의 저장 방식: memory 또는 sqlitememory
selective.pending_store_path진행 중인 선택 기록을 저장할 SQLite 경로~/.memtomem/pending_selections.db
hybrid.head_chars선두 콘텐츠 선호 예산5000
hybrid.tail_modetoc 또는 truncatetoc
hybrid.min_toc_budget목차 최소 예산200
hybrid.min_head_chars선두 콘텐츠 최소 예산100
hybrid.head_ratio선두 콘텐츠 배분 비율0.6
progressive.chunk_sizeprogressive 조각 하나의 문자 수4000
progressive.max_stored보관할 진행 중인 progressive 응답 수 상한200
progressive.ttl_seconds진행 중인 응답의 TTL1800.0
progressive.include_structure_hint남은 콘텐츠 구조 메타데이터 포함true
cleaning.enabled응답 정리 단계 활성화true
cleaning.strip_htmlHTML 마크업 제거true
cleaning.deduplicate중복 블록 제거true
cleaning.collapse_links장황한 링크 축약true

tool_overrides.<tool>compression, max_result_chars, max_result_tokens, chars_per_token, token_estimation_mode, retention_floor와 위의 llm, selective, hybrid, progressive, cleaning 블록을 받습니다. 다음 필드도 모두 받습니다.

필드설명기본값
auto_index호환을 위해 허용하는 자동 색인 설정 재정의null
extraction호환을 위해 허용하는 정보 추출 설정 재정의null
cache캐시 재정의null
cache_ttl_seconds캐시 TTL 재정의null
hidden이 도구를 에이전트에 표시하지 않음false
description_override에이전트에 표시할 설명 교체null
expose_in_profiles이 도구를 표시할 노출 프로필null

변수설명기본값
MEMTOMEM_STM_SURFACING__ENABLEDLTM 기반 관련 기억 자동 제시 활성화true
MEMTOMEM_STM_SURFACING__USE_DAEMON단독 실행한 관련 기억 검색을 공용 데몬으로 처리. 별도의 내부 대체 경로는 없음false
MEMTOMEM_STM_SURFACING__WARMUP_ENABLEDLTM 클라이언트를 백그라운드에서 미리 연결true
MEMTOMEM_STM_SURFACING__FEEDBACK_DB_PATH관련 기억 피드백과 중복 제거 정보를 저장할 SQLite 경로~/.memtomem/stm_feedback.db
MEMTOMEM_STM_SURFACING__MIN_SCORE관련성 최소 점수0.03
MEMTOMEM_STM_SURFACING__MAX_RESULTS호출당 주입되는 최대 기억 수3
MEMTOMEM_STM_SURFACING__MIN_RESPONSE_CHARS응답이 이보다 짧으면 관련 기억 검색 생략5000
MEMTOMEM_STM_SURFACING__MIN_QUERY_TOKENS추출한 검색어의 최소 토큰 수3
MEMTOMEM_STM_SURFACING__COOLDOWN_SECONDS관련 기억 검색을 반복할 때 둘 사이의 최소 간격5.0
MEMTOMEM_STM_SURFACING__TIMEOUT_SECONDSLTM 관련 기억 검색의 제한 시간3.0
MEMTOMEM_STM_SURFACING__INJECTION_MODE배치 위치: prepend, append, sectionappend
MEMTOMEM_STM_SURFACING__SECTION_HEADERsection 주입 모드에서 사용할 제목## Relevant Memories
MEMTOMEM_STM_SURFACING__DEFAULT_NAMESPACE도구 규칙이 덮어쓰지 않을 때의 선택적 네임스페이스미설정
MEMTOMEM_STM_SURFACING__EXCLUDE_TOOLS제외할 도구 이름 목록(JSON 목록)[]
MEMTOMEM_STM_SURFACING__WRITE_TOOL_PATTERNS기본적으로 관련 기억을 붙이지 않을 쓰기 도구 패턴(JSON 목록)*write*, *create*, *delete*, *push*, *send*, *remove*
MEMTOMEM_STM_SURFACING__CONTEXT_TOOLS도구별 enabled, query_template, namespace, min_score, max_results 재정의(JSON object){}
MEMTOMEM_STM_SURFACING__DEDUP_TTL_SECONDS세션 사이에 중복을 제거할 기간604800 (7일)
MEMTOMEM_STM_SURFACING__FEEDBACK_ENABLEDstm_surfacing_feedback 입력 허용true
MEMTOMEM_STM_SURFACING__MAX_SURFACINGS_PER_MINUTE현재 프로세스에서 분당 실행할 관련 기억 검색 수 상한15
MEMTOMEM_STM_SURFACING__CACHE_TTL_SECONDS현재 프로세스의 관련 기억 검색 결과 캐시 TTL60.0
MEMTOMEM_STM_SURFACING__CIRCUIT_MAX_FAILURES회로를 열기 전 연속 LTM 실패 횟수3
MEMTOMEM_STM_SURFACING__CIRCUIT_RESET_SECONDS열린 회로를 다시 확인할 간격60.0
MEMTOMEM_STM_SURFACING__AUTO_TUNE_ENABLED도구별 임계값 자동 튜닝true
MEMTOMEM_STM_SURFACING__AUTO_TUNE_MIN_SAMPLES튜닝 전 최소 피드백 샘플 수20
MEMTOMEM_STM_SURFACING__AUTO_TUNE_SCORE_INCREMENT임계값 조정 단위0.002
MEMTOMEM_STM_SURFACING__AUTO_TUNE_SCORE_FLOOR기본 자동 튜닝 하한. 명시적 min_score를 포함하도록 검증 시 확장0.005
MEMTOMEM_STM_SURFACING__AUTO_TUNE_SCORE_CEILING기본 자동 튜닝 상한. 명시적 min_score를 포함하도록 검증 시 확장0.05
MEMTOMEM_STM_SURFACING__INCLUDE_SESSION_CONTEXT검색어를 만들 때 사용할 수 있는 세션 맥락 포함true
MEMTOMEM_STM_SURFACING__FIRE_WEBHOOK관련 기억 검색 결과에 대해 LTM에 설정된 웹훅 실행 요청true
MEMTOMEM_STM_SURFACING__MAX_INJECTION_CHARS주입되는 기억 전체 문자 상한3000
MEMTOMEM_STM_SURFACING__CONTEXT_WINDOW_SIZE각 검색 결과 주변에서 요청할 LTM 인접 청크 수0
MEMTOMEM_STM_SURFACING__RESULT_CONTENT_MAX_CHARSstructured 결과 하나의 내용 길이 상한500
MEMTOMEM_STM_SURFACING__PREVIEW_MAX_CHARScompact 미리보기 하나의 내용 길이 상한300
MEMTOMEM_STM_SURFACING__QUERY_RETENTION_DAYS피드백 DB에 검색어 원문을 보존할 일수. 기간이 지나면 해당 열의 값만 비움. 0이면 정리하지 않음30
MEMTOMEM_STM_SURFACING__STATS_RETENTION_DAYS집계한 관련 기억 검색 통계의 보존 일수90
MEMTOMEM_STM_SURFACING__PERSIST_QUERY_TEXTtrue이면 검색어 원문 저장, false이면 sha256:<16-hex> 해시 저장true
MEMTOMEM_STM_SURFACING__FEEDBACK_DEMOTION_ENABLED부정적 피드백을 반복해서 받은 기억을 응답에 넣기 전에 제외true
MEMTOMEM_STM_SURFACING__FEEDBACK_DEMOTION_NEGATIVE_THRESHOLD기억을 제외하기 전에 필요한 서로 다른 부정적 평가 수3
MEMTOMEM_STM_SURFACING__CONSUMER_MODEL관련 기억 제시 전용 수신 모델. 빈 값이면 proxy.consumer_model 상속""
MEMTOMEM_STM_SURFACING__RESULT_FORMATLTM 응답 모드: compact 또는 structuredstructured
MEMTOMEM_STM_SURFACING__RERANKLTM에 후보 재순위를 요청할지 여부. null이면 LTM 설정에 맡김false
MEMTOMEM_STM_SURFACING__SCALE_GATED_MIN_SCORE최소 점수를 확인하기 전에 score_scale에 맞춰 점수 범위를 조정true
MEMTOMEM_STM_SURFACING__LTM_MCP_TRANSPORTLTM MCP 연결 방식: stdio, sse, streamable_httpstdio
MEMTOMEM_STM_SURFACING__LTM_MCP_COMMANDstdio 연결에서 LTM 서버를 실행할 MCP 명령memtomem-server
MEMTOMEM_STM_SURFACING__LTM_MCP_ARGSLTM 명령 인자(JSON 목록)[]
MEMTOMEM_STM_SURFACING__LTM_MCP_URLsse / streamable_http LTM 엔드포인트 URL""
MEMTOMEM_STM_SURFACING__LTM_MCP_HEADERS네트워크 LTM 전송용 정적 헤더(JSON object)null

관련 기억 자동 제시는 STM을 거친 호출이나 지원되는 클라이언트 훅에만 적용됩니다. 각 AI 도구가 자체로 관리하는 기억 계층이 아니며, STM과 관계없는 직접 MCP 호출에 몰래 내용을 넣지 않습니다.

변수설명기본값
MEMTOMEM_STM_HOOK__USE_DAEMONmms hook의 관련 기억 검색을 매번 새 프로세스에서 처리하지 않고 상주하는 로컬 데몬으로 처리true
MEMTOMEM_STM_HOOK__DAEMON_TIMEOUT_SECONDS훅과 데몬 사이 왕복 제한 시간2.5
MEMTOMEM_STM_HOOK__FALLBACK데몬을 사용할 수 없을 때의 동작: skip(건너뜀) 또는 cold(현재 프로세스에서 처리)skip
MEMTOMEM_STM_HOOK__AUTO_SPAWN조건을 충족하는 첫 훅 호출에서 응답을 기다리지 않고 데몬 시작true
MEMTOMEM_STM_HOOK__RECORD_FEEDBACK_EVENTS훅의 관련 기억 피드백과 검색어 기록 저장. 기본값은 중복 제거 정보만 유지하며 검색어 원문은 저장하지 않음false
MEMTOMEM_STM_HOOK__METRICS_ENABLED크기와 소요 시간만 포함하는 훅 지표 기록true
MEMTOMEM_STM_HOOK__COMPRESSION__ENABLED내장 Bash 도구의 updatedToolOutput 압축 활성화false
MEMTOMEM_STM_HOOK__COMPRESSION__MAX_CHARSBash 출력을 바꿀 때 적용할 문자 예산16000
MEMTOMEM_STM_HOOK__COMPRESSION__MIN_RETENTION내장 Bash 출력 압축의 최소 보존 비율0.65
MEMTOMEM_STM_HOOK_SURFACE_TOOLS중첩 설정과 별도로 직접 읽는 쉼표 구분 훅 도구 허용 목록. 클라이언트 어댑터는 Claude의 Read / Bash 같은 이름을 read / shell로 연결read,grep,glob,shell
MEMTOMEM_STM_DAEMON__HOST로컬 데몬이 수신 대기할 주소. 루프백 전용 권장127.0.0.1
MEMTOMEM_STM_DAEMON__ALLOW_NON_LOOPBACK루프백이 아닌 주소에서 데몬 수신을 명시적으로 허용false
MEMTOMEM_STM_DAEMON__IDLE_TIMEOUT_SECONDS이 시간 동안 요청이 없으면 데몬 중지. 0이면 자동 중지하지 않음900.0
MEMTOMEM_STM_DAEMON__MAX_PENDING_REQUESTS받을 수 있는 훅 및 단독 관련 기억 검색 요청 수 상한32
변수설명기본값
MEMTOMEM_STM_LANGFUSE__ENABLED스팬 전송false
MEMTOMEM_STM_LANGFUSE__PUBLIC_KEYLangfuse public key
MEMTOMEM_STM_LANGFUSE__SECRET_KEYLangfuse secret key
MEMTOMEM_STM_LANGFUSE__HOSTLangfuse 호스트 URL
MEMTOMEM_STM_LANGFUSE__SAMPLING_RATE0.0–1.01.0

MEMTOMEM_STM_LANGFUSE__ENABLED=true인데 [langfuse] 추가 패키지가 설치되어 있지 않으면 시작할 때 ValueError가 발생합니다(v0.1.16부터 즉시 실패). 추가 패키지를 먼저 설치하거나 enabled=false로 두세요. 이제는 경고만 남기고 조용히 비활성화하지 않으므로 설정 오류 때문에 추적 기능이 모르게 꺼지지 않습니다.

압축 전략 (MEMTOMEM_STM_PROXY__DEFAULT_COMPRESSION)

섹션 제목: “압축 전략 (MEMTOMEM_STM_PROXY__DEFAULT_COMPRESSION)”
전략용도
auto기본값 — 콘텐츠 유형별 자동 선택
hybridMarkdown (구조 보존 + 비핵심 섹션 축약)
selective검색어나 요청과 관련된 섹션만 유지
progressive대용량 콘텐츠, 커서 기반 분할 전송 (무손실)
extract_fieldsJSON 딕셔너리
schema_pruning대형 JSON 배열
skeletonAPI 문서 (스키마만 유지)
llm_summaryLLM 기반 요약 (OpenAI / Anthropic / Ollama)
truncate다른 전략을 쓸 수 없을 때 길이 제한에 맞춰 자름
none압축하지 않고 그대로 전달

원문 전체 목록: upstream 저장소의 configuration.md를 참고하세요.