## 연결

로컬 AI 엔진(Ollama 또는 LM Studio) 위치와 기본 모델을 설정합니다.

Engine URL
Ollama 기본 11434 / LM Studio 기본 1234.
기본 모델
사이드바에서 선택한 모델이 여기에도 동기화됩니다.
요청 타임아웃 (초)

## Datacollect (slash 명령)

채팅에서 `/research` · `/benchmark` · `/youtube` 를 입력하면 Datacollect Bridge로 위임됩니다. 타깃으로 로컬(`npm run bridge`) 또는 NAS의 경량 Bridge 중 어디를 호출할지 선택합니다.

Bridge 타깃
local = 아래 로컬 Bridge URL 사용. nas = NAS Bridge URL(+토큰) 사용. nas인데 URL이 비어 있으면 안전하게 로컬로 폴백합니다.
로컬 Bridge URL
NAS Bridge URL
타깃이 nas일 때 호출할 NAS 경량 Bridge 주소.
NAS Bridge 토큰
NAS Bridge의 `x-bridge-token`. nas 타깃일 때만 요청 헤더에 실립니다.
크롤 깊이 기본값
/benchmark 사이트맵 크롤 깊이. 0=루트만, 1=직속 자식, 2=손자, 3=깊은 크롤. 명령어에서 `depth=N` 으로 그때그때 덮어쓸 수 있습니다.
최대 페이지 기본값
/benchmark 스캔 최대 페이지 수. 명령어에서 `pages=N` 으로 덮어쓸 수 있습니다 (Bridge 상한 20).
합성 Temperature
/benchmark LLM 4-렌즈 합성의 temperature. 낮을수록(0.1) 환각·깨진 문자가 줄고 결정적입니다. 기본 0.1 권장.

## 메모리

대화 응답 전에 주입되는 단기/중기/장기 메모리의 양을 조정합니다.

메모리 시스템 활성화
최근 대화 메시지 (단기)
최근 세션 (중기)
관련 brain 문서 (장기)

## 두뇌 (지식 폴더)

현재 활성 두뇌 프로필 정보입니다. 추가·수정은 사이드바의 [변경 ▾ → 두뇌] 또는 VS Code Settings에서 처리합니다.

활성 프로필
—
—
변경 시 GitHub 자동 push (autoPushBrain)
지식 문서 저장 폴더
`/wikify` · `/meet` · `/benchmark` · `/youtube` · `/review` 가 생성하는 지식 문서(markdown)의 저장 위치. PC 로컬에 직접 저장되며, 비워두면 활성 두뇌 폴더의 `Datacollect_Wiki/` 에 저장돼 brain 검색에 자동 포함됩니다. 다른 곳에 두려면 절대경로 입력 (예: `E:\Wiki\2nd\10_Wiki`).
이메일 지식 문서 저장 폴더
`/email wikify` 로 이메일 스레드를 지식화한 문서는 다른 wikify 산출물과 별도 폴더에서 관리됩니다. 비워두면 활성 두뇌 폴더의 `Email_Wiki/` 에 저장. 다른 곳에 두려면 절대경로 입력.

## 단계별 지식 폴더 (소형 모델 정밀 검색)

질문이 수학·논리 / 코딩·디버깅 / 일반 상식으로 분류되면 전체 두뇌 대신 General + 해당 Specialty 폴더만 검색해 무관한 문서를 배제합니다. 경로는 활성 두뇌 기준 상대 경로이며, Specialty 가 비어 있는 단계는 기존처럼 전체 두뇌를 검색합니다.

General Knowledge 폴더 (모든 단계 공통)
수학·논리 Specialty 폴더
코딩·디버깅 Specialty 폴더
일반 상식·팩트 Specialty 폴더

## 발송 스케줄

텔레그램으로 나가는 정기 메시지의 시각을 여기서 관리합니다 (KST 기준).

주식 정기 보고서 시각
HH:MM 을 쉼표로 구분 (예: `09:00,12:30,15:00`). 이 시각마다 가격 갱신·매수시그널 감지·보고서 발송.
데일리 브리핑 (일정·할 일·답할 이메일)
데일리 브리핑 시각
평일(월~금) 이 시각에 1회 발송. 미회신 이메일 정리는 이 메시지에 포함됩니다.

## 이벤트 알림

상황이 발생했을 때 즉시 발송되는 알림들입니다.

🚨 매수 시그널 진입 알림 관망 종목이 매수사정권에 진입하는 순간 1회.
🎯 발굴 Top 5 (/stocks discover 후)
📧 이메일 미회신 즉시 알림 임계(시간)
`0` = 끔(기본) — 미회신 정리는 데일리 브리핑이 담당. 즉시 알림을 원하면 시간 입력 (예: 24).

## 이메일 (/email)

끈 프로바이더는 수집 시도 자체를 하지 않아 채팅에 "제외/실패" 문구가 뜨지 않습니다.

Outlook(클래식) 사용 데스크톱 클래식 Outlook COM — 별도 인증 없음. "새 Outlook" 토글 ON 상태는 미지원.
Gmail 사용 Google OAuth 재연결 1회 필요 (gmail.readonly 동의). 연결 전이거나 안 쓰면 꺼두세요 — /email 출력이 깔끔해집니다.

## Telegram 봇

텔레그램으로 Astra와 대화하고 싶다면 BotFather에서 봇을 만들고 토큰을 여기에 저장하세요. Astra의 다른 기능에는 영향이 없습니다.

Bot Token
봇 활성화 (체크하면 폴링 시작)
허용된 채널 IDs

목록이 비어 있으면 누구나 봇에 메시지를 보낼 수 있습니다 (자동 등록을 한 번 하시는 것을 권장).

## Google (Calendar · Sheets)

회의록·할일을 Google Calendar 에 자동 등록하고 Sheets 를 읽고 쓰려면 OAuth 가 필요합니다. Google Cloud Console 에서 Desktop OAuth Client 만들고 Client ID/Secret 을 아래에 붙여넣으세요.

현재 연결 상태
—
OAuth Client ID
OAuth Client Secret
Desktop OAuth client 의 secret 은 Google 가이드상 비공개 아님. 그래도 Settings Sync 에는 포함되지 않습니다 (machine scope).
Calendar ID
기본 'primary' (본인 메인 캘린더). 다른 캘린더 ID 입력 가능.
기본 일정 길이 (분)
duration / end 안 지정된 일정 생성 시 사용. Default 60.

### iCal 읽기 (선택 사항)

OAuth 없이 비공개 iCal URL 로 일정만 읽고 싶을 때. OAuth 연결돼 있으면 비워둬도 됩니다.

iCal URL
URL 자체가 capability 토큰이라 password 처리. Settings Sync 에 안 포함됨.
iCal 미리 가져올 일수

## Cloud LLM Providers

Ollama / LM Studio 로컬 외에 cloud API 를 붙여서 모델 선택지를 확장. API key 는 모두 Secret Storage 에 저장 (settings.json 침범 X). 사이드바 모델 dropdown 에서 활성 provider 의 모델이 함께 표시됩니다.

### OpenRouter

100+ 모델 (Claude / Gemini / GPT / Llama 전부) 을 단일 API 로. openrouter.ai/keys 에서 API key 발급.

OpenRouter 활성화
API Key
기본 모델 (선택)

### Anthropic Claude (직통)

Anthropic 직접 API — prompt caching 등 native 기능 활용 가능. console.anthropic.com/settings/keys 에서 API key 발급.

Anthropic 활성화
API Key
기본 모델

### Google Gemini (직통)

1M context (gemini-1.5-pro), 무료 tier 사용 가능. aistudio.google.com/app/apikey 에서 발급.

Gemini 활성화
API Key
기본 모델

## 🎭 Devil's Advocate (도현)

매 답변 직후 별도 LLM 호출로 *비판적 sparring partner* 가 한 문단 반박. 사용자의 사고를 능동적 방어로 전환. 같은 모델 재사용 (~10-15% 추가 비용).

도현 활성화 — 답변마다 반박 카드
규칙: 한 답변당 약점 1개만, 통계·수치 인용 금지 (환각 차단), 끝에 우려+검증 방법 명시. 명령 팔레트 `Astra: Toggle Devil Agent 🎭` 로도 토글.

## 고급

대부분의 사용자는 건드릴 필요 없습니다.

Dry Run (파일 변경 전 승인 요청)
멀티 에이전트 워크플로우 (Planner → Researcher → Writer)
최대 자동 단계 (maxAutoSteps)
최대 컨텍스트 (maxContextSize)
채팅 Temperature
채팅 응답 생성의 temperature. 낮을수록(0.2~0.3) 한국어 오타·깨진 토큰이 줄고 안정적입니다. 기본 0.3 권장.
Chunked 진입 토큰 임계값 (chunkedSwitchTokens)
입력 prompt 가 이 토큰 수 *미만* 이면 chunked 파이프라인 발동 안 함 — 단일 호출로 답변. 기본 50000 권장 (대부분의 모델에 적합). 매우 작은 모델로 큰 입력 처리 시 OOM 가능성 있으면 이 값을 낮추면 됨.
Chunked 최대 섹션 수 (chunkedMaxSections)
Chunked 가 답변을 쪼갤 수 있는 최대 섹션 수. 실제 LLM 호출 = `2 + N` 회 (outline 1 + section N + polish 1). 기본 3 (총 5회). 빨리 받고 싶으면 2 (총 4회), 답변을 더 세분화하려면 5 (총 7회).
Polish persona 커스텀 (polishPersonaOverride)
답변의 최종 다듬기 단계(polish) 톤·구조를 직접 정의합니다. 예: 격식체/반말/법률·마케팅 도메인 톤. 빈 값이면 기본 persona (한 줄 요약 + subheading + 5-check) 사용.