Releases: TejNote/ccbot
Releases · TejNote/ccbot
Release list
v1.0.1 - upstream pending merge reconcile
[1.0.1] - 2026-05-14
upstream six-ddc/ccbot pending merge 3건을 cherry-pick. 버그픽스 only.
Fixed
- Interactive UI 버튼 누를 때 중복 메시지 생성 수정 (upstream
865ab89, six-ddc#67)- "Message is not modified" BadRequest를 별도 처리: 기존 메시지 유지하고 early return
- 다른 edit 실패 시에는 교체 메시지를 먼저 보내고 원본 삭제
- bind 시 사용자가 만든 Telegram 토픽 이름 rename 안 함 (upstream
350c653, six-ddc#73)- 사용자가 직접 만든 토픽 이름을 ccbot이 자동 변경하지 않음
- Write tool result의 line count 정확히 표시 (upstream
f5ddd7f)- 기존: Write의 tool_result는
File created successfully at: ...같은 확인 메시지라 line count가 항상 1이었음 - 변경: 원본
tool_use.input.content에서 line count 계산 (trailing newline 보정 포함) _format_tool_result_text에tool_input_data인자 추가 (시그니처 변경, 기본값None이라 fork 내부 호출과 호환)
- 기존: Write의 tool_result는
Tests
tests/ccbot/test_transcript_parser.py::TestFormatToolResultText갱신- parametrize에
tool_input_data컬럼 추가, Write 케이스를 새 동작에 맞춰 수정 - 전체 283/283 통과
- parametrize에
v1.0.0 - First official fork release
[1.0.0] - 2026-05-14
TejNote fork의 첫 공식 버전. 2026-04-27 이후 누적된 fork 전용 추가 사항을 한 번에 v1.0.0으로 정리합니다 (이전 내부 버전 0.1.0).
Added (새 기능)
- Codex / OMX provider 양방향 라우팅 (#4)
codex/codex-*tmux 창을 자동 감지해 텔레그램 토픽과 양방향 연결- Codex composer 전용 입력 경로: tmux
set-buffer+paste-buffer -d+Enter로 single bracketed-paste 이벤트 전달 (직접 send-keys 시 newline 누적 문제 우회) - 별도 status 파서
parse_codex_status_line:⏳ Working,🔧 <tool>라인 인식 - state.json 하위 호환: 기본값
provider=claude는 직렬화 생략 - OMX hook plugin (
ccbot-bridge.mjs):turn-complete이벤트 →ccbot send로 텔레그램 푸시
- 플러그인 스킬 메뉴
- 설치된 Claude Code 플러그인 스킬(superpowers, pr-review-toolkit, octo 등) 부팅 시 자동 스캔
/명령어로 텔레그램에 자동 등록, 한글 description 지원/favorite즐겨찾기 핀, 프로젝트별 사용 빈도 기준 자동 정렬commands/디렉터리도 스캔 (/octo:octo등 모든 CLI slash command 포함)
- MessageBatcher
- tool-use / thinking 이벤트를 주기적 요약(
⚙️ 작업 중 N건)으로 묶음 처리 CCBOT_BATCH_WINDOW환경 변수로 주기 설정 (기본 10초)
- tool-use / thinking 이벤트를 주기적 요약(
- DirectMessage 큐
- 명령어/사진/음성 확인 메시지를 사용자별 큐로 직렬화
- assistant 응답 사이에 ack 메시지가 끼어드는 현상 제거
ccbot sendCLI 서브커맨드ccbot send --session-id <uuid> "메시지"/ccbot send --window <창이름> "메시지"- 외부 hook(Stop, PostToolUse 등)에서 텔레그램 API 안 거치고 토픽에 직접 푸시 가능
- stale window_id guard:
thread_bindings에 매핑된 wid만 fallback 후보
Changed (기존 동작 변경)
- README에 fork 차이점 명시 + Changelog 섹션 추가 (#6)
Fixed (버그 수정)
- 상태 메시지 좀비 청소 (#2)
state.json에 live status message IDs 저장- 재시작 시 orphaned
⏳ Working메시지 자동 삭제
- status polling 안정화 (#5)
- background-shell-only 스피너(
Sautéed for 3s · 1 shell still running같은esc to interrupt신호 없는 라인)를 status update로 enqueue하지 않음 - 턴 종료 후 답변이 마지막 메시지로 안정적으로 남음
- background-shell-only 스피너(
- status 업데이트 경로 정리
- content task가 즉시 status를 re-enqueue하지 않고, status polling에 위임
- send_keys busy-state guard
- 수신 pane이 idle인지 먼저 확인하고 전송 → 입력 silent drop 방지
- /clear 후 session_map 갱신
/clear직후 다음 메시지가 새 세션으로 정상 매핑
- batch summary 큐 순회 수정 (#1)
- batch summary가 message queue를 정상 통과
- hook .env 파싱 보정
.env값의 quote 제거,TMUX_SESSION_NAME정규화
Telegram API 제약 대응
- 전체 bot command 수를 100개로 cap (Telegram API limit)
- 스킬 description 전체 길이를 Telegram ~5000자 한도 내로 budget
Pending upstream merges
six-ddc/ccbot:main에는 있지만 아직 fork에 reconcile 안 된 commit (후속 PR에서 cherry-pick 예정):
| Upstream commit | 설명 |
|---|---|
865ab89 (six-ddc#67) |
Interactive UI 버튼 누를 때 중복 메시지 생성되는 문제 수정 |
350c653 (six-ddc#73) |
bind 시 사용자가 만든 Telegram 토픽 이름을 rename하지 않도록 수정 |
f5ddd7f |
Write tool 결과의 line count 정확히 표시 |