Slack 앱을 새로 만듭니다
api.slack.com/apps에서 Create New App을 누르고 From scratch를 선택합니다.
- App Name: 예를 들어 `AI Assistant`
- Workspace: 사용할 Slack 워크스페이스
이 문서는 Slack 앱을 만들고, 내 컴퓨터에서 작은 Python 프로그램을 켜서, Slack 메시지를 Codex나 Claude Code 명령으로 전달하는 가장 단순한 설치 방법을 설명합니다. 특히 교수, 연구자, 연구실 운영자가 출장, 세미나, 강의자료, 행정 문서 정리를 맡길 때의 흐름을 공개 가능한 예시로 정리했습니다.
Socket Mode를 쓰면 공개 웹주소나 포트 개방 없이 내 컴퓨터에서 Slack 이벤트를 받을 수 있습니다.
Codex를 쓸 사람은 Codex CLI, Claude를 쓸 사람은 Claude Code CLI만 설치하면 됩니다.
Slack 토큰과 API 키는 `.env`에만 넣고 GitHub에는 올리지 않습니다.
아래 예시는 모두 공개용 가상 사례입니다. 실제 이름, Slack ID, 학교 내부 문서, 개인정보가 들어간 파일명은 사용하지 않았습니다.
출장 폴더에 있는 초청장, 개인정보 동의서, 교통편 PDF, 발표자료 PPTX를 확인해 일정, 준비물, 제출해야 할 문서만 요약하게 합니다.
강의 공지, 연구실 회의 메모, 학생에게 보낼 안내문을 Slack DM에서 초안으로 만들되 학생 이름과 학번은 답변에 노출하지 않게 합니다.
첨부파일을 읽어 할 일, 마감, 회신 필요 여부를 정리합니다. 논문 리뷰처럼 민감한 업무는 규칙 파일에 처리 기준을 적어 둡니다.
개인정보가 포함된 원문을 그대로 붙여 넣기보다, 로컬 폴더를 보게 하고 답변에서 민감한 값을 빼라고 지시합니다.
~/Academic-Work/Meetings/2026-Spring-Seminar 폴더를 확인해서
출장 일정, 준비물, 제출해야 할 문서만 요약해줘.
이름, 전화번호, 주민번호, 계좌번호는 답변에 쓰지 마.
강의자료 폴더의 이번 주 슬라이드를 보고
학생들에게 보낼 공지 초안을 5줄 이내로 써줘.
개인 학생 이름은 언급하지 마.
반복되는 업무 방식은 작업 폴더의 `AGENTS.md` 같은 규칙 파일에 적어 둡니다. 그러면 매번 길게 설명하지 않아도 비서가 같은 기준으로 처리합니다. 전체 예시는 교수 업무용 규칙 템플릿에서 볼 수 있습니다.
# 교수 업무 비서 규칙
- 답변에는 학생 이름, 학번, 전화번호, 계좌번호를 쓰지 않는다.
- 출장 폴더에서는 일정, 교통편, 제출 문서, 발표자료 점검 항목만 요약한다.
- 캘린더 추가는 사용자가 명시적으로 요청한 일정만 한다.
- 논문 피어리뷰 요청은 공개 답변에서 논문 제목과 저자 정보를 생략한다.
- 확실하지 않은 내용은 추정하지 말고 확인이 필요한 항목으로 표시한다.
처음 해보는 사람은 아래 순서대로 하나씩 진행하면 됩니다. 막히면 마지막 점검표부터 확인하세요.
Slack API 화면에서 앱을 만들고 DM 이벤트, Bot 권한, Socket Mode를 켭니다.
Codex 또는 Claude Code를 설치하고 터미널에서 한 번 로그인합니다.
토큰을 `.env`에 넣고 Python 브리지를 켜면 Slack DM으로 요청할 수 있습니다.
아래 항목이 있어야 설치가 깔끔합니다. 모르면 일단 체크하지 말고 다음 단계에서 확인하세요.
node -v
npm -v
python3 --version
Codex를 npm으로 설치하려면 Node.js 18 이상과 npm이 필요합니다. 브리지는 Python 3.10 이상을 사용합니다. Claude Code는 공식 네이티브 설치를 쓰면 Node 없이도 설치할 수 있습니다.
Slack 앱은 메시지를 받을 “비서 계정”입니다. 아래 이름은 예시이므로 원하는 이름으로 바꿔도 됩니다.
api.slack.com/apps에서 Create New App을 누르고 From scratch를 선택합니다.
Features > App Home에서 Show Tabs > Messages Tab을 켭니다. 이어서 Allow users to send Slash commands and messages from the messages tab도 켭니다.
Settings > Socket Mode에서 Enable Socket Mode를 켭니다. 이어서 App-Level Token을 만들 때 scope는 `connections:write`를 선택합니다.
Features > Event Subscriptions에서 Enable Events를 켠 뒤, Subscribe to bot events에 아래 이벤트를 추가합니다.
Features > OAuth & Permissions > Bot Token Scopes에서 아래 권한을 추가합니다.
OAuth & Permissions 화면의 Install to Workspace를 누릅니다. 설치 후 나오는 Bot User OAuth Token을 복사합니다.
한 컴퓨터에 둘 다 설치해도 되지만, 처음에는 하나만 고르는 편이 문제를 줄입니다.
OpenAI 공식 문서 기준으로 npm 설치 후 `codex`를 한 번 실행해 로그인합니다.
npm i -g @openai/codex
codex
브리지에서는 `codex exec`를 사용합니다. 처음에는 작업 폴더 안에서만 쓰도록 `workspace-write` 권한으로 시작하는 것을 권합니다.
Anthropic 공식 문서는 macOS, Linux, WSL에서 네이티브 설치를 권장합니다. 터미널에 아래 명령을 붙여 넣고, 설치가 끝나면 `claude`를 실행해 로그인합니다.
curl -fsSL https://claude.ai/install.sh | bash
claude
npm으로 설치해야 하는 환경이라면 `npm install -g @anthropic-ai/claude-code`도 공식 지원됩니다. 이 경우 `sudo npm install -g`는 권한 문제와 보안 위험이 있어 피하세요. 브리지에서는 `claude -p`를 사용합니다.
아래 명령은 이 저장소의 템플릿을 내려받아 실행하는 흐름입니다. `AI_BACKEND` 값만 `codex` 또는 `claude`로 고르면 됩니다.
Git이 설치되어 있으면 아래 명령을 씁니다. Git이 낯설면 GitHub 페이지에서 Code > Download ZIP으로 받아도 됩니다.
git clone https://github.com/joonan30/slack-ai-assistant-guide.git
cd slack-ai-assistant-guide
비서 프로그램은 `~/ai-slack-assistant` 폴더에서 실행합니다. 공개 저장소와 실제 토큰이 들어가는 실행 폴더를 분리해 두면 실수로 비밀값을 올릴 위험이 줄어듭니다.
mkdir -p ~/ai-slack-assistant ~/ai-slack-workspace
cp templates/bridge.py templates/env.example templates/requirements.txt templates/run.sh ~/ai-slack-assistant/
cd ~/ai-slack-assistant
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt
`env.example`을 `.env`로 복사한 뒤, Slack에서 받은 `xoxb-...`, `xapp-...` 값을 붙여 넣습니다.
cp env.example .env
nano .env
chmod +x run.sh
./run.sh
터미널이 켜져 있는 동안 Slack DM이 작동합니다. Slack에서 앱에게 “안녕”이라고 보내서 답장이 오면 성공입니다.
AI 비서는 내 컴퓨터에서 명령을 실행할 수 있으므로, 공개 배포 전에는 아래 항목을 꼭 확인합니다.
설치 명령과 Slack 설정은 아래 공식 문서를 기준으로 작성했습니다.