Attach to existing tmux Claude session

This commit is contained in:
2026-02-17 04:04:28 +09:00
parent e616bebdb9
commit b83929fac2
7 changed files with 133 additions and 39 deletions

View File

@@ -5,11 +5,12 @@
## 동작 방식
1. Slack에서 `/start-claude` 실행
2. 로컬에서 `claude` 프로세스(기본값)가 PTY로 시작됨
3. Slack 채널 메시지가 CLI 입력으로 전달됨
4. CLI 출력이 Slack으로 다시
5. `/stop-claude`로 세션 종료
1. 로컬에서 Claude를 tmux 세션으로 미리 실행 (`tmux new -s claude claude`)
2. Slack에서 `/start-claude` 실행
3. 브릿지가 기존 tmux 세션에 attach
4. Slack 채널 메시지가 CLI 입력으로
5. CLI 출력이 Slack으로 다시 전송됨
6. `/stop-claude`로 브릿지 연결 해제 (tmux 세션은 유지)
## 빠른 시작
@@ -34,7 +35,7 @@ cp .env.example .env
- `SLACK_ALLOWED_CHANNEL_ID`
선택 환경 변수:
- `DEFAULT_SHELL` (기본: `claude`)
- `TMUX_SESSION_NAME` (기본: `claude`)
- `PTY_READ_TIMEOUT` (기본: `5`)
- `OUTPUT_BUFFER_INTERVAL` (기본: `2.0`)
- `MAX_MESSAGE_LENGTH` (기본: `3000`)
@@ -55,6 +56,14 @@ cp .env.example .env
## 실행
먼저 로컬에서 Claude tmux 세션을 실행:
```bash
tmux new -s claude claude
```
그 다음 브릿지 실행:
```bash
lazy-enter
# 또는
@@ -62,9 +71,9 @@ python -m lazy_enter
```
실행 후 Slack의 허용된 채널에서:
- `/start-claude`: 세션 시작
- `/start-claude`: 기존 세션에 연결
- 일반 메시지 전송: Claude CLI로 입력 전달
- `/stop-claude`: 세션 종료
- `/stop-claude`: 브릿지 연결 해제 (세션 유지)
## 테스트 및 품질 점검