Claude Code + Discord 봇 + codex 호출 통합 플러그인 — 개인 vault 자동화 + 멀티에이전트 운영
역할 경계: ThisCode = 봇 하네스 운영 번들(운영 규칙·GraphRAG 운영 vendor·배포 계약). 범용 지식관리 제품은 knowledge-manager, 플러그인 설치 창구는 tofukyung-plugins입니다.
지식관리와 vault 검색은 km (knowledge-manager) 플러그인이 제공합니다 —
claude plugin marketplace add treylom/tofukyung-plugins+claude plugin install km@tofukyung-plugins로 설치한 뒤/km:search와/km:knowledge-manager를 사용하세요. ThisCode 1.4.0 부터는 이 스킬들의 자체 사본을 포함하지 않습니다.🌐 English version: README.md · 📘 Setup: docs/SETUP.md (개발자) · 🌱 docs/SETUP-BEGINNER.md (초보자) · 🧩 docs/AGENTS.md (Custom Hybrid v1.0) · ⚙️ 설정 가이드 (CLAUDE.md · soul.md · rules · Skills 2.0) · 🆕 최근 변경 (설치 시 읽기 — AI가 자동 반영할 최신 변경 요약) · 📖 시작 안내서 (한국어 PDF) (초보자, 14p) · 📄 전체 정리 한 장 (HTML) · 🤝 ThisCodex (Codex 동반 런타임)
Claude Code 또는 Codex에 그대로 붙여 넣으세요:
https://github.com/treylom/ThisCode 에 있는 설치 파일을 따라 단계별로 설치해줘. README.md부터 읽고, 안내형 설정을 진행하고, 토큰/자격증명이나 시스템 패키지를 건드리기 전에는 나에게 확인하고, 마지막에 문서의 검증 명령까지 실행해줘.
처음 오셨나요? 핵심은 — 구조화된 옵시디언 볼트를 두고, 각 작업 디렉토리에 적합한 봇을 배치해, 디스코드로 그 봇들을 쓰고 봇끼리 협업하게 하는 것입니다. 공유 메모리·검색은 부가 효과지 핵심이 아닙니다. 사전 지식 없이 위 Setup 링크부터 따라오시면 됩니다.
WSL / Linux / macOS 어디서든 bash install.sh 한 줄로 Claude Code + tmux 환경을 세팅합니다. 핵심 가치: 구조화된 옵시디언 볼트 안에서 각 작업 디렉토리에 적합한 봇을 두고, 디스코드로 쓰며, 봇끼리 협업하게 하는 것. 지식관리·볼트 검색은 km 플러그인이 맡고, ThisCode의 LLM 모델 라우팅과 봇 운영 기능은 그 봇들을 쓸모 있게 만드는 보조 기능입니다.
시작 전 권고: (1) 옵시디언 폴더 구조부터 잡으세요; (2) 메모리·내부검색을 제대로 쓰려면 옵시디언 설치 권장. 옵시디언 없이? 단순 연결용 디스코드 봇만 띄울 수도 있지만, 그 경우 볼트 메모리·내부 검색 품질은 보장되지 않습니다.
Prerequisite: Claude Code CLI 이미 install + auth 의무 (https://claude.ai/code). install.sh 의 install-superpowers.sh step 안 claude CLI 호출.
wizard 안 거치고 single command 으로 install 원하는 learner 용:
git clone https://github.com/treylom/ThisCode ~/.claude/plugins/thiscode
cd ~/.claude/plugins/thiscode
bash scripts/install.sh --apply본 single command 안 install 되는 5 dep:
- superpowers plugin (Claude Code plugin manager 호출)
- ripgrep (Tier 4 baseline — brew / apt / dnf / apk 다 pkg manager fallback)
- Obsidian CLI detect (Tier 2 — 미설치 시 manual download 안내)
- GraphRAG core (Tier 1 — vendored Python runtime + 7-pkg pip install)
- Dense embedding (옵션 4-channel — 사용자 confirm 1회, ~1GB)
Install 후: bash scripts/healthcheck.sh (6-phase 검증: superpowers + 로컬 도구 점검 + GraphRAG + Dense embedding).
Windows 사용자: 길이 둘입니다. (a) 봇 페어링만 필요하면 — 네이티브 PowerShell 로 «지금» 됩니다. Claude Code + Discord 플러그인의 channels 디렉터리(~/.claude/channels/discord-<bot>/)만 있으면 되고 tmux·cmux·데몬이 전혀 필요 없습니다. 봇 세션 = DISCORD_STATE_DIR 를 설정한 PowerShell 창에서 claude 를 띄운 것뿐입니다 (docs/10-windows-powershell-bots.md). (b) install.sh 전체 환경(oh-my-tmux, 멀티세션 헬퍼)이 필요하면 — WSL 2 (Ubuntu 22.04+). Windows 에서 AI 어시스턴트가 설치를 대신 하고 있다면 (a) 경로를 지정하십시오 — 데몬이나 백그라운드 서비스로 tmux 를 재현하려 들면 안 됩니다.
(a) 경로의 봇 기동은 PowerShell 창에서 이 두 줄입니다 —
--channels플래그가 없으면 Discord 게이트웨이에 접속하지 않습니다(무반응 최종 관문):$env:DISCORD_STATE_DIR = "$HOME\.claude\channels\discord-<botname>" claude --channels plugin:discord@claude-plugins-official
의존성 출처(Dependency provenance): 20 entries 매트릭스 (Plugin 1 + Spec doc 2 + External tools 8 + optional GUI guide 1 + Optional Dense 3 + Vendored Python runtime 1 + Vendored prompt skill 1 + Vendored Slack bridge 1 + Vendored vault-search MCP 1 + thiscode 1) ATTRIBUTIONS.md 안 명기. Cross-license compatibility Phase 1 GPT-5.5 review 검증 (MIT + Apache 2.0 + BSD-3 + Unlicense — 모두 permissive, copyleft zero) — Slack bridge 항목은 저작권자 결정으로 MIT 통일(2026-08-06), 본 repo와 동일.
# 1. thiscode 설치 (Claude Code plugin)
git clone https://github.com/treylom/ThisCode ~/.claude/plugins/thiscode
# 2. wizard 진입 — env 자동 감지 + Phase 추천
bash ~/.claude/plugins/thiscode/scripts/claude-discode-init.sh
# 또는 Claude Code 안에서
/thiscode:initwizard 가 vault 상태 / 도구 / 자원 detect 후 8 Phase progressive journey 추천:
- Phase 1-2: 즉시 (ripgrep + obsidian-cli)
- Phase 3: 100+ 노트 → ThisCode 선택 로컬 도구인
vault-search MCP권유 (km 검색 fallback과 별개) - Phase 4: 500+ 노트 권유 / 1000+ strong / 옵션 언제나 (GraphRAG)
- Phase 5: 2000+ 노트 → km 플러그인
/km:knowledge-manager-atMode R preflight (read-only 진단) - Phase 6-7: advanced (Dashboard / 하이브리드 4채널)
GraphRAG = 환경 감지 + 선택사항 (사용자 spec). 노트 수 미충족 시도 force install 가능.
각 플러그인 커맨드와 스킬에는 내장 도움말이 있습니다:
Claude Code 는 플러그인의 commands/ 와 skills/ 를 둘 다 슬래시로 발견합니다. 현재 세션에 실제 로드된 전량은 Claude Code 에서 / 를 입력해 thiscode: 로 필터하거나 내장 /help 로 확인하십시오. 아래는 대표 진입점입니다:
/thiscode:start— 초기 셋업 wizard (환경 인식, 봇 페어링, 검증)/thiscode:init— 경험자용 경량 셋업/thiscode:add-bot— 추가 Discord 봇 1개 신설 (soul.md 템플릿 + token + 페어링)/thiscode:slack-configure— Discord 대신(또는 추가로) Slack에 봇 연결 (claude-channel-server 브리지 자동 셋업)/thiscode:km— km (knowledge-manager) 플러그인 안내 (/km:knowledge-manager)/thiscode:open-meeting— 다봇 협업용 회의실 구조 생성/thiscode:codex-check— Codex CLI 브리지 연결 확인/thiscode:install-hooks(skill:skills/install-hooks/SKILL.md) — SessionStart / UserPromptSubmit / PreToolUse / Stop 훅의 등록 상태를 검사합니다 (플러그인을 설치하면 훅은 이미 등록됩니다 — 동봉된hooks/hooks.json을 Claude Code 가 직접 싣습니다). 훅은 봇 세션에서만(DISCORD_STATE_DIR이 있을 때) 동작하고, 일반 세션에서는 아무 출력도 동작 변화도 없습니다. 플러그인 설치본에서는 등록을 검사하고 옛~/.claude/settings.json병합 잔존을 정리하며(안 지우면 같은 훅이 두 번 발화),hooks/hooks.json이 없는 체크아웃에서는 예전처럼 병합합니다./thiscode:create-bot이 같은scripts/install-hooks.sh를 대신 실행합니다.- … 그 외 다수 —
/thiscode:help가 설명과 함께 전량을 나열합니다 (문서에 박아둔 목록이 아니라, 실행 시점에 두 표면을 직접 훑습니다)./를 입력해thiscode:로 필터해도 같습니다
각 스킬 (bootstrap, init, meetings, shared-memory 등)의 SKILL.md 에는 "How to Use This Skill" 절이 있어 언제 호출하는지, 무엇을 하는지 설명합니다. 지식관리·vault 검색 스킬은 이제 여기 포함되지 않습니다 — km (knowledge-manager) 플러그인을 설치해 /km:knowledge-manager · /km:search 를 쓰십시오.
본 플러그인의 Discord 봇 및 Agent Teams 통합은 선택사항입니다. km 플러그인의 볼트 검색은 독립적으로 작동하며, Discord 페어링 및 tmux 세션은 고급 다중 봇 운영에만 필요합니다.
Slack을 쓰고 싶다면? Discord 대신(또는 추가로) Slack으로도 봇을 페어링할 수 있습니다 —
/thiscode:slack-configure실행 시 CLI 로그인·앱 설치 승인·토큰 입력 같은 사람 관문만 안내받고 나머지는 자동으로 처리됩니다. 상세: skills/slack-configure/SKILL.md. 운영·트러블슈팅 참조: skills/slack-bridge/SKILL.md.
봇을 한 번 페어링(연결)하면, Discord가 vault 봇들의 리모컨이 됩니다 — 터미널 없이도:
- 💬 멘션으로 작업 의뢰 —
@봇 오늘 노트 요약해줘하면 봇이 자기 세션에서 일하고 채널로 답해요. - 🧵 스레드로 회의 — 스레드를 하나 열어 여러 봇이 협업. 각 봇이 공유 회의 문서를 같이 읽고 씁니다.
- ⏰ 잠든 봇 깨우기 — 조용해진 봇은 채널 메시지로 다시 깨웁니다 (신호는 항상 채널로 — 봇의 tmux에 입력을 직접 꽂는 건 금지,
rules/discord-comms.md§5). - 📎 파일·이미지 주고받기 — 스크린샷이나 문서를 첨부하면 봇이 받아서 작업해요.
- 🧹 세션 정리 — 사람(운영자)이
/compact·/clear같은 세션 관리 명령을 봇 tmux 세션에 직접 보내 컨텍스트를 비울 수 있어요 (rules/discord-comms.md§5 R5).
여기 적은 건 일상적으로 자주 쓰는 동작이에요. 채널 모드로 세션을 더 정교하게 다루는 모델(Admin / Main / Session 라우팅)은
docs/connector-session-ux.md참고.
이 절은 2026-05-13 ThisCode legacy 로컬 검색 도구 기준선입니다.
benchmark/results/2026-05-13.json에는 해당 날짜 실행 메타데이터가 남아 있지만
Tier 1·2를 건너뛰었으므로 과거 문서의 모든 수치를 검증하는 자료는 아닙니다.
km 플러그인의 현재 runtime 성능 측정이 아니며, 현재 vault 검색은 /km:search를
사용하십시오. 이 저장소에는 GraphRAG·vault-search
MCP·Obsidian CLI·ripgrep의 성능 특성을 비교하는 개발자용 benchmark runner도 남아
있으므로 본인 vault에서 직접 측정해 환경별 차이를 확인할 수 있습니다.
연결된 benchmark 가이드는 그때 쓰던 번호(vault-search MCP=2,
Obsidian CLI=3)를 그대로 두었고, 지금 km 순서는 아래에 따로 적었습니다.
# 본인 vault 로 측정 (Tier 1 GraphRAG 사용 시 server 별도 띄움 필요)
VAULT=~/path/to/your/vault bash benchmark/runners/run-all.sh
python3 benchmark/report-generator.py --print-only수치는 vault 크기·컨텐츠·hardware 에 따라 크게 다릅니다 — v1.0 은 고정 벤치 수치 대신 러너와 측정 방법론을 동봉합니다. 위 스크립트를 본인 vault 에 돌려서 의미 있는 수치 확보.
측정 방법 + 해석 가이드 + 본인 vault fixture 작성: docs/BENCHMARK.md CI 자동 측정 결과(sample fixture, Tier 4 ripgrep): benchmark/results/
thiscode 는 검색 결과 받은 후 응답 생성 시 task complexity 따라 모델을 자동 선택:
| Task | Claude 사용자 | GPT/Codex 사용자 |
|---|---|---|
| 단순 (factual lookup) | Haiku | gpt-5.5 |
| 중간 (요약 / 분류) | Sonnet | gpt-5.5-codex |
| 종합 (multi-doc 추론) | Opus[1m] | gpt-5.5-codex-spark |
scripts/route-model.mjs heuristic — query length / 키워드 기반. user override --model haiku|sonnet|opus.
km 검색 순서: Tier 1 GraphRAG → Tier 2 Obsidian CLI → Tier 3 Obsidian MCP → Tier 4 텍스트 검색(ripgrep 등).
ThisCode의 vault-search MCP 설치기는 별도 로컬 도구이며 /km:search fallback Tier가 아닙니다.
📚 용어 모르겠으면? → GLOSSARY.md
30+ 용어 풀이 (LLM / MCP / CEL / embedding / recall@5 / kg_depth / fallback / dispatcher / 등).
curl -fsSL https://raw.githubusercontent.com/treylom/ThisCode/main/install.sh | bash또는 git clone 후 로컬 실행:
git clone https://github.com/treylom/ThisCode.git ~/code/thiscode
cd ~/code/thiscode && bash install.shinstall.sh 가 10 step 자동 수행:
| 단계 | 작업 | 의존 |
|---|---|---|
| 1 | OS / Distro detect (WSL / Linux / macOS) | uname |
| 2 | 필수 패키지 (tmux + git + curl + jq + build-essential) | apt / dnf / yum / brew / pacman |
| 3 | nvm + Node.js LTS | curl |
| 4 | Claude Code 전역 설치 | npm |
| 4.5 | Codex CLI (@openai/codex) 전역 설치 — codex 호출 layer 의존 |
npm |
| 5 | oh-my-tmux (gpakosz/.tmux) 자동 install |
git |
| 6 | (선택) thiscode tmux.conf.local 적용 |
user confirm |
| 6.5 | Obsidian CLI (Mac brew cask / WSL Windows native / Linux snap·flatpak·deb) — Tier 2 fallback | brew / snap / 수동 |
| 7 | Claude Code plugin install 안내 (marketplace 등록 + commands/·skills/ 두 발견 표면의 슬래시) |
(Claude Code 안 슬래시) |
| 8 | 첫 봇 wizard 안내 (/thiscode:start) |
(Claude Code 안 슬래시) |
Claude Code 는 플러그인의 commands/*.md 와 skills/<name>/SKILL.md 를 둘 다 슬래시로 발견합니다 — skills/ 쪽도 /thiscode:<name> 으로 바로 호출됩니다.
전체 목록은
/thiscode:help로 보십시오 — 설명까지 붙여 전량을 나열합니다. 이 문서에 목록을 박아두지 않는 이유는, 박으면 명령이 하나 늘 때마다 낡고 그 낡음이 아무 신호도 내지 않기 때문입니다.help는 실행 시점에commands/*.md와skills/<이름>/SKILL.md를 직접 훑습니다. (Claude Code 에서/를 입력해thiscode:로 필터하거나 내장/help를 써도 같은 목록을 볼 수 있습니다.)
아래는 대표 진입점입니다:
/thiscode:start— 메인 wizard (환경 인식 + Discord 봇 셋업 + 첫 대화 검증)/thiscode:install-hooks(skill:skills/install-hooks/SKILL.md) — 플러그인이hooks/hooks.json으로 이미 등록한 SessionStart + UserPromptSubmit + Stop(회의 재독) 훅을 검사하고, 옛~/.claude/settings.json병합 잔존을 정리합니다(기존 사용자 훅 보존). 봇 세션 밖에서는 조용히 통과합니다./thiscode:create-bot— 신규 봇 디렉토리 + soul.md template 셋업/thiscode:add-bot— 추가 Discord 봇 1개를 기존 셋업에 신설/thiscode:create-slack-bot— Slack 워크스페이스 연결 (claude-channel-server 브리지 자동 셋업, 별칭:/thiscode:slack-configure)/thiscode:km— km (knowledge-manager) 플러그인 안내 (/km:knowledge-manager·/km:search)/thiscode:open-meeting— 회의실 폴더 신설 (다 봇 협업 4-file)/thiscode:codex-check— Codex CLI 설치 + OAuth 인증 + 모델 picker 검증- … 그 밖에 다수 (
/→thiscode:필터로 현재 세션의 전량 확인)
ℹ️ 훅은 플러그인 설치와 함께 등록됩니다(
hooks/hooks.json동봉). 단 봇 세션에서만 동작하므로,DISCORD_STATE_DIR없이 켠 세션에서는 soul.md 가 주입되지 않습니다 — 그건 고장이 아니라 설계입니다. 등록 상태가 궁금하면/thiscode:install-hooks스킬로 검사하세요.
순정 Claude Code 부트스트랩 (hook + 봇 없는 상태):
1. /thiscode:install-hooks # install-hooks 스킬: SessionStart + UserPromptSubmit + Stop(회의 재독) hook 등록
2. /thiscode:add-bot # 첫 봇 디렉토리 + soul.md 셋업
3. /thiscode:start # 메인 wizard (Discord 페어링 + 첫 대화 검증)
4. /thiscode:codex-check # Codex CLI 활성 확인 (선택)
thiscode 가 packaging 한 우리 vault 운영 노하우:
- 03-shared-memory.md — 공유 메모리 4-tier (T1 git-tracked / T2 machine-specific / T3 project-meetings / T4 per-bot WD)
- memory-dreaming.md — 메모리 정리(지우지 않고 옮김) 쉬운 설명: 안 쓰는 메모리를 작업공간 밖 보관소로 옮기고 명령 한 줄로 되돌립니다(체크섬 검증). 9칸 전부 같은 기준표(Codex 포함)·보수적(자동이동 실측 0건·애매하면 사람검토)·기준은 자기 실수서 학습. 도구
scripts/memory_dreaming.py(--scan기본 미리보기 /--apply게이트 /--restore), 주1회 강제(YAML+세션시작 경고+launchd 3중) - orchestrator-watchdog (
scripts/meeting_watchdog.py) — 회의 진행 watchdog (회의마다 권장 — 감시 봇 1개 초대, 첫 dispatch 전에 가동): 회의 스레드 신설 시 ~5분마다 진행 점검(메인테이너 vault 는 ~3분 운영), 목표+전체 작업 완료 시에만 자동 종료(Claude/goal응용). fail-closed = 살아있는 회의 절대 잘못 종료 안 함. 05-meeting-thread-protocol.md §2.3 + rules/meeting-protocol.md §5 와 짝 - 04-obsidian-cli.md — 과거 Obsidian CLI 설정 가이드 (기존 로컬 3-Tier CLI → MCP → Write/Read/Grep 흐름; 현재 km 계약은 별도 문서 참조) + 알려진 버그·워크어라운드
- 06-claude-code-server.md — Claude Code 서버 기능 (
claude -p헤드리스 + MCP server + tmux session vs headless 분리 패턴) - 08-debug-노하우.md — 디버깅 24+ 카테고리 (Workflow / Code Review / Vault Path / 회의 protocol / Security / Time / LLM Prompt / Schedule / Plugins / External Apps / Cross-bot SoP)
- (예정)
05-meeting-thread-protocol.md— 회의 신설 출처 기반 cross-check + Discord REST API thread + audience direct mention + 3-channel 병행 보고 - (예정)
07-codex-호출-layer.md—/tofu-at-codex+ codex-exec-bridge 패턴 + Hermes 호환 subprocess plugin
claude auth login # 🐧 👤 → 브라우저 인증tmux new-session -s claude # 🐧 👤
cd ~/<project> && claude # 🐧 🤖Claude Code 안에서:
/thiscode:start # 🤖 wizard 진입
wizard 가 단계별 안내:
- Discord 봇 생성 (Developer Portal 이동)
- 봇 토큰 입력
- 첫 봇 페르소나 결정 (
soul.mdtemplate) - 페어링 + 첫 대화 검증
본 레포의 코드블록에 자주 등장하는 아이콘:
| 아이콘 | 의미 |
|---|---|
| 🖥️ | Windows PowerShell |
| 🐧 | WSL Ubuntu / Linux 터미널 |
| 🤖 | Claude Code 가 자동 실행 |
| 👤 | 사용자가 직접 입력 |
| ✅ | 성공 |
| ❌→✅ | 실패 후 수정 |
thiscode/
├── install.sh # 환경 자동 detect + 10-step 자동화
├── README.md # 영문판 (default, 글로벌 사용자 대비)
├── README.ko.md # 본 파일 (한국어, vault-first)
├── LICENSE # MIT
├── CODEX_REVIEW.md # Codex 1차 adversarial review
├── CODEX_VERIFY.md # Codex 2차 verify (회복 후)
├── .claude-plugin/
│ ├── marketplace.json # thiscode-marketplace
│ └── plugin.json # thiscode v1.4.1
├── commands/ # 슬래시 발견 표면 ①
│ ├── start.md # 메인 wizard (4-step 부트스트랩)
│ ├── add-bot.md # 추가 Discord 봇 신설
│ ├── slack-configure.md # Slack 연결
│ ├── open-meeting.md · codex-check.md
│ └── … # 전량은 `/` → thiscode: 필터로
├── skills/ # 슬래시 발견 표면 ② (vault-mirror 정책)
│ # skills 도 /thiscode:<name> 으로 직접 호출된다
│ # install-hooks · create-bot · create-slack-bot ·
│ # self-update · help 가 여기 산다
│ ├── codex-exec-bridge/ # vault skill mirror (폴더)
│ ├── init/ # onboarding wizard skill
│ ├── bootstrap/ # plugin 설치 wizard
│ ├── meetings/ # 회의실 4-file protocol
│ ├── shared-memory/ # 4-tier 메모리 정책
│ └── … # 전량은 `/` → thiscode: 필터로
├── hooks/ # 봇 운영 hook 7종
│ ├── bot-session-init.sh # SessionStart → soul.md 자동 inject
│ ├── discord-slash-cmd.sh # UserPromptSubmit → 슬래시 강제
│ ├── regression-self-check.sh # 4-gate self-check 표 주입
│ ├── rule-router.sh # UserPromptSubmit → 규칙 라우팅
│ ├── dispatch-room-gate.py # PreToolUse → 공용 채널 봇 응답 점검
│ ├── meeting-stop-reread.sh # Stop → 활성 회의 marker 재확인
│ └── reply-gate.sh # Stop → 최종 답변 gate
├── templates/ # 봇 페르소나 5종 + bot-roles-matrix · bot-checkup-checklist
│ ├── soul-general-assistant.md # default 범용 비서
│ ├── soul-research-bot.md # 자료조사·교차검증
│ ├── soul-writing-bot.md # 글쓰기·퇴고
│ ├── soul-schedule-bot.md # 일정·Todo·알람
│ ├── soul-custom.md # 자유 페르소나 + anatomy 가이드
│ └── discord-state-dir-README.md # DISCORD_STATE_DIR 환경변수 구조
├── configs/ # 우리 색깔 tmux.conf.local 등
│ └── tmux.conf.local
└── docs/ # 한국어 친절 가이드 (Zettelkasten 톤)
├── 03-shared-memory.md # 4-tier 메모리
├── 04-obsidian-cli.md # 3-Tier 폴백
├── 06-claude-code-server.md # headless + MCP server
└── 08-debug-노하우.md # 디버깅 24+ 카테고리
templates/bot-checkup-checklist.md — 만든 봇이 적어둔 대로 움직이는지 7항으로 자가 점검(봇 생성 직후 1회, 이후 월 1회 권장).
WSL Ubuntu 또는 macOS 새로 깔린 머신에서, Claude Code 환경 처음 만들 때.
curl -fsSL https://raw.githubusercontent.com/treylom/ThisCode/main/install.sh | bash이미 Claude Code 사용 중인 사용자가 Discord 봇으로 자기만의 페르소나 운영 시작.
- 첫 봇
soul.md작성 (wizard 가 template 제공) - Discord 봇 생성 + 페어링
- tmux session 운영 패턴 학습
처음 도입하는 사용자가 본 레포를 그대로 따라하며 자기 머신에 Claude Code + 봇 환경 셋업.
| 환경 | 지원 | 비고 |
|---|---|---|
| WSL Ubuntu 20.04+ | ✅ primary | install.sh 가장 잘 테스트된 환경 |
| Linux native (Debian / Ubuntu / Fedora / Arch) | ✅ | 패키지 매니저 자동 detect |
| macOS | ✅ | brew 기반 |
| Windows native (PowerShell) | ✅ 봇 페어링 | Discord 봇 페어링이 Claude Code channels(~/.claude/channels/)로 네이티브 동작 — tmux / cmux / 데몬 불필요. 기동 = $env:DISCORD_STATE_DIR 설정 후 claude --channels plugin:discord@claude-plugins-official (--channels 없으면 미접속). tmux 기반 부가물(oh-my-tmux, install.sh 멀티세션 헬퍼)만 여전히 WSL 필요 — docs/10-windows-powershell-bots.md 참조 |
| Agent runtime | 호환 | 비고 |
|---|---|---|
| Claude Code | ✅ primary target | Anthropic 공식 CLI |
| Hermes Agent (NousResearch) | 🟡 부분 | SKILL.md 는 portable, Hermes plugin wrapper 는 추후 (deferred) |
| Codex CLI / Cursor / Gemini CLI / Goose 등 | 🟡 SKILL.md 만 | agentskills.io 표준 채택 — name + description 호환 |
source ~/.bashrc 로 안 될 수도 있음. 새 터미널을 완전히 닫고 다시 열기.
chmod +x install.sh
./install.sh또는 bash install.sh 로 권한 없이도 실행.
이미 tmux 안에서 claude 실행한 경우. Ctrl+B → c 로 새 window 사용 (ain 함수가 자동 처리).
원격에 다른 commit 이 있어 충돌:
git pull --rebase
git push봇에 다시 DM → 새 코드 발급.
봇 답변에 페르소나가 반영되지 않는다면 SessionStart 훅이 그 세션에 닿지 않은 것입니다. 플러그인이 설치 시 등록해 두고 훅은 DISCORD_STATE_DIR 이 없으면 일부러 조용히 지나가므로, 흔한 원인은 둘 — 그 변수 없이 켠 세션이거나, 플러그인이 꺼져 있는 경우입니다. 등록 상태 검사:
/thiscode:install-hooks # install-hooks 스킬 실행
skills/install-hooks/SKILL.md 스킬은 hooks/hooks.json 에 bot-session-init.sh 가 실려 있고 그 파일이 실제로 있는지 확인하고, 옛 병합 경로가 ~/.claude/settings.json 에 남긴 중복 항목을 제거합니다 — 사용자가 직접 넣은 훅은 보존하고, 파일명만 같고 ThisCode 소유 표식이 없는 항목은 지우지 않고 「손으로 검토」 경고로만 보여줍니다.
bash scripts/install-graphrag.sh --check # python3 + 번들 소스 + requirements + venv + server health
bash scripts/install-graphrag.sh --preflight # Python 3.10+ / disk 5GB+ / port 8400 / 번들 소스 점검
bash scripts/install-graphrag.sh --apply # venv 생성 + pip install + nohup uvicorn--apply 의 동작:
- venv 위치 =
~/.cache/thiscode/graphrag/venv(writable home cache) - 번들 소스 =
<thiscode>/vendor/graphrag/scripts/(21 file) - requirements =
vendor/graphrag/scripts/requirements.txt(7 deps: networkx / louvain / pyyaml / fastapi / uvicorn / numpy / httpx) - entry =
uvicorn search_server:app --host 127.0.0.1 --port 8400(background nohup) - log =
~/.cache/thiscode/graphrag/run/graphrag.log
bot-session-init.sh(SessionStart) —DISCORD_STATE_DIRenv 로 봇 자동 감지 → soul.md + 봇별 WD 메모리 + 공용 규율 주입discord-slash-cmd.sh(UserPromptSubmit) — 사용자 프롬프트 첫 줄이/cmd면 Skill 도구 호출 강제regression-self-check.sh(UserPromptSubmit) — 회귀 패턴 방지용 4게이트 자가점검 표 주입rule-router.sh(UserPromptSubmit) — 현재 프롬프트에 맞는 규칙 안내 연결dispatch-room-gate.py(PreToolUse) — 봇 간 답장에 공유 회의실 규칙 적용meeting-stop-reread.sh(Stop) — 종료 전 활성 회의 표식 재확인reply-gate.sh(Stop) — 세션 종료 전 최종 답장 게이트 적용
init— 온보딩 wizard (env 감지 + 8-Phase 추천)bootstrap— 설치 wizard 도우미shared-memory— 4-tier 메모리 정책 + Read-before-Editmeetings— 4-file 회의 프로토콜 + 출처 기반 크로스체크 + Discord REST API 스레드slack-bridge— Slack 브리지 운영·트러블슈팅 (발신자 게이트, 봇간 통신 허용목록, 라이브 회의 캔버스 레시피)codex-exec-bridge— Codex CLI 서브프로세스 +/tofu-at-codex참조
thiscode 는 Codex CLI 를 1급 브리지 층으로 포함합니다:
codex --version·codex exec --no-stream --model gpt-5.5를 서브프로세스로 실행- 용도: 적대 검토, 코드 세컨드 오피니언, 대규모 병렬 리서치
- 검증:
/thiscode:codex-check
schemas/agent-spec.json 이 agentskills.io 기본 + Hermes provides_* + thiscode classroom 정책 + 동적 게이트 + 벤치마크 통합을 묶은 에이전트별 계약 레지스트리를 정의합니다. v1.0 은 tier: core(init wizard)와 km 플러그인의 /km:knowledge-manager-at Mode R 사전점검 워크플로우용 phases: 를 추가했습니다.
본 레포는 treylom 의 vault 운영 경험 종합.
- PR / issue 환영
- 디버깅 노하우 공유 환영
- 사용자 피드백 환영
MIT — 자유 사용 / 자유 수정 / 자유 재배포.
상세: LICENSE
- gpakosz/.tmux (oh-my-tmux): https://github.com/gpakosz/.tmux
- agentskills.io (SKILL.md open standard): https://agentskills.io
- Anthropic Claude Code: https://www.anthropic.com/claude-code
- NousResearch/hermes-agent: https://github.com/NousResearch/hermes-agent


