초보자용 설치 매뉴얼

Slack DM으로 Codex 또는 Claude Code를 부르는 개인 AI 비서 만들기

이 문서는 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에서 초안으로 만들되 학생 이름과 학번은 답변에 노출하지 않게 합니다.

메일과 문서 정리

첨부파일을 읽어 할 일, 마감, 회신 필요 여부를 정리합니다. 논문 리뷰처럼 민감한 업무는 규칙 파일에 처리 기준을 적어 둡니다.

Slack DM 요청 예시

개인정보가 포함된 원문을 그대로 붙여 넣기보다, 로컬 폴더를 보게 하고 답변에서 민감한 값을 빼라고 지시합니다.

교수 업무용 프롬프트
~/Academic-Work/Meetings/2026-Spring-Seminar 폴더를 확인해서
출장 일정, 준비물, 제출해야 할 문서만 요약해줘.
이름, 전화번호, 주민번호, 계좌번호는 답변에 쓰지 마.
강의 공지 초안
강의자료 폴더의 이번 주 슬라이드를 보고
학생들에게 보낼 공지 초안을 5줄 이내로 써줘.
개인 학생 이름은 언급하지 마.

규칙 파일 예시

반복되는 업무 방식은 작업 폴더의 `AGENTS.md` 같은 규칙 파일에 적어 둡니다. 그러면 매번 길게 설명하지 않아도 비서가 같은 기준으로 처리합니다. 전체 예시는 교수 업무용 규칙 템플릿에서 볼 수 있습니다.

공개 가능한 AGENTS.md 예시
# 교수 업무 비서 규칙
- 답변에는 학생 이름, 학번, 전화번호, 계좌번호를 쓰지 않는다.
- 출장 폴더에서는 일정, 교통편, 제출 문서, 발표자료 점검 항목만 요약한다.
- 캘린더 추가는 사용자가 명시적으로 요청한 일정만 한다.
- 논문 피어리뷰 요청은 공개 답변에서 논문 제목과 저자 정보를 생략한다.
- 확실하지 않은 내용은 추정하지 말고 확인이 필요한 항목으로 표시한다.
공개 저장소에는 실제 출장 폴더 구조, 개인정보 동의서 원본, 내부 회의록, 실제 Slack 대화 로그를 넣지 않습니다. 예시는 항상 가상 이름과 가상 경로로 바꿔서 작성하세요.

전체 순서

처음 해보는 사람은 아래 순서대로 하나씩 진행하면 됩니다. 막히면 마지막 점검표부터 확인하세요.

예상 시간 30-60분

1. Slack 앱 만들기

Slack API 화면에서 앱을 만들고 DM 이벤트, Bot 권한, Socket Mode를 켭니다.

2. AI CLI 로그인

Codex 또는 Claude Code를 설치하고 터미널에서 한 번 로그인합니다.

3. 브리지 실행

토큰을 `.env`에 넣고 Python 브리지를 켜면 Slack DM으로 요청할 수 있습니다.

준비물

아래 항목이 있어야 설치가 깔끔합니다. 모르면 일단 체크하지 말고 다음 단계에서 확인하세요.

기본 확인

필요한 계정

필요한 프로그램

터미널에서 확인
node -v
npm -v
python3 --version

Codex를 npm으로 설치하려면 Node.js 18 이상과 npm이 필요합니다. 브리지는 Python 3.10 이상을 사용합니다. Claude Code는 공식 네이티브 설치를 쓰면 Node 없이도 설치할 수 있습니다.

Slack 앱 설정

Slack 앱은 메시지를 받을 “비서 계정”입니다. 아래 이름은 예시이므로 원하는 이름으로 바꿔도 됩니다.

Slack API

Slack 앱을 새로 만듭니다

api.slack.com/apps에서 Create New App을 누르고 From scratch를 선택합니다.

  • App Name: 예를 들어 `AI Assistant`
  • Workspace: 사용할 Slack 워크스페이스

앱에게 DM을 보낼 수 있게 합니다

Features > App Home에서 Show Tabs > Messages Tab을 켭니다. 이어서 Allow users to send Slash commands and messages from the messages tab도 켭니다.

이 설정이 꺼져 있으면 사용자가 비서 앱과 1:1 대화를 시작하지 못할 수 있습니다.

Socket Mode를 켭니다

Settings > Socket Mode에서 Enable Socket Mode를 켭니다. 이어서 App-Level Token을 만들 때 scope는 `connections:write`를 선택합니다.

나중에 `.env`에 넣을 `xapp-...` 토큰이 여기에서 나옵니다.

DM 메시지 이벤트를 구독합니다

Features > Event Subscriptions에서 Enable Events를 켠 뒤, Subscribe to bot events에 아래 이벤트를 추가합니다.

  • `message.im`: 비서와 1:1 DM을 주고받기 위한 필수 이벤트
  • `app_mention`: 채널에서 `@비서`로 부를 때만 필요

Bot Token Scopes를 추가합니다

Features > OAuth & Permissions > Bot Token Scopes에서 아래 권한을 추가합니다.

  • `chat:write`: 답장을 보내기 위해 필요
  • `im:history`: DM 내용을 읽기 위해 필요
  • `im:read`: DM 채널 정보를 읽기 위해 필요
  • `im:write`: 필요할 때 DM 채널을 열기 위해 사용
  • `app_mentions:read`: 채널 멘션까지 받을 때만 필요

앱을 워크스페이스에 설치합니다

OAuth & Permissions 화면의 Install to Workspace를 누릅니다. 설치 후 나오는 Bot User OAuth Token을 복사합니다.

`.env`에 넣을 `xoxb-...` 토큰이 여기에서 나옵니다.

Codex 또는 Claude 선택

한 컴퓨터에 둘 다 설치해도 되지만, 처음에는 하나만 고르는 편이 문제를 줄입니다.

AI CLI

Codex CLI 설치

OpenAI 공식 문서 기준으로 npm 설치 후 `codex`를 한 번 실행해 로그인합니다.

Codex 설치와 로그인
npm i -g @openai/codex
codex

브리지에서는 `codex exec`를 사용합니다. 처음에는 작업 폴더 안에서만 쓰도록 `workspace-write` 권한으로 시작하는 것을 권합니다.

브리지 설치와 실행

아래 명령은 이 저장소의 템플릿을 내려받아 실행하는 흐름입니다. `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

Python 가상환경을 준비합니다

의존성 설치
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -r requirements.txt

비밀 토큰을 `.env`에 넣습니다

`env.example`을 `.env`로 복사한 뒤, Slack에서 받은 `xoxb-...`, `xapp-...` 값을 붙여 넣습니다.

.env 만들기
cp env.example .env
nano .env
`.env` 파일은 비밀번호 보관함처럼 취급하세요. GitHub, Slack, 문서, 캡처 화면에 올리지 않습니다.

실행합니다

브리지 시작
chmod +x run.sh
./run.sh

터미널이 켜져 있는 동안 Slack DM이 작동합니다. Slack에서 앱에게 “안녕”이라고 보내서 답장이 오면 성공입니다.

공유 전 보안 점검

AI 비서는 내 컴퓨터에서 명령을 실행할 수 있으므로, 공개 배포 전에는 아래 항목을 꼭 확인합니다.

필수 점검

GitHub에 올리면 안 되는 것

  • Slack `xoxb-...`, `xapp-...` 토큰
  • OpenAI, Anthropic API 키
  • 개인 Slack 채널 ID, 사용자 ID, 내부 업무 규칙
  • 로그 파일, SQLite 상태 파일, 실제 대화 내용

권한을 줄이는 기본 원칙

  • 처음에는 개인 DM만 받습니다.
  • 채널 멘션은 꼭 필요할 때만 켭니다.
  • 작업 폴더를 좁게 지정합니다.
  • 위험한 명령을 자동 허용하지 않습니다.

마지막 점검표

공식 문서

설치 명령과 Slack 설정은 아래 공식 문서를 기준으로 작성했습니다.