Skip to content

Feature/in progress#14

Merged
KULEEEE merged 2 commits into
mainfrom
feature/inProgress
Feb 11, 2026
Merged

Feature/in progress#14
KULEEEE merged 2 commits into
mainfrom
feature/inProgress

Conversation

@KULEEEE
Copy link
Copy Markdown
Collaborator

@KULEEEE KULEEEE commented Feb 11, 2026

Summary

  • !ask 명령어 실행 시 Claude Code가 어떤 작업을 하고 있는지 Discord 채팅에 실시간으로 표시되도록 개선
  • 기존: 작업 완료까지 typing indicator만 보이고, 최종 결과만 한 번에 전송
  • 변경: 진행 메시지를 먼저 보내고, 도구 사용 상황을 실시간으로 업데이트한 뒤, 완료 시 결과 전송

변경 내용

실시간 진행 상태 표시 (src/sessions/claude.ts)

SDK query()의 async generator가 내보내는 중간 메시지를 캡처하여 onProgress 콜백으로 전달

  • assistant (tool_use) — Claude가 도구를 호출할 때 도구명 + 대상 파일/명령어 표시
  • tool_progress — 도구 실행 경과 시간 표시
  • stream_event (content_block_start) — 도구 사용 시작 시점 표시

도구별 이모지 매핑:

도구 표시
Read 📖 Reading 파일명
Edit / Write ✏️ Editing 파일명
Bash 🔧 Running 명령어
Grep / Glob 🔍 Searching 패턴
기타 ⚙️ 도구명

Discord 진행 메시지 관리 (src/commands/ask.ts)

  1. !ask 실행 시 ⏳ 작업 시작... 메시지 전송
  2. onProgress 콜백에서 동일 메시지를 .edit()으로 갱신 (2초 throttle로 rate limit 방지)
  3. 작업 완료 시 진행 메시지 삭제 후 최종 결과 전송

인터페이스 변경 (src/types.ts, src/sessions/multiSession.ts)

  • ISessionManager.sendMessage()에 optional onProgress 콜백 파라미터 추가
  • MultiSessionManager에서 내부 세션으로 onProgress 전달

Test plan

  • npx tsc --noEmit 타입 체크 통과
  • npm test 전체 테스트 (108개) 통과
  • 봇 실행 후 !ask로 파일 읽기/수정 등 여러 도구 사용하는 요청 테스트
  • 짧은 요청 (도구 사용 없음)에서도 정상 동작 확인

LeeJaeYeon added 2 commits February 11, 2026 17:07
@KULEEEE KULEEEE merged commit 750c067 into main Feb 11, 2026
3 checks passed
@KULEEEE KULEEEE deleted the feature/inProgress branch February 11, 2026 09:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant