Pythinker Code: 생각하고 코딩하는 터미널 기반 AI 엔지니어링 에이전트
요약
Pythinker Code는 터미널 환경에서 작동하는 AI 엔지니어링 에이전트입니다. 이 도구는 코드를 생성하기 전에 사용자의 리포지토리를 읽고 감사(audit)하며, 보안 및 취약점 스캐닝을 수행합니다. 모든 분석과 작업이 기존 셸 환경 내에서 이루어져 개발 워크플로우에 깊숙이 통합됩니다.
핵심 포인트
- 생각하고 코딩하는 방식의 AI 에이전트입니다.
- 코드 생성 전 리포지토리 감사 및 취약점 스캔을 수행합니다.
- 터미널 기반으로 작동하여 기존 셸 환경과 자연스럽게 통합됩니다.
<img src="https://raw.githubusercontent.com/PyModel/pythinker-cli/main/docs/media/logo.png" alt="Pythinker logo" width="42" align="top"> Pythinker Code
Think first, then code. Your terminal-native review-first AI engineering agent.
코드 리뷰어 · 보안 및 취약점 스캐너 · 근본 원인 디버거 — 그리고 코드를 생성하는 사람.
Pythinker는 사용자의 리포지토리를 읽고 감사(audit)하며, 분석 후에만 코드를 작성합니다. 모든 것이 이미 생활하고 있는 셸에서 이루어집니다.
<a href="https://pythinker.com">🌐 웹사이트</a> ·
<a href="#-quick-start">⚡ 빠른 시작</a> ·
<a href="#-features">✨ 기능</a> ·
<a href="#-ide-integration-via-acp">🧩 IDE 통합</a> ·
<a href="#-mcp-tooling">🔌 MCP</a> ·
<a href="#-privacy--telemetry">🔐 개인정보 보호</a> ·
<a href="#-development">🛠️ 개발하기</a>
<br /><br />
<img src="https://raw.githubusercontent.com/PyModel/pythinker-cli/main/docs/media/pythinker_cli.gif" alt="Pythinker Code 터미널 데모" width="860"> </div>💡 Pythinker란 무엇인가?
Pythinker Code는 사용자의 터미널에서 작동하는 오픈 소스, 리뷰 우선(review-first) AI 엔지니어링 에이전트입니다. 코드를 한 줄이라도 작성하기 전에, 사용자가 작성한 코드를 읽고 감사(auditing)하며, 취약점을 스캔하고, 실패의 근본 원인(root-causing)을 파악합니다. 바로 코드에 뛰어드는 채팅 비서와 달리, Pythinker는 코드 리뷰, 보안 스캐닝, 근본 원인 진단으로 시작하여 분석이 수정 지점을 가리킬 때만 파일을 편집합니다.
각 역할별로 최상급의 서브 에이전트(subagents)를 내장하고 있습니다. 여기에는 심각도 점수 기반의 diff 비평을 위한 code-reviewer, 검증된 취약점 발견에 대한 security-reviewer, 실패 근본 원인 분석을 위한 debugger, 그리고 후속 범위 지정 편집을 위한 coder/implementer가 포함됩니다. 이 모든 것이 사용자가 선택한 모델에 의해 구동되는 단일 반복 루프(iterative loop) 내에서 실행되며, 사용자의 저장소(repo), 셸(shell), 웹, 그리고 MCP 도구에 완전히 접근할 수 있습니다.
이 에이전트는 Agent Client Protocol (ACP)을 사용하므로 Zed나 JetBrains와 같은 ACP 인식 편집기(editor)에 깔끔하게 통합됩니다. 또한 Model Context Protocol (MCP) 서버를 로드할 수 있어, 다른 에이전트들이 사용하는 것과 동일한 도구들을 바로 사용할 수 있습니다. 그리고 해킹하기 쉽습니다: 서브 에이전트, 스킬(skills), 훅(hooks), 플러그인 모두 최상급의 확장 지점(extension points)입니다.
🎯 검토 · 보안 강화 · 진단 · 그 후 생성. 하나의 에이전트, 하나의 셸, 하나의 워크플로우. 탭 전환 불필요. 컨텍스트 손실 없음. 마법도 아님.
🆕 0.62.0 버전의 새로운 기능
- 장시간 세션 중 업데이트 표면화. Pythinker는 이제 주기적으로 새로 사용 가능한 릴리스를 확인하고, 각 새 업데이트 알림을 세션당 한 번 표시하며, 모든 검사에는 워치독(watchdog)을 설정하여 정지된 시도가 나중 재시도를 방해하는 것을 막습니다.
- 저장소 로컬 에이전트 워크플로우는 로컬 유지. 이 체크아웃은 이제 루트의
.agents/디렉토리를 버전 관리되는 프로젝트 콘텐츠가 아닌 로컬 에이전트 설정으로 취급합니다.
pythinker update, pip install --upgrade pythinker-code==0.62.0을 사용하거나, 릴리스 페이지에서 플랫폼별 네이티브 설치 프로그램을 사용해 업그레이드하세요.
✨ 기능
<table> <tr ><td width=Press Ctrl-X를 누르면 에이전트 내부의 직접 셸 프롬프트로 진입합니다. 명령을 실행한 후, 전체 컨텍스트가 유지된 상태로 AI 모드로 다시 돌아올 수 있습니다.
🧩 ACP IDE 통합 (ACP IDE Integration)
pythinker acp를 실행하고, 모든 Agent Client Protocol 에디터(Zed, JetBrains 등)는 전체 Pythinker 세션을 인라인으로 받게 됩니다.
🔌 MCP 도구 로딩 (MCP Tool Loading)
pythinker mcp를 사용하여 stdio 및 HTTP MCP 서버를 관리합니다. OAuth 기반 서버, 영속적인 설정(persistent config), 임시 파일 등 모든 것이 지원됩니다.
🤖 서브 에이전트 및 스킬 (Subagents & Skills)
내장된 서브 에이전트에 작업 위임을 할 수 있습니다. /skill:<name>을 통해 재사용 가능한 지침(instructions)을 로드하고, /flow:<name>을 통해 번들링된 프롬프트 흐름(prompt flows)을 로드합니다. pythinker skill list, pythinker skill lock, 그리고 pythinker skill verify-lock을 사용하여 프로젝트 스킬을 검사하고 그 해시를 skills-lock.json에 고정할 수 있습니다.
🪝 후크 및 플러그인 (Hooks & Plugins)
후크 이벤트(hook events)를 통해 도구 실행을 관찰하거나 차단할 수 있습니다. pythinker plugin으로 커뮤니티 확장을 설치하세요.
🌐 웹 및 시각화 UI (Web & Visualization UIs)
선택적인 웹 프론트엔드와 시각화 프론트엔드가 CLI와 함께 제공되어 더 풍부한 검사 워크플로우를 지원합니다.
</td> <td width="50%" valign="top">🤖 자체 모델 사용 (Bring Your Own Model)
세션별로 제공자(provider)와 모델을 교체할 수 있습니다: --model openai/gpt-5.5, 호스팅된 Pythinker 모델, 또는 사용자 지정 키를 사용할 수 있습니다.
📊 로컬 벤치마크 (Local Benchmarks)
/benchmark를 실행하여 활성화된 Pythinker 세션을 통해 결정론적(deterministic) 로컬 코딩 작업을 수행하고, 재생 가능한 아티팩트와 검증 보고서를 얻을 수 있습니다.
🧪 SWE 스타일 고정값 (SWE-Style Fixtures)
호스팅된 평가기(hosted evaluator) 없이도 SWE 스타일의 작업 입력을 원할 때, 신뢰할 수 있는 로컬 JSONL 고정값과 함께 /benchmark:swe --dataset <path> --trusted-dataset true를 실행하세요.
[NOTE]
빌트인 셸 명령어(예: cd)는 아직 셸 명령어 모드에서 지원되지 않습니다.
⚡ Quick Start
Pythinker는 모든 플랫폼에 대한 네이티브 설치 프로그램을 제공합니다. 사용 중인 OS와 일치하는 행을 선택하세요 — Python, Node 또는 uv 사전 요구 사항이 없습니다.
| Platform | Recommended install | Artifact source |
|---|---|---|
| 🪟 Windows | `irm https://pythinker.com/install.ps1 | iex` |
| ... | ||
모든 아티팩트는 일치하는 .sha256 파일을 포함합니다 — sha256sum, shasum -a 256, 또는 Get-FileHash를 사용하여 어떤 플랫폼에서든 설치 전에 검증하세요. |
설치 후, 모든 OS에서:
pythinker --version # 설치 확인
pythinker login # (선택 사항) 호스팅 제공업체 인증
pythinker # 대화형 TUI 시작
앱 내 업데이트 —
pythinker update는 GitHub Releases API를 쿼리하고 SHA-256 검증을 통해 빌드에 맞는 올바른 설치 프로그램을 재실행합니다. 사전 예방적 시작 확인을 비활성화하려면PYTHINKER_CLI_NO_AUTO_UPDATE=1을 설정하세요.
🪟 Windows — 네이티브 설치 프로그램
PythinkerSetup-0.62.0.exe는 Inno Setup 위자드입니다. 릴리스 빌드는 CI에서 Authenticode 비밀이 구성될 때 서명되며; 그렇지 않으면 설치 프로그램은 무서명 상태로 제공됩니다. 사용자별로 %LOCALAPPDATA% extbackslash Programs extbackslash Pythinker에 설치하고, 사용자의 PATH(HKCU extbackslash Environment)에 pythinker를 등록하며, 새로운 셸이 변경 사항을 인식하도록 WM_SETTINGCHANGE를 브로드캐스트합니다. UAC 프롬프트 없음.
# 한 줄 설치 (네이티브 .exe 다운로드, SHA-256 검증, 사용자별 실행)
irm https://pythinker.com/install.ps1 | iex
...
전체 기기 설치 (IT 관리 박스): . extbackslash PythinkerSetup-0.62.0.exe /ALLUSERS는 %ProgramFiles% extbackslash Pythinker에 설치하고 HKLM에 PATH를 작성합니다 (관리자 권한 필요).
업그레이드: 실행 중인 앱 내부에서 pythinker update를 사용하면 최신 설치 파일을 다운로드하고, SHA-256을 검증한 후, 가시적인 진행 상황( /SILENT /NORESTART /CURRENTUSER /CLOSEAPPLICATIONS /NORESTARTAPPLICATIONS)과 함께 Inno 인스톨러를 실행합니다.
제거: irm https://pythinker.com/uninstall.ps1 | iex를 사용하면 등록된 제거 프로그램이 실행되고, 남아있는 파일, PATH 수정 사항(사용자 및 시스템), 시작 메뉴 바로 가기, 그리고 제거 레지스트리 키들을 정리하며 결과를 검증합니다. $env:PYTHINKER_PURGE_DATA = "1"을 먼저 설정하지 않는 한, 사용자의 config/세션은 %USERPROFILE%\.pythinker에 보존됩니다. '앱 및 기능' → Pythinker Code → 제거를 통해서도 작동하며 파일과 PATH 수정 사항 모두를 되돌립니다.
🛡 첫 실행 시 SmartScreen 경고 — 릴리스용 Authenticode 비밀이 CI에서 구성될 때까지, 인스톨러는 서명되지 않은 상태로 배포되며 Windows에서는 *"Windows가 PC를 보호했습니다."*라는 메시지가 표시됩니다. 추가 정보 → 그래도 실행을 클릭하십시오. 서명이 온라인화되기 전까지는 게시된
.sha256을 무결성 검사(integrity check)로 사용하십시오.
<img src="https://img.shields.io/badge/-macOS-000000?style=flat-square&logo=apple&logoColor=white" alt="macOS"> — Homebrew tap
# 1. 설치
brew install PyModel/pythinker/pythinker-code
# Homebrew ≥ 5는 신뢰되지 않은 tap를 거부할 수 있습니다. 한 번 신뢰한 후 다시 실행하십시오:
...
이것은 curl 인스톨러가 사용하는 동일한 네이티브 GitHub Release tarball을 통해 Apple Silicon 및 Intel에서 작동합니다. 이 tap는 Pythinker 릴리스가 있을 때마다 자동으로 최신 포뮬라를 게시하므로, brew upgrade pythinker-code를 실행하면 항상 최신 버전을 찾게 됩니다.
업그레이드: brew upgrade pythinker-code (Homebrew 패키지는 자동 업데이트되지 않으므로, 최신 버전이 필요할 때마다 이 명령을 실행하십시오).
신뢰되지 않은 tap 거부 — Homebrew ≥ 5(HOMEBREW_REQUIRE_TAP_TRUST 사용 시)는 사용자에게 한 번 신뢰하도록 요청하기 전까지 타사 tap를 거부합니다:
brew trust pymodel/pythinker. 인앱 업데이트 프로그램은 이 거부를 감지하고 대신 실행할 것인지 제안합니다.
제거: brew uninstall pythinker-code && brew untap PyModel/pythinker.
Pythinker의 탭 저장소는 PyModel/homebrew-pythinker입니다.
— 자동 유지보수되므로 수동으로 수정하지 마십시오.
<img src="https://img.shields.io/badge/-Linux-FCC624?style=flat-square&logo=linux&logoColor=black" alt="Linux"> — 시스템 패키지
x86_64 및 aarch64 모두에 대한 네이티브 .deb 및 .rpm 패키지가 모든 GitHub Release에 첨부됩니다.
# Debian / Ubuntu (x86_64)
sudo dpkg -i pythinker-code_0.62.0_amd64.deb
sudo apt-get install -f # 만약 dpkg가 누락된 의존성을 보고하면 실행
...
두 패키지 모두 /usr/lib/pythinker/ 아래의 실제 바이너리를 실행하는 작은 /usr/bin/pythinker 런처를 배치하여 $PATH가 깔끔하게 유지됩니다.
설치 전 확인:
sha256sum -c pythinker-code_0.62.0_amd64.deb.sha256 # Debian/Ubuntu
sha256sum -c pythinker-code-0.62.0.x86_64.rpm.sha256 # Fedora/RHEL
업그레이드: Releases에서 새 .deb/.rpm을 다운로드하여 dpkg -i / dnf install로 덮어쓰십시오. 또는 실행 중인 앱 내부에서 pythinker update를 실행하면, 일치하는 새 패키지를 가져와 설치를 위해 sudo를 요청합니다.
제거:
sudo dpkg -r pythinker-code # Debian/Ubuntu
sudo rpm -e pythinker-code # Fedora/RHEL
<img src="https://img.shields.io/badge/-macOS-000000?style=flat-square&logo=apple&logoColor=white" alt="macOS"> / <img src="https://img.shields.io/badge/-Linux-FCC624?style=flat-square&logo=linux&logoColor=black" alt="Linux"> — curl-bash 네이티브 설치 프로그램
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub Claude Ecosystem의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기