Skip to content

Latest commit

 

History

History
286 lines (203 loc) · 16.2 KB

README.ko.md

File metadata and controls

286 lines (203 loc) · 16.2 KB

English | 한국어 | 中文 | 日本語

Gajae-Code 자율 코딩 에이전트 히어로 일러스트

G A J A E - C O D E

Encode intention. Decode software.
이미 결제 중인 플랜으로 돌아가고, 휴대폰으로 답하는 코딩 에이전트.

Website npm package MIT license Discord

빠른 시작 · 왜 · 코딩 플랜 · 휴대폰 · 워크플로 · 토큰 다이어트 · 컨트롤러 · 문서

이미 구독 중인 플랜으로 로그인하고, 파일 하나 바뀌기 전에 계획하고, 증거와 함께 실행하고 — 에이전트의 질문에는 터미널·휴대폰·자체 봇 어디서든 답하세요.

Gajae-Code(gjc)는 외부 코딩 에이전트 하네스입니다. 아무 저장소나 워크트리에 넣고 돌리세요. 별도 API 과금 없음. 토큰 단가 불안 없음. 터미널 앞 대기 없음.

Gajae-Code는 실험적인 베타 단계 프로젝트입니다. 거친 부분이 있을 수 있으니 중요한 작업에는 출력을 검증한 뒤 사용하세요.

이 문서는 영어 README.md의 번역본입니다. 내용이 다르면 영어 버전이 기준(SSOT)입니다.


왜 Gajae-Code인가?

대부분의 코딩 에이전트는 세 군데서 무너집니다: 요금을 두 번 물리고, 이해하기 전에 코드를 고치고, 키보드에서 벗어나는 순간 침묵합니다.

문제 어떻게 되나 Gajae-Code의 해법
별도 API 과금 플랜 요금 플러스 토큰당 API 비용 이미 결제 중인 코딩 플랜으로 /login — Claude, Codex, Cursor, Copilot, OpenCode Go, GOAT, ClinePass 등
코드부터 고치는 에이전트 이해 전에 수정 → 재작업 계획 게이트 워크플로: 인터뷰 → 계획 → 비평 → 그 다음에 변경, 승인 게이트 포함
터미널 종속 세션 새벽 2시에 질문이 오면 아침까지 정지 질문이 텔레그램/Discord/Slack으로 라우팅 — 어디서든 답변
컨텍스트 폭발 전체 파일 읽기와 로그 홍수가 윈도를 태움 구조 요약, artifact 스필, 캐시 인지 라우팅, 컴팩션

빠른 시작

설치 — Linux(x64/arm64), macOS(arm64/x64), Windows(x64) 프리빌드 바이너리 제공. npm/Bun 경로는 어디서나 동작:

bun install -g gajae-code
gjc

첫 실행 — 플랜 고르고 바로 시작:

/login                       프로바이더 / 코딩 플랜 선택
/skill:deep-interview        모호한 요구사항 명확화
/skill:ralplan               계획 수립 및 비평
gjc ultragoal create-goals --brief-file <승인된-계획>

실행 모드:

gjc                                # 현재 체크아웃에서 실행
gjc --tmux                         # tmux 기반 리더 세션
gjc --tmux --worktree my-task      # 위험한 작업을 위한 격리 워크트리
gjc @screenshot.png "뭘 바꿔야 할까?"   # 이미지 입력

나이틀리 채널: bun install -g gajae-code@nightly. 전체 설치 매트릭스, Windows 설정, 업데이트 채널, 셸 자동완성: docs/install.md.


쓰던 코딩 플랜 그대로

GJC가 지원하는 코딩 플랜과 프로바이더: Claude, ChatGPT/Codex, Cursor, GitHub Copilot, OpenCode Go, Kimi, GLM/Z.AI, MiniMax, Grok, Qwen, Command Code GOAT, ClinePass

한 번 로그인하면 이미 결제 중인 구독으로 GJC가 돌아갑니다. 세션 안에서 /login을 실행하고 플랜을 고르세요:

플랜 / 구독 OAuth 로그인
Claude Pro / Max anthropic
ChatGPT Plus / Pro (Codex) openai-codex (브라우저) · openai-codex-device (헤드리스)
Cursor cursor
GitHub Copilot github-copilot
OpenCode Zen / OpenCode Go opencode-zen · opencode-go
Kimi Code / Coding Plan / Moonshot kimi-code · moonshot
Z.AI GLM Coding Plan zai
MiniMax Coding Plan (해외 / 중국) minimax-code · minimax-code-cn
xAI (Grok) xai
Alibaba Token Plan / Qwen Portal alibaba-token-plan · qwen-portal

그 외 OAuth 플랜 — Google Gemini CLI, GitLab Duo, Perplexity Pro/Max, Fire Pass, Xiaomi Token Plan — 은 docs/models.md에서 다룹니다.

신규: 코딩 플랜 프리셋

키 기반 코딩 플랜은 명령 하나로 온보딩됩니다 — 프리셋이 API 타입, base URL, 환경 변수, 호환 플래그, 라이브 모델 카탈로그를 한 번에 기록하므로 새 모델이 GJC 업데이트 없이 바로 나타납니다:

gjc setup provider --preset commandcode-goat   # Command Code GOAT 플랜 (CMD_API_KEY)
gjc setup provider --preset cline-pass         # ClinePass (CLINE_API_KEY)
  • Command Code GOAT — 프로바이더의 라이브 /models 카탈로그를 가져오고, claude-* 모델은 네이티브 Anthropic Messages로, 나머지는 Chat Completions로 라우팅합니다. 별칭: commandcode, goat.
  • ClinePass — 하드코딩된 모델이 없습니다. GJC가 Cline이 자체 카탈로그를 생성하는 방식 그대로 라이브 카탈로그를 가져옵니다. 별칭: clinepass, cline.
  • 그 외 프리셋: minimax, minimax-cn, glm, alibaba-token-plan — TUI 안에서는 /provider add --preset <name>.
코딩 플랜 너머: 50+ 프로바이더, 게이트웨이, 로컬 런타임

API 키 프로바이더, 로컬 런타임(Ollama, LM Studio, vLLM), 게이트웨이(Cloudflare AI Gateway, Vercel AI Gateway, LiteLLM 등)를 모두 지원합니다. models.yml에 자체 엔드포인트를 등록하고, 프로바이더당 여러 계정을 사용량 기반으로 라우팅하고, 모델 프리셋/프로필로 역할별 벤더를 섞거나, auth 브로커/게이트웨이로 팀 자격증명을 중앙화하세요.


휴대폰으로 답하기

Gajae Code 모바일 응답 히어로 일러스트

에이전트가 결정을 요청하면 텔레그램으로 알림이 오고, 어디서든 답할 수 있습니다:

  • 세션별 포럼 토픽 — 실시간/최종 출력, 컨텍스트 업데이트, 이미지 첨부, 인라인 버튼, 자유 텍스트 답장, 타이핑 표시.
  • 한 번만 설정 — 실행 중인 세션의 /settings → Notifications에서, 또는 헤드리스로 gjc notify setup|status|health|test|recovery. 토큰은 입력 시 마스킹되고 이후 절대 표시되지 않습니다.
  • gjc daemon — 봇 토큰당 하나의 안전한 long-poll 소유자를 유지해 새 세션이 텔레그램 409 충돌 없이 깔끔하게 붙습니다.
  • Discord와 Slack 전달도 함께 제공됩니다. 범용 action_needed/reply 프로토콜로 어떤 봇/모바일 앱이든 터미널 스크래핑 없이 답을 되돌릴 수 있습니다.

텔레그램 온보딩 · Discord · Slack


변경 전에 계획

의도적으로 작은 워크플로 표면 — 스킬 4개, 역할 에이전트 4개, 그 이상은 없습니다:

deep-interview -> ralplan -> ultragoal
                         └─ 병렬 tmux 워커가 도움이 될 때만 선택적 team 실행
표면 역할
deep-interview 모호한 요청을 구체적인 요구사항으로 바꿉니다.
ralplan 코드 변경 전에 구현 계획을 세우고 비평합니다.
ultragoal 실행·수정·검증·증거까지 목표를 추적합니다.
team 병렬화가 가치 있을 때 tmux 기반 워커를 조율합니다.
executor / architect / planner / critic 구현 및 읽기 전용 리뷰 레인을 위한 번들 역할 에이전트.

옵트인 기능: gjc rlm (노트북과 리포트를 합성하는 Jupyter 스타일 리서치/REPL 모드), computer-use (실험적 데스크톱 제어). Python REPL, docs/tools/computer.md 참고.


토큰을 덜 쓰기

GJC는 토큰 비용의 양쪽을 모두 최적화합니다:

  • 캐시 히트 — 프로바이더별 cacheRetention 제어. Anthropic은 짧은 캐시가 긴 에이전트 실행에 취약하므로 기본이 장기(1시간) 캐시 유지입니다. 프로바이더 랭킹은 저렴한 cacheRead 경로를 우선하고, 옵트인 session-affinity 헤더로 OpenAI 호환 릴레이가 서버측 프롬프트 캐시를 재사용할 수 있습니다.
  • 컨텍스트 절약 — 파일 읽기는 전체 파일 대신 구조 요약을 반환하고, 과대한 셸 출력은 컨텍스트를 채우는 대신 최소화되어 회수 가능한 artifact:// 참조로 넘어갑니다. 컴팩션과 브랜치 요약이 긴 세션을 윈도 안에 유지하면서 이전 작업 맥락을 잃지 않게 합니다.

캐시 유지 & 프로바이더 호환 · 컴팩션 & 브랜치 요약


OpenClaw / Hermes가 GJC를 부리게 하기

GJC는 네이티브 Coordinator MCP 브리지를 내장하고 있어 OpenClaw나 Hermes 같은 외부 컨트롤러가 터미널 스크래핑 없이 durable turn으로 실제 GJC 세션을 오케스트레이션합니다.

가이드를 읽을 필요 없이, 아래 프롬프트를 OpenClaw/Hermes 컨트롤러에 붙여넣으면 스스로 연결을 구성합니다:

복붙용 컨트롤러 설정 프롬프트
Set up Gajae-Code (gjc) as your coding-agent backend on this machine. gjc is already installed.

1. Render and install the coordinator MCP setup package (replace the paths):
   gjc setup hermes --root <ABS_REPO_PATH> --profile <PROFILE_NAME> --repo <REPO_NAME> \
     --mutation sessions,questions,reports --profile-dir <YOUR_PROFILE_DIR> --install
   Without --install the command is render-only; re-run with --install to write files.

2. Verify the contract (non-mutating, no LLM call). Both must report ok:
   gjc setup hermes --root <ABS_REPO_PATH> --smoke
   gjc mcp-serve coordinator --check --json

3. Register the MCP server from the installed config. It is equivalent to:
   command: gjc, args: ["mcp-serve", "coordinator"]
   env: GJC_COORDINATOR_MCP_WORKDIR_ROOTS=<ABS_REPO_PATH>,
        GJC_COORDINATOR_MCP_PROFILE=<PROFILE_NAME>,
        GJC_COORDINATOR_MCP_REPO=<REPO_NAME>,
        GJC_COORDINATOR_MCP_SESSION_COMMAND="gjc --worktree",
        GJC_COORDINATOR_MCP_MUTATIONS=sessions,questions,reports

4. To delegate coding work, prefer one call per workflow:
   gjc_delegate_plan / gjc_delegate_execute / gjc_delegate_team
   with { cwd, task, allow_mutation: true, idempotency_key: <fresh-uuid> }.
   Each starts an isolated worktree session and returns a durable turn_id and artifacts.

5. For finer control: gjc_coordinator_start_session -> gjc_coordinator_send_prompt ->
   poll gjc_coordinator_read_turn or bounded gjc_coordinator_await_turn ->
   answer gjc_coordinator_list_questions rows via gjc_coordinator_submit_question_answer ->
   close with gjc_coordinator_report_status.

Rules: every mutating call needs allow_mutation: true plus a fresh idempotency_key.
Treat durable turn state as authoritative; never scrape terminal output.
The session command selector accepts only "gjc" or "gjc --worktree [name]".

라이브 세션 하나를 직접 다루는 컨트롤러를 위해 모든 세션은 루프백 SDK WebSocket 엔드포인트, gjc sdk session CLI(list|inspect|send|status|tail), 번들 sdk-skills/(gjc-sdk-discover · gjc-sdk-operate · gjc-sdk-author)를 함께 노출합니다 — 컨트롤러에 올라탄 에이전트가 따라갈 수 있는, 검토되고 승인 게이트가 있는 절차입니다.


문서

gajae-code.com 또는 docs/에서 시작하세요:

기본 다크 TUI 아이덴티티는 GJC red-claw 테마이며, 라이트 계열 터미널은 번들된 blue-crab 테마가 기본입니다. 교체나 커스텀은 테마를 참고하세요.

SDK 확장

  • gjc-remote — Discord에서 원격 호스트의 allowlist된 GJC 세션 제어.
  • oh-my-gajae-code — 추가 스킬과 슬래시 커맨드를 위한 커뮤니티 플러그인 마켓플레이스.
  • GJC 멀티벤더 설정 가이드 — 멀티벤더 설정을 위한 역할 기반 프로바이더 프로필.

개발

bun install
bun run build:native
bun run dev:link       # 전역 `gjc`가 이 체크아웃의 소스를 실행
bun run dev:doctor     # 링크 검증

패키지 맵과 게이트는 CONTRIBUTING.md와 docs/codebase-overview.md를 참고하세요.

기여자 & 계보

Yeachan-Heo, IYENTeam, HaD0Yun, probepark에게 감사드립니다. GJC는 여러 에이전트 하네스에서 얻은 교훈 위에 세워졌으며, 역사적 어트리뷰션은 NOTICE.md에 있습니다.

라이선스

MIT. LICENSE 참고.


"Encode intention. Decode software."

계획이 먼저다. 변경은 자격을 증명해야 한다.