앱이 기대하는 base-backend 계약(envelope·JWT·/chat/stream SSE)을 그대로 구현. Django 는 로그인·세션 미러(SQLite/PG)·OpenCode 이벤트 번역만 맡고, 답변은 전용 OpenCode 인스턴스(opencode/ workspace, codeassist 에이전트)가 만듦. - accounts: 이메일 로그인, access 60분 / refresh 14일, entra/config 는 501 - chat: 세션 목록·검색·메시지·취소 + POST /chat/stream 어댑터(part.delta→token, idle→usage/done, 클라 끊겨도 턴 감시 태스크가 DB 마무리, 첫 이벤트 60초 타임아웃) - OpenCode 1.18 멀티 프로젝트라 모든 요청에 ?directory= 부착 - docs-lib 에 OpenCode SDK 1.18.6 타입 원본, pytest 32 Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
30 lines
1.0 KiB
Markdown
30 lines
1.0 KiB
Markdown
# 2026-09-16
|
|
|
|
진행 중 feature: **`specs/005-chat-image-input/`** — 채팅 이미지 입력
|
|
|
|
## 사용자 요청
|
|
|
|
- base-backend의 새 이미지 채팅 계약에 맞춰 화면 캡쳐와 클립보드 이미지를 전송함.
|
|
|
|
## 완료
|
|
|
|
- 새 대화와 기존 대화에서 PNG/JPEG/WebP 이미지를 질문에 첨부함.
|
|
- 이미지-only 전송과 서버 동일 제한을 적용함.
|
|
- 전체 frontend 검사 통과.
|
|
|
|
## 다음
|
|
|
|
- 실제 backend 환경에서 vision 응답을 수동 확인함.
|
|
|
|
---
|
|
|
|
## (오후) 백엔드를 OpenCode + Django 로 — `specs/006-opencode-django-backend/`
|
|
|
|
- 분석·결정 5개: `docs/tech/opencode-django-backend.md` (Django 새로 / 토큰 localStorage / Entra 안 함 / OpenCode 분리 / 스니펫 로컬)
|
|
- 구현: `5_django_backend/` 신설 + 프론트 Bearer 모드 2군데. 진행 상황 `specs/006-opencode-django-backend/stage-1.md`
|
|
- 배포는 보류(사용자 지시)
|
|
|
|
## 다음
|
|
|
|
- 유효한 LLM 키로 실제 답변 스트림 확인 → 프론트 실연결 → Tauri 빌드 end-to-end
|