ESP32-S3 Bench Guide
ESP32‑S3 N16R8 벤치 가이드: 실시간 핀아웃, 강의, 시뮬레이터 및 벤치 로그
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
교사를 위한 AI 업무 파트너. 가정통신문·기안·품의 초안, 수업 자료, 생활기록부 문구, 업무 상담을 교직 8~10년 차 선배 교사의 감각으로 도와주는 웹앱입니다.README 전문 보기 ↗
교사를 위한 AI 업무 파트너. 가정통신문·기안·품의 초안, 수업 자료, 생활기록부 문구, 업무 상담을 교직 8~10년 차 선배 교사의 감각으로 도와주는 웹앱입니다.
.ics로 내보내 구글·아웃룩 캘린더에 넣습니다.이 앱은 서버에 어떤 데이터도 저장하지 않습니다(로그인 시 동기화 데이터 제외). 다만 입력한 내용과 첨부한 파일은 사용자의 키로 AI 사업자에게 전송되므로, 학생·학부모의 실명이나 연락처 등 개인정보는 입력하지 않도록 안내하고 있습니다. 첨부 파일은 Anthropic Files API에 올라가고 이 앱의 서버에는 사본이 남지 않습니다.
web_fetch와 code_execution은 세대를 맞춰야 합니다. 2026년판 web_fetch를 쓰려면
code_execution도 2026년판이어야 합니다. 지금은 검증된 2025년 조합(web_fetch_20250910 +
code_execution_20250825)을 함께 쓰고 있습니다. 이 도구들과 Files API는 정식 기능이라
anthropic-beta 헤더가 필요 없습니다. 없어진 베타 이름을 보내면 400이 납니다.
헤더가 남아 있는 곳은 MCP 커넥터(mcp-client-2025-11-20) 하나뿐입니다.
Next.js 16 (App Router) · React 19 · TypeScript · Tailwind CSS v4
npm install
npm run dev
http://localhost:3000 접속 후 설정에서 Anthropic API 키를 입력하면 바로 사용할 수 있습니다. 서버 환경변수는 필요하지 않습니다.
없으면 로그인·동기화 기능이 숨겨지고 나머지는 그대로 동작합니다.
| 변수 | 용도 |
|---|---|
AUTH_SECRET | 세션 쿠키 서명용 임의 문자열 (32자 이상) |
AUTH_GOOGLE_ID / AUTH_GOOGLE_SECRET | Google OAuth 클라이언트 |
UPSTASH_REDIS_REST_URL / UPSTASH_REDIS_REST_TOKEN | 계정별 동기화 저장소. Vercel의 Upstash 연동을 쓰면 KV_REST_API_URL / KV_REST_API_TOKEN 이름으로 들어오는데, 둘 다 인식합니다 |
구글 OAuth 리디렉션 URI: https://<도메인>/api/auth/callback/google
Vercel에 그대로 배포됩니다. 환경변수 설정 없이 동작합니다.
npx vercel --prod
src/
app/
page.tsx 메인 화면 (대화·업무·첨부·폴더 상태 관리)
api/chat/route.ts 4개 사업자 스트리밍 프록시 + SSE 정규화 + 도구 이벤트 + pause_turn 이어받기
api/files/ 첨부 업로드 중계 · 생성 파일 내려받기 프록시
components/
ChatHeader 프로필 사진·상태·일정·설정
Avatar 표정 5종 크로스페이드
Sidebar 업무 체크리스트 · 즐겨찾는 양식 · 대화 목록
MessageBubble 마크다운 + 특수 블록 분기
DocCard 복사·txt·인쇄 가능한 문서 카드
TaskWidget D-day 체크리스트 위젯
FolderBar 내 PC 폴더 연결 상태
FolderPicker 연결된 폴더에서 파일 고르기
Composer, Welcome, SettingsModal
lib/
agent.ts 김선생 페르소나 + 모드별 프롬프트 ← 문구 수정은 주로 여기
providers.ts 사업자별 엔드포인트·모델·델타 추출 ← 모델 추가는 여기
blocks.ts kt-doc / kt-tasks 블록 파싱
mood.ts 표정 5종 정의 · 감정 태그 파싱 · 휴리스틱 폴백
forms.ts 즐겨찾는 양식 프리셋
ics.ts 캘린더(.ics) 생성
stream.ts 정규화된 SSE 파싱
tools.ts Claude 서버 도구 정의 · MCP 서버 조립 ← 도구 추가는 여기
files.ts 첨부 업로드 · 결과 파일 내려받기
folder.ts File System Access API (폴더 연결·저장)
session.ts 구글 OAuth · 서명 세션 쿠키 (의존성 없음)
account.ts 세션 조회 · 동기화 병합 로직
kv.ts Upstash Redis REST
storage.ts localStorage 저장/불러오기
김선생은 모든 답변을 [감정:calm] 같은 한 줄로 시작합니다. 이 줄은 화면에 보이지 않고 프로필 사진을 바꾸는 데만 쓰입니다.
값은 calm / confident / thinking / concerned / cheerful 다섯 개이며, 모델이 태그를 빠뜨리면 guessMood()가 본문을 보고 추정합니다.
얼굴 이미지는 public/avatars/*.webp에 있습니다.
김선생은 결과물을 두 종류의 코드펜스로 감싸 출력하고, 앱이 이를 위젯으로 바꿉니다.
```kt-doc
제목: 문서 제목
---
본문
```
```kt-tasks
업무: 가을 현장체험학습
기준일: 2026-10-15
D-30 | 학교운영위원회 심의 자료 제출
2026-10-01 | 전세버스 계약 확인
```