GEODE . 문서
GitHub
설정
레퍼런스

config.toml 레퍼런스

전체 키 레퍼런스입니다. toml 매핑이 붙은 Settings 필드, routing.toml 매니페스트, self-improving 루프 섹션을 다룹니다.

이 페이지는 설정 키의 단일 목록입니다. 키가 어디서 어떤 순서로 읽히는지는 설정 기초가 다룹니다. 키는 세 무리로 나뉩니다. Settings 필드 (core/config/_settings.py), 라우팅 매니페스트 (core/config/routing.toml), self-improving 루프 섹션(core/config/self_improving.py).

모든 Settings 필드는 GEODE_ 접두사를 붙인 env 변수로 덮을 수 있습니다. modelGEODE_MODEL, agentic_effortGEODE_AGENTIC_EFFORT가 됩니다. toml 키 열이 비어 있으면 그 필드는 env 또는 코드 기본값으로만 설정합니다. toml 매핑의 SoT는 core/config/__init__.py_TOML_TO_SETTINGS이고, 매핑에 없는 toml 키는 조용히 무시됩니다.

Settings: toml 매핑 필드

[llm]

필드toml 키타입 / 기본값용도
modelllm.primary_modelstr = "claude-opus-4-8"기본 모델. 기본값은 routing.toml의 anthropic 기본값을 따라갑니다.
act_modelllm.act_modelstr = ""액션 루프 모델. 비우면 model로 폴백합니다.
judge_modelllm.judge_modelstr = ""턴 단위 verify judge 모델. 비우면 model로 폴백합니다.
learning_extract_modelllm.learning_extract_modelstr = "glm-4.7-flash"learning 추출 훅용 무료 티어 GLM 모델.
anthropic_credential_sourcellm.anthropic_credential_sourcestr = "auto"Anthropic 자격 경로. CredentialSource 값 + oauth 별칭 + none.
openai_credential_sourcellm.openai_credential_sourcestr = "auto"OpenAI 자격 경로. 같은 검증을 거칩니다.

[agentic]

필드toml 키타입 / 기본값용도
agentic_effortagentic.effortstr = "high"low/medium/high/max/xhigh. Anthropic output_config.effort, OpenAI reasoning.effort로 전달됩니다. xhigh는 Opus 4.7 이상과 Fable 5 전용.
agentic_loop_time_budgetagentic.time_budgetfloat = 0.0벽시계 초 단위 예산. 0이면 무제한.
agentic_thinking_budgetagentic.thinking_budgetint = 0레거시 thinking 토큰 예산. 0이면 비활성.

[replan]

필드toml 키타입 / 기본값용도
replan_enabledreplan.enabledbool = true리플랜 활성화.
replan_intervalreplan.intervalint = 5리플랜 주기. 0이면 주기 비활성.
replan_max_attemptsreplan.max_attemptsint = 3리플랜 시도 상한.

[cognitive]

필드toml 키타입 / 기본값용도
cognitive_reflection_enabledcognitive.reflection_enabledbool = true인지 리플렉션 활성화.
cognitive_reflection_modelcognitive.reflection_modelstr = ""비워두면 현재 agentic loop 모델/소스를 상속하고, 값이 있으면 별도 reflection 모델로 사용한다.
cognitive_reflection_max_tokenscognitive.reflection_max_tokensint = 512리플렉션 출력 토큰 상한.
cognitive_reflection_intervalcognitive.reflection_intervalint = 1몇 라운드마다 리플렉션할지. 1이면 매 라운드.

[sandbox]

필드toml 키타입 / 기본값용도
sandbox_max_file_size_bytessandbox.max_file_size_bytesint = 262144파일 읽기 바이트 상한.
sandbox_max_read_tokenssandbox.max_read_tokensint = 25000읽기 결과 토큰 상한.
sandbox_max_glob_resultssandbox.max_glob_resultsint = 100glob 결과 개수 상한.
sandbox_max_grep_resultssandbox.max_grep_resultsint = 50grep 결과 개수 상한.
sandbox_max_grep_line_charssandbox.max_grep_line_charsint = 200grep 라인 문자 상한.

[output]

필드toml 키타입 / 기본값용도
verboseoutput.verbosebool = false상세 출력. /verbose로 세션 중 토글합니다.

Settings: env 전용 필드

아래 무리는 toml 매핑이 없습니다. GEODE_* env 변수나 .env로만 설정합니다.

시크릿과 프로바이더

필드타입 / 기본값용도
anthropic_api_key / openai_api_key / zai_api_keystr = ""ANTHROPIC_API_KEY / OPENAI_API_KEY / ZAI_API_KEY로 별칭됩니다. 시크릿이므로 .env 층에 둡니다.
ensemble_modestr = "single"single 또는 cross 멀티 LLM 모드.
forced_login_methoddict = {}프로바이더별 인증 방식 강제({"openai": "apikey"}). 기본은 구독 우선.

Temperature (0.0-2.0)

필드기본값용도
temperature_agent_loop1.0에이전트 루프 호출.
temperature_reflection1.0리플렉션 호출.
temperature_verification0.0verify 호출. cross-LLM 합의를 위한 결정성.
temperature_commentary1.0커멘터리 호출.
temperature_self_improving_mutation1.0변이 제안 호출.

서브에이전트

필드기본값용도
max_subagent_depth1중첩 위임 깊이 상한.
max_total_subagents15총 서브에이전트 상한.
subagent_max_rounds0서브에이전트 라운드 상한. 0이면 무제한.
subagent_max_tokens32768서브에이전트 출력 토큰 상한.

토큰 가드와 오프로딩

필드기본값용도
max_tool_result_tokens25000도구 결과 토큰 상한. 0이면 무제한.
tool_offload_threshold15000이 토큰을 넘는 결과는 디스크로 오프로드됩니다. 0이면 비활성.
tool_offload_ttl_hours4.0오프로드 보관 시간.
observation_mask_keep_rounds3관측 마스킹 전 유지 라운드.
compact_keep_recent10컴팩션 시 보존할 최근 메시지 수.

스케줄러와 트리거

필드기본값용도
trigger_scheduler_interval_s60.0트리거 스케줄러 폴 간격.
scheduler_interval_s1.0스케줄러 틱 간격.
scheduler_auto_starttrueserve와 함께 스케줄러 자동 시작.
scheduler_jitter_enabledtrue예약 실행에 지터 적용.
scheduler_max_jitter_ms900000.0지터 상한. 15분입니다.

메모리와 세션

필드기본값용도
session_ttl_hours4.0세션 보존 시간.
session_storage_dir""세션 저장 디렉터리. 비우면 인메모리.
organization_fixture_dir""조직 메모리 픽스처 경로.
user_profile_dir""비우면 ~/.geode/user_profile.
checkpoint_db"geode_checkpoints.db"체크포인트 DB 파일명.

게이트웨이, 알림, 웹훅

필드기본값용도
gateway_enabledfalse메신저 게이트웨이. geode serve의 전제 조건입니다.
gateway_poll_interval_s3.0게이트웨이 폴 간격.
gateway_max_concurrent4동시 처리 상한.
gateway_allow_computer_usefalse바운드 채널의 원격 desktop control 명시적 옵트인.
notification_channel"slack"알림 채널 종류.
notification_recipient"#geode-alerts"알림 수신처.
webhook_enabledfalse웹훅 HTTP 엔드포인트.
webhook_port8765웹훅 포트.

HITL, 플랜, 비용, 데스크탑

필드기본값용도
hitl_level22면 모두 확인, 1이면 쓰기만 확인, 0이면 자율.
plan_auto_executefalse플랜 자동 실행.
cost_limit_usd0.0비용 상한. 0이면 무제한, 80%에서 경고.
computer_use_enabledtrue데스크탑 자동화 도구.

LLM 커넥션 풀

필드기본값용도
llm_max_connections20최대 연결 수.
llm_max_keepalive_connections5keepalive 연결 상한.
llm_keepalive_expiry30.0keepalive 만료 초.
llm_connect_timeout5.0연결 타임아웃.
llm_read_timeout300.0읽기 타임아웃.
llm_write_timeout30.0쓰기 타임아웃.
llm_pool_timeout10.0풀 대기 타임아웃.
llm_retry_base_delay2.0재시도 기본 지연.
llm_retry_max_delay30.0재시도 최대 지연.
llm_max_retries3재시도 횟수.
llm_max_fallback_cost_ratio0.0폴백 비용 비율 상한. 0이면 무제한.

routing.toml

출하본은 core/config/routing.toml이고, 사용자 override ~/.geode/routing.toml이 섹션 단위로 병합됩니다(core/config/routing_manifest.py).

섹션내용
[model.defaults]anthropic, anthropic_secondary, anthropic_budget, openai, codex, glmclaude-opus-4-8 / claude-sonnet-4-6 / claude-haiku-4-5-20251001 / gpt-5.5 / gpt-5.5 / glm-5.2. core.config.ANTHROPIC_PRIMARY 등으로 export됩니다.
[model.fallbacks]프로바이더별 리스트 4개기본은 전부 빈 리스트입니다. 같은 프로바이더 묵시적 폴백 체인은 출하되지 않고, 기본 모델 실패는 예외를 던지며 사용자가 /model로 고릅니다. 폴백은 ~/.geode/routing.toml에서 옵트인합니다.
[routing.prefixes]claude-, glm-, gpt-, o3-, o3, o4-, o4-mini모델 id 접두사를 프로바이더로 매핑합니다(내장 어댑터가 있는 anthropic / openai / glm만). 첫 매치가 이깁니다. 매치되는 접두사가 없는 계열(gemini-, deepseek-, llama-, qwen- 등)은 모델당 한 번 경고를 남기고 fallback_provider(OpenAI 호환 엔드포인트)로 흘러갑니다. 해당 id를 서빙하는 OpenAI 호환 프록시에는 정상 경로입니다.
[routing]codex_only_models, codex_suffixes, fallback_providergpt-5.5/gpt-5.5-pro는 접두사보다 먼저 검사되어 openai-codex로 라우팅됩니다(gpt-5.6 계열은 듀얼 레인이라 미등재). -codex/-codex-max/-codex-mini 접미사도 codex. 미해석 시 openai.
[nodes]analyst, evaluator, scoring, synthesizer파이프라인 노드 모델. 전부 claude-opus-4-8 고정이라 노드가 REPL 모델을 상속하지 않습니다. 조회 순서는 프로젝트 .geode/routing.toml, 매니페스트, 없으면 settings.model.
[credentials.patterns]sk-ant-, sk-proj-, sk-키 모양에서 프로바이더를 추정합니다. GLM 키({id}.{secret} 모양)는 core.config.env_io.is_glm_key가 감지합니다.
[credentials.env_vars]3개anthropic은 ANTHROPIC_API_KEY, openai는 OPENAI_API_KEY, glm은 ZAI_API_KEY.
[credentials.keychain]1개anthropic은 "Claude Code-credentials"(macOS). 프로세스 단위 override는 GEODE_<PROVIDER>_KEYCHAIN_SERVICE.

[self_improving_loop.*]

~/.geode/config.toml(또는GEODE_CONFIG_TOML)에서load_self_improving_loop_config가 읽습니다. Settings와 분리된 별도 로더입니다. 옵트인 기능이라 lazy하게 두어 cold start를 가볍게 유지합니다. 파일이나 섹션이 없으면 전부 기본값으로 동작하고, 섹션이 있는데 키가 틀리면 큰 소리로 ValueError를 냅니다(extra="forbid").

[self_improving_loop]

타입 / 기본값용도
fallback_to_paygbool = false구독 소진 시 소스 해석이 api_key로 흘러내릴 수 있는지.
openai_sourceNone"openai-codex" 또는 "api_key"만 허용. autoresearch의 source, target.source, mutator.source로 팬아웃되는 단일 노브. 충돌 시 UserWarning과 함께 이 키가 권위입니다.
warn_thresholdfloat = 0.5예산 경고 임계.
abort_thresholdfloat = 0.9중단 임계. warn보다 커야 합니다.

[self_improving_loop.autoresearch]

타입 / 기본값용도
budget_minutesint = 5 (1-600)사이클 시간 예산.
mutator_feedback_windowint = 20 (0-200)변이 제안에 주는 최근 이력 창.
mutator_dedup_windowint = 20중복 변이 검사 창.
mutator_dedup_thresholdfloat = 0.85중복 판정 유사도.
anchor_confidence_modebool = falseanchor 신뢰도 모드.
sourceclaude-cli역할 공통 기본 자격 소스.
seed_limitint = 10 (5-1000)감사당 seed 수.
seed_select"plugins/petri_audit/seeds"공진화 seed 풀 경로.
held_out_benchNone고정 자 역할의 frozen seed 디렉터리.
promote_policy"gate"gate / random / never.
promote_policy_seedint = 0random 정책의 시드.
replicateint = 1 (1-20)감사 반복 횟수.
target_effect_sizefloat = 0.02승격에 요구하는 효과 크기.
dim_set"subset"측정 dim 세트.
max_turnsint = 10 (1-200)감사당 턴 상한.
target_model / judge_modeldeprecatedno-op 슬롯. 역할 서브섹션을 쓰세요.

역할 서브섹션[self_improving_loop.autoresearch.target|judge|auditor]model(기본 "")과source(기본 claude-cli)를 받고, mutator 서브섹션은 default_model(None이면Settings.model 상속),source(auto),max_tokens(1024)를 받습니다. 레거시[self_improving_loop.petri.*][self_improving_loop.mutator]는 DeprecationWarning과 함께 자동 이전됩니다. geode audit의 역할 해석 순서는 argv, 역할 서브섹션, 매니페스트 기본값 순입니다.

env 사이드 채널이 키 몇 개에 붙어 있습니다.GEODE_HELD_OUT_BENCH,GEODE_PROMOTE_POLICY,GEODE_AUDIT_REPLICATE,GEODE_TARGET_EFFECT_SIZE이고 각각AUTORESEARCH_* 별칭을 동반합니다. 해석 순서는 env, CLI 플래그, config 필드, 기본값 순입니다.

[self_improving_loop.seed_generation]

타입 / 기본값용도
candidates_defaultint = 15 (1-100)세대당 후보 수 기본값.
default_gen_tag"gen1"기본 세대 태그.
rolesdict역할별 서브섹션마다 model, source, num_turns(0 또는 2-6), max_papers(0-20), queries_per_run(1-10).

[self_improving_loop.scheduler]

타입 / 기본값용도
enabledbool = falseauto-trigger 옵트인.
cron"0 */6 * * *"발화 cron.
min_interval_minutesint = 60 (1-1440)최소 발화 간격.
max_generationint = 0세대 상한. 0이면 무제한.

다음