Canopy: 오프라인 우선의 주권적 AI 백컨트리 가디언 및 3D 지형 탐험기
요약
Canopy는 오프라인 우선(offline-first)의 주권적 AI 백컨트리 동반자 앱입니다. 이 오픈 소스 도구는 등산객들이 디지털 기기에서 벗어나 자연에 몰입하도록 설계되었으며, 화면 사용을 최소화하는 것이 핵심 목표입니다. 주요 기능으로는 포켓 모드와 공간 음향 신호 알림, 그리고 배터리 절약을 위한 미니멀리스트 OLED 필드 모드가 있습니다.
핵심 포인트
- 오프라인 우선(offline-first)의 주권적 AI 백컨트리 도구입니다.
- 디지털 방해 요소를 최소화하여 자연 몰입을 유도합니다.
- 공간 음향 신호와 미니멀리스트 OLED 필드 모드를 활용합니다.
이것은 Hacktoberfest Open-Source AI Challenge Week 1: Touch Grass에 제출하는 글입니다.
내가 개발한 내용 (What I Built)
현대 아웃도어 기술은 깊은 아이러니를 안고 있습니다. 자연 탐험을 돕기 위해 설계된 앱들이 오히려 우리를 스크린에 가두는 경우가 많다는 것입니다. 등산객들은 배터리를 많이 소모하는 지도(map)를 보느라 고개를 숙이고, 연결되지 않은 클라우드 서비스(cloud service)를 새로고침하며, 야생에 몰입하기보다는 GPS 점들에 집착합니다. 설상가상으로, 등산객들이 휴대폰 신호가 0이 되는 외진 백컨트리 지역으로 나설 경우, 독점적인 클라우드 앱들은 완전히 멈춰버립니다.
**Canopy (Touch Grass / Backcountry Guardian)**는 오픈 소스(open-source)이며, 100% 주권적(sovereign), 오프라인 우선(offline-first)의 백컨트리 AI 동반자입니다. 이 앱은 등산객, 산악인, 자연 애호가들이 디지털 방해 요소로부터 안전하게 벗어나 "풀을 만지도록(Touch Grass)" 설계되었습니다.

스크린 사용을 최소화하도록 설계됨 (Engineered to Get You Off the Screen)
Canopy는 디지털 참여를 극대화하기보다는 의도적으로 화면 사용 시간을 최소화하도록 구축되었습니다:
- 포켓 모드 및 오디오 속삭임(Audio Whispers): 휴대폰을 재킷이나 배낭에 넣고 다니세요. Canopy는 백그라운드 환경 모니터링을 실행하며, 안전과 관련된 중요한 이벤트가 발생할 때만 미묘한 공간 음향 신호(spatial audio chimes)를 재생합니다 (예: 회귀 마감 시간 임박 또는 급격한 기압 하강).
- 미니멀리스트 OLED 필드 모드: 밝은 고산지대 햇빛이나 극도의 배터리 절약 상태에서는 Canopy가 순수한 검은색의 고대비 OLED 인터페이스로 전환되며, 필수적인 원격 측정 데이터(telemetry)만 표시합니다: 고도(altitude), 압력 변화량(pressure delta), 온도, 그리고 하드 터널어라운드 카운트다운입니다.
- 스크린 대 아웃도어 비율: 트레일 시간과 화면 켜짐 시간을 능동적으로 측정하여, 자연에 존재하는 시간이 150배 더 많도록 장려합니다.
핵심 야외 기능 (Key Wilderness Capabilities)
- 상호작용 3D 디지털 트윈 히말라야 지형 (WebGL/Three.js): 전설적인 등반 경로(Hampta Pass, Kedarnath Summit Ridge, Triund, Chandrashila Peak)를 위한 절차적(Procedural) 3D 고산 지형을 제공하며, 실시간 레이캐스트(raycasted) 고도 검사기, 경사 위험 기울기, 적설량 커버리지, 웨이포인트 플라이스루 기능을 갖추고 있습니다.
- 온디바이스 스펙트럴 생물음향학 (On-Device Spectral Bioacoustics): 클라우드 왕복(cloud roundtrips) 없이 고산 조류의 울음소리(Alpine Chough, Himalayan Monal, Snow Partridge, Hermit Thrush)를 실시간 Web Audio FFT 스펙트로그램으로 분석합니다.
- 미기후 물리 엔진 (Microclimate Physics Engine): 인터넷 날씨 예보가 필요하지 않으며, 고도 1,000m 상승당 기압 감률(barometric lapse rate) 및 복사 동결 예측 모델링을 통해 온도 하강을 예측합니다.
- 물리 센서 브릿지 (Physical Sensor Bridge) (Web Serial API): USB/Bluetooth를 통해 아두이노 UNO Q와 BME280 같은 하드웨어 마이크로컨트롤러에 직접 연결하여 기압 및 온도를 실시간으로 수집합니다.
- 결정론적 안전 엔진 (Deterministic Safety Engine): 위험한 AI 환각(hallucinations)을 방지하는 엄격한 가드레일 계층입니다—협상할 수 없는 회항 마감 시간, 저체온증 경고를 강제하며, 처방약 추천은 엄격히 거부합니다.

데모 (Demo)
- Live GitHub Repository: https://github.com/shrutirai29/hacktober
- Interactive Web App: https://shrutirai29.github.io/hacktober/
- Developer Diagnostics: 앱 내
/diagnostics를 방문하여 실시간 WebLLM 검증 계약 자체 테스트(self-test)를 실행하고, 센서 스트림을 확인하며, 레드팀 안전 스위트(red-team safety suites)를 점검할 수 있습니다.
코드 (Code)
GitHub logo shrutirai29 / hacktober
🌿 Canopy — 백컨트리 가디언 (Backcountry Guardian)
오프라인 우선 오픈-가중치 AI 백컨트리 안전 및 지형 인텔리전스 시스템 (Offline-First Open-Weight AI Backcountry Safety & Terrain Intelligence System)
'터치 그래스(Touch Grass) 오픈소스 AI 챌린지'를 위해 구축됨
_
Canopy는 사용자를 화면에서 벗어나 자연 세계로 안내하도록 설계되었습니다:
REAL-WORLD SENSORS & ENVIRONMENT
↓
CANOPY TELEMETRY CONTEXT ENGINE
...
전체 프로젝트는 MIT 라이선스 하에 오픈 소스로 공개되었습니다. 여기에는 클라우드 AI API 키가 전혀 없고, 원격 추적 스크립트도 없으며, 유료 구독 장벽도 없습니다.
# 3단계로 클론 및 실행하기
git clone https://github.com/shrutirai29/hacktober.git
cd hacktober/t2
...
제작 과정 (How I Built It)
3계층 주권적 AI 폴백 파이프라인 (The 3-Tier Sovereign AI Fallback Pipeline)
깊은 산골 계곡에서는 셀룰러 데이터가 존재하지 않습니다. Canopy는 엄격하게 로컬 기반의 3계층 주권적 AI 아키텍처로 이를 해결합니다:
User Query + Trail Telemetry
↓
[1단계: WebGPU WebLLM (SmolLM2-135M / Qwen2.5-0.5B)]
...
- 1단계 — 인 브라우저 WebGPU WebLLM (
@mlc-ai/web-llm): 경량 오픈 가중치 모델(SmolLM2-135M-Instruct또는Qwen2.5-0.5B-Instruct)을 WebAssembly로 컴파일하여 클라이언트의 GPU를 통해 WebGPU로 실행합니다. 모델 가중치는 브라우저 CacheStorage에 로컬 캐시됩니다. - 2단계 — 로컬호스트 데몬 (Ollama): 현장 워크스테이션용으로
gemma2:2b또는qwen2.5:0.5b와 같은 오픈 가중치 모델을 실행하기 위해 로컬 HTTP 루프백(http://localhost:11434)을 통해 연결합니다. - 3단계 — 결정론적 안전 엔진 및 Micro-MLP: WebGPU 없이도 전력 소모가 낮은 장치에서 텔레메트리 행렬을 구문 분석하여 즉각적인 규칙 기반 안전 지침을 제공하는 브라우저 네이티브 폴백입니다.

안전 우선: 결정론적 가드레일 레이어 (The Deterministic Guardrail Layer)
LLM은 창의적이지만, 백컨트리(backcountry) 안전에는 결정론적인 경계가 필요합니다. Canopy는 타협 없는 안전 계층을 구현했습니다:
⚠️ [IMG:N] 형식 토큰은 이미지 placeholder 입니다. 번역하지 말고 원래 위치에 그대로 유지하세요.
- 커피우어 인포서 (Curfew Enforcer): 시간이 회복 시간(예: 함프타 패스에서 오후 1시 30분)을 넘길 경우, 추가 등반을 장려하는 모든 모델 출력은 가로채져 의무적인
즉시 후퇴하라 (TURN BACK IMMEDIATELY)지침으로 재정의됩니다. - 의료 정화 프로토콜 (Medical Sanitization Protocol): 처방약 용량(예: 다이아목스/아세타졸아마이드 밀리그램)을 엄격하게 제거하고 차단하며, 보수적인 수분 공급, 휴식 및 즉각적인 하강 프로토콜을 강제합니다.
- 텔레메트리 조작 거부 (Telemetry Fabrication Rejection): 모니터링되지 않은 지표나 존재하지 않는 센서에 대한 평가를 요청받으면, 시스템은 데이터 환각(hallucinate)을 거부합니다.
엄격한 레드팀 및 유닛 검증
주장된 모든 기능은 자동화된 테스트로 뒷받침됩니다:
- 16개 유닛 회귀 테스트 (
npm test): WebLLM 자체 테스트 계약(CANOPY_WEBLLM_OK), 적대적 프롬프트 주입 중화, 의료 정화, 오디오 FFT 엣지 케이스를 검증합니다. - 15개 레드팀 감사 테스트 (
npm run test:audit): 3단계 폴백 체인, 모든 소스 파일에 걸친 클라우드 API 키 유출 감사, Vite 개발 서버 시작, 그리고 극단적인 환경 입력(-50°C ~ +50°C, 0m ~ 10,000m)을 검증합니다.
Open Innovation은 왜 중요한가?
Open innovation은 Canopy에 대한 단순한 이념적 선호도가 아닙니다—야생 생존 AI를 가능하게 하는 유일한 아키텍처입니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기

