- Windy iframe이 실제 로딩보다 훨씬 먼저 스피너를 걷어 몇 초간 완전 블랙스크린으로
보이던 문제 수정 (반투명 오버레이 + 고정 타이머)
- 스트리밍 중 Windy URL이 아직 다 도착 안 한 상태에서 잘린 좌표로 지도를
이동시키고 잠가버리던 레이스 컨디션 수정
- Windy는 태풍 예상 진로(향후 경로)를 그리지 않는다는 걸 명확히 하고, 실제로
경로를 그리는 기상청 태풍 페이지 + NOAA/NHC 페이지를 지도에 임베드하는 기능 추가
(nhc_active_storms 신규 도구로 이름→공식 forecast-track URL 조회, 대양/슬롯
번호를 모델이 추측하지 않도록 함)
- 채팅창에 원문 도구호출(web_search{...} 등)이 그대로 노출되던 누출 수정 —
기존 정리 로직은 메시지 전체/끝부분만 잡아서 중간에 낀 누출은 못 걸렀음
- Windy/NHC URL 정규식이 마크다운 괄호·별표까지 삼켜 URL을 깨뜨리던 과매칭 버그 수정
- 모델이 NHC URL의 슬롯 번호를 잘못 베끼는 경우에 대비해, 도구가 찾은 검증된
URL을 직접 스트림에 실어보내 지도가 항상 정확한 폭풍을 가리키도록 함
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
168 lines
4.6 KiB
Plaintext
168 lines
4.6 KiB
Plaintext
# ============================================================
|
|
# LocalClaw - .gitignore
|
|
# ============================================================
|
|
|
|
# --- DOCKER / ENV ---
|
|
.env
|
|
|
|
# --- SECRETS & CONFIG (NEVER COMMIT) ---
|
|
.localclaw/config.json
|
|
.localclaw/credentials/
|
|
.localclaw/vault/
|
|
.smallclaw/credentials/
|
|
.smallclaw/vault/
|
|
.smallclaw/*_api_key.txt
|
|
.smallclaw/*_api_token.txt
|
|
.smallclaw/*-key.txt
|
|
|
|
# --- SQLITE JOURNAL / BACKUP ---
|
|
.smallclaw/databases/*.db-shm
|
|
.smallclaw/databases/*.db-wal
|
|
.smallclaw/databases/*.db.bak.*
|
|
.smallclaw/databases/nohup.out
|
|
|
|
# --- PYTHON CACHE ---
|
|
scripts/__pycache__/
|
|
**/__pycache__/
|
|
|
|
# --- MISC ARTIFACTS ---
|
|
eng.traineddata
|
|
|
|
# --- LARGE BINARIES / INSTALLERS / MEDIA (keep out of git) ---
|
|
*.deb
|
|
web-ui/*.sf2
|
|
chatbot*.png
|
|
|
|
# --- DENTAL DICT PROJECT (.smallclaw/databases/) ---
|
|
.smallclaw/databases/dental_images/
|
|
.smallclaw/databases/__pycache__/
|
|
.smallclaw/databases/scratch/*
|
|
!.smallclaw/databases/scratch/README.md
|
|
|
|
# --- RUNTIME DATA ---
|
|
.localclaw/sessions/
|
|
.localclaw/logs/
|
|
.localclaw/memory/
|
|
.localclaw/facts.json
|
|
.localclaw/self_learning.json
|
|
.localclaw/jobs.db
|
|
.localclaw/update_state.json
|
|
.localclaw/tasks/
|
|
.localclaw/jobs/
|
|
.localclaw/ocr-cache/
|
|
.localclaw/heartbeat/
|
|
.localclaw/task-heartbeat.json
|
|
.localclaw/cron/runs/
|
|
.smallclaw/sessions/
|
|
.smallclaw/logs/
|
|
.smallclaw/memory/
|
|
.smallclaw/facts.json
|
|
.smallclaw/self_learning.json
|
|
.smallclaw/jobs.db
|
|
.smallclaw/update_state.json
|
|
.smallclaw/tasks/
|
|
.smallclaw/jobs/
|
|
.smallclaw/ocr-cache/
|
|
.smallclaw/heartbeat/runs/
|
|
.smallclaw/task-heartbeat.json
|
|
.smallclaw/cron/runs/
|
|
# .smallclaw/skills/
|
|
.smallclaw/workspace_state.json
|
|
.smallclaw/.migrated-from-localclaw
|
|
|
|
# --- PER-USER RUNTIME DATA ---
|
|
# Sessions, workspace runtime files, uploads are all user-specific runtime data.
|
|
# Keep: prompts/AGENTS.md, prompts/TOOLS.md, workspace/SOUL.md etc. (static templates)
|
|
.smallclaw/users/*/sessions/
|
|
.smallclaw/users/*/workspace/memory/
|
|
.smallclaw/users/*/workspace/uploads/
|
|
.smallclaw/users/*/workspace/attachments/
|
|
.smallclaw/users/*/workspace/pubmed/
|
|
.smallclaw/users/*/workspace/tool_audit.log
|
|
.smallclaw/users/*/workspace/HEARTBEAT.md
|
|
.smallclaw/users/*/workspace/note.txt
|
|
.smallclaw/users/*/workspace/*.html
|
|
.smallclaw/users/*/workspace/*.js
|
|
.smallclaw/users/*/workspace/*.css
|
|
.smallclaw/users/*/workspace/*.py
|
|
.smallclaw/users/*/workspace/*.sh
|
|
.smallclaw/users/*/workspace/*.bat
|
|
.smallclaw/users/*/workspace/*.txt
|
|
|
|
# --- PER-USER WORKSPACE: BLANKET IGNORE (2026-07-29) ---
|
|
# The per-user patterns above only covered memory/uploads/attachments and a handful of
|
|
# file extensions, which left every app-generated content directory exposed — detective/
|
|
# (case evidence: 고소장, 통화녹취 m4a, 정신과 소견서, 가족관계증명서), generated-media/,
|
|
# music/, pptx/, satellite-images/, writer/, code/ and more. That is private user data
|
|
# (403MB of it) that must never reach the remote, so ignore the whole subtree instead of
|
|
# chasing each new app's output folder. Files already tracked here (prompts/*.md and other
|
|
# shipped templates) are unaffected — gitignore does not untrack them, and their edits
|
|
# still show up in git status. Use `git add -f` to track a genuinely new template.
|
|
.smallclaw/users/*/workspace/
|
|
|
|
# --- GATEWAY RUNTIME STATE / SECRETS (2026-07-29) ---
|
|
# active-sessions.json maps live bearer tokens -> {username, role:"admin"}; committing it
|
|
# would publish working admin credentials for the gateway. The rest is per-machine runtime
|
|
# state or a stale pre-vault config backup — none of it belongs in the repo.
|
|
.smallclaw/active-sessions.json
|
|
.smallclaw/google-usage.json
|
|
.smallclaw/config.json.bak-*
|
|
.smallclaw/workspace/memory/
|
|
.smallclaw/workspace/weather-maps/
|
|
.smallclaw/workspace/task_result_*.txt
|
|
.smallclaw/voice/
|
|
|
|
# --- ROOT WORKSPACE RUNTIME FILES ---
|
|
# Keep: SOUL.md, SELF.md, IDENTITY.md, USER.md, MEMORY.md, AGENTS.md, TOOLS.md, BOOT.md, README.md
|
|
# These are default templates that ship with SmallClaw — new users need them.
|
|
workspace/memory/
|
|
workspace/tool_audit.log
|
|
workspace/HEARTBEAT.md
|
|
workspace/note.txt
|
|
workspace/*.html
|
|
workspace/*.js
|
|
workspace/*.css
|
|
workspace/*.py
|
|
workspace/*.sh
|
|
workspace/*.bat
|
|
workspace/*.txt
|
|
|
|
# --- DASHBOARD RUNTIME STATE ---
|
|
ai-dashboard/dashboard-state.json
|
|
ai-dashboard/dashboard-requests.json
|
|
|
|
# --- LOGS ---
|
|
gateway.log
|
|
gateway.err.log
|
|
*.log
|
|
|
|
# --- TEMP FILES ---
|
|
tmp_payload.json
|
|
mnt/
|
|
.tmp_*
|
|
.tmp_*/
|
|
.tmp_openclaw_*/
|
|
.tmp_codex_*
|
|
|
|
# --- VECTOR MEMORY (Chroma venv + data, large binary) ---
|
|
.chroma/
|
|
|
|
# --- NODE ---
|
|
node_modules/
|
|
dist/
|
|
*.js.map
|
|
package/
|
|
*.tgz
|
|
|
|
# --- TEST ARTIFACTS ---
|
|
tests/.golden-progress.log
|
|
|
|
# --- OS ---
|
|
.DS_Store
|
|
Thumbs.db
|
|
desktop.ini
|
|
|
|
# Valetudo 로봇청소기 (2호기 설치용 보관)
|
|
valetudo-helper-miioota
|
|
voicepack_ko/
|