fix(bot): 기동 버그 3건 수정 + feat(vikunja): 프로젝트 관리 기능 추가
- fix: apscheduler 누락 의존성 설치 - fix(main): StreamHandler cp949 UnicodeEncodeError 수정 (UTF-8 강제) - fix: workspaces.json 경로 Certes→Variet-Worker 수정 - fix(gemini): MCP issues detected 노이즈 필터 추가 - fix(bot): on_command_error 핸들러 추가 (CommandNotFound 로그 오염 방지) - feat(vikunja): projects 커맨드 (전체 프로젝트 목록+태스크 통계) - feat(vikunja): report 커맨드 (태스크+git log+devlog 종합 현황) - docs(agent): Vikunja 도구 섹션 확장 (12개 커맨드+라벨 가이드) - docs: known-issues 2건 추가, devlog 세션 1 기록
This commit is contained in:
@@ -81,3 +81,15 @@
|
||||
- **원인**: Wiki.js `update` mutation이 `tags` 파라미터 생략 시 내부적으로 undefined 처리하여 crash
|
||||
- **해결**: `update_page()`에서 `tags`가 None이면 `get_page()`로 기존 tags를 먼저 조회하여 항상 전달
|
||||
- **주의**: Wiki.js GraphQL mutation은 optional로 보이는 필드도 생략 시 에러 가능. 항상 모든 필드를 명시적으로 전달
|
||||
|
||||
### [2026-03-16] main.py StreamHandler — cp949 콘솔에서 한글/특수문자 UnicodeEncodeError
|
||||
- **증상**: 봇 기동 시 `UnicodeEncodeError: 'cp949' codec can't encode character '\u2014'` 로 프로세스 비정상 종료
|
||||
- **원인**: `logging.StreamHandler(sys.stdout)` 기본값이 시스템 인코딩(cp949) 사용. 로그 메시지의 em-dash(`—`) 등 유니코드 문자가 인코딩 불가
|
||||
- **해결**: `io.TextIOWrapper(sys.stdout.buffer, encoding="utf-8", errors="replace")`로 StreamHandler를 UTF-8 고정
|
||||
- **주의**: Windows 한글 환경에서 **모든 콘솔 출력**에 cp949 인코딩 문제 발생 가능. `subprocess.run`도 `encoding="utf-8", errors="replace"` 명시 필수
|
||||
|
||||
### [2026-03-16] workspaces.json — 다른 PC 사용자 경로로 봇 기동 실패
|
||||
- **증상**: `[WinError 267] 디렉터리 이름이 올바르지 않습니다` — Gemini agent 호출 시 cwd 오류
|
||||
- **원인**: `workspaces.json`의 path가 다른 PC의 사용자 경로(`c:\Users\Certes\...`)로 하드코딩
|
||||
- **해결**: 현재 머신의 사용자 경로(`c:\Users\Variet-Worker\...`)로 수정
|
||||
- **주의**: 멀티 환경 배포 시 workspaces.json의 절대 경로가 환경별로 다를 수 있음. 상대 경로 또는 환경변수 사용 고려
|
||||
|
||||
Reference in New Issue
Block a user