Skip to content

Latest commit

 

History

History
303 lines (213 loc) · 15.5 KB

File metadata and controls

303 lines (213 loc) · 15.5 KB

English | 简体中文 | 繁體中文 | Español | Русский | 日本語 | 한국어

에이전트를 위한 IM. 공유 메모리, 감독된 실행, 그리고 AI 제공자 전반의 교차 감사.

IM.codes는 coding agent를 위한, provider를 가로지르는 공유 메모리 레이어입니다. 완료된 작업을 재사용 가능한 컨텍스트로 축적하고, 적절한 기록을 이후 session에 다시 주입합니다. Claude Code, Codex, Gemini CLI, GitHub Copilot, Cursor, OpenCode, OpenClaw, Qwen 등을 지원하며, 터미널, 파일 브라우징, Git 보기, localhost 미리보기, 알림, 멀티 에이전트 워크플로우, transport 기반 agent의 네이티브 스트리밍 출력도 함께 제공합니다. 내장된 Auto supervision은 완료된 턴을 판정하고, 자동 계속과 감사/재작업 루프까지 수행한 뒤 제어를 돌려줄 수 있습니다. P2P 토론 기능 내장 — 여러 모델이 서로의 계획과 구현을 리뷰하고 감사하여, 단일 모델의 누락·맹점·편향을 효과적으로 줄입니다.

이 문서는 번역본입니다. 기준 문서는 영어 README(../README.md)입니다. 차이가 있으면 영어판을 우선합니다.

여러 에이전트가 CLI와 SDK 두 방식 모두로 연결될 수 있습니다.

스크린샷

데스크톱

iPad / 태블릿

모바일

Apple Watch

Apple Watch에서는 세션 빠른 확인, 읽지 않음 개수, 푸시 알림, 빠른 답장을 지원합니다.

다운로드

Download on the App Store

iPhone, iPad, Apple Watch를 지원합니다. Web App 도 사용할 수 있습니다.

왜 필요한가

자리를 비우면 대부분의 coding-agent workflow가 끊깁니다. agent는 터미널에서 계속 실행되지만, 이어서 작업하려면 SSH, tmux attach, 원격 데스크톱 등이 필요합니다.

IM.codes는 그런 session을 모바일과 웹에서 계속 다룰 수 있게 합니다. 터미널을 열고, 파일과 Git 변경을 보고, 다른 기기에서 localhost를 미리보고, 작업 완료 알림을 받고, 여러 agent를 계속 움직일 수 있습니다.

이것은 또 다른 AI IDE도 아니고 단순 원격 터미널도 아닙니다. 터미널 기반 coding agent 위에 놓이는 메시징 / 제어 레이어입니다.

Shared Agent Context와 메모리

IM.codes는 완료된 에이전트 작업을 계속 재사용 가능한 메모리로 축적하고, 그 컨텍스트를 이후 세션에 다시 주입합니다.

  • 저장되는 것은 문제 → 해결 요약이지 로그 잡음이 아닙니다. 메모리화되는 것은 최종 assistant.text 뿐이며, 스트리밍 delta, tool call, tool result, 중간 잡음은 제외됩니다.
  • 개인 메모리는 선택적으로 클라우드 동기화할 수 있습니다. 원본과 처리된 메모리는 항상 로컬에 남고, 처리된 요약만 사용자 단위 클라우드 풀에 동기화해 여러 기기에서 공유할 수 있습니다.
  • Enterprise Shared Context는 검색하고 확인할 수 있습니다. 팀은 지식을 workspace / project 범위에 게시하고 UI에서 검색과 통계를 볼 수 있으므로, 보이지 않는 prompt 문자열로만 남지 않습니다. 이 부분은 아직 계속 개발 중이며 완전한 프로덕션 테스트는 끝나지 않았습니다.
  • 다국어 리콜. 로컬 의미 검색과 pgvector 기반 서버 리콜이 다국어 embedding을 사용하므로 한국어, 영어, 중국어, 일본어, 스페인어, 러시아어 사이에서도 관련 수정 이력을 찾을 수 있습니다.
  • 메시지 전송 시와 세션 시작 시 자동 주입. 관련 기록은 전송 전과 시작 시점 모두에서 자동 주입되며, timeline 카드에 주입 이유, 관련성 점수, 재사용 횟수, 마지막 사용 시각까지 표시됩니다.
  • 사용자가 보고 제어할 수 있습니다. Shared Context UI는 raw events, processed summaries, cloud memory, enterprise memory를 분리해 보여주고, 검색, 미리보기, archive/restore, 처리 설정을 제공합니다.

감독된 실행과 Auto Audit

IM.codes는 직접 작성한 supervisor 지시문으로 지원되는 agent session을 턴 단위로 주행할 수 있습니다 —— 각 완료된 턴을 idle 경계에서 구조적으로 판정해 auto-continue, 제어 반환, 또는 audit 루프 발동을 결정하며, 매 라운드마다 "continue"를 직접 입력할 필요가 없습니다.

  • 세션별 Auto 모드. off, supervised, supervised_audit를 세션마다 설정할 수 있어 하나의 정책을 전체에 강제하지 않습니다.
  • idle 경계에서의 완료 판정. 한 턴이 끝나면 IM.codes가 complete, continue, ask_human을 판정하고, 다음 continue prompt를 같은 session에 다시 보낼 수 있습니다.
  • fail-closed 자동화. Auto supervision은 timeline/footer에 보이는 상태로 남고, 구조화된 결정을 사용하며, timeout·잘못된 출력·설정 오류가 있으면 추측하지 않고 사용자에게 제어를 돌려줍니다.
  • 선택적 audit → rework 루프. supervised_audit에서는 완료된 턴을 자동 감사 파이프라인으로 보내고, 필요하면 같은 session에 재작업 brief를 넣은 뒤 제어를 돌려줄 수 있습니다.
  • 전역 기본값 + 세션별 override. 기본 supervisor backend/model/timeout을 한 번 정해 두고, 필요할 때 각 session에서 backend/model/timeout, audit 모드, custom instructions를 덮어쓸 수 있습니다.
  • 실제 IM.codes workflow를 이해. Auto supervision은 OpenSpec 작업, P2P 토론/리뷰 흐름, imcodes send 기반 에이전트 간 조정을 사람에게 즉시 넘겨야 하는 이유가 아니라, 에이전트가 계속 수행할 수 있는 정상적인 다음 단계로 해석합니다。

주요 기능

원격 터미널

SSH, VPN, 포트 포워딩 없이 브라우저에서 agent session의 터미널에 접근할 수 있습니다.

파일 브라우저와 Git 변경 보기

프로젝트 트리, 업로드 / 다운로드, diff, 변경 요약을 제공합니다.

로컬 웹 프리뷰

배포 없이 로컬 개발 서버를 다른 기기에서 미리볼 수 있습니다.

모바일, 워치, 알림

생체 인증, 푸시 알림, shell session 입력, Apple Watch 빠른 응답을 지원합니다.

크로스 모델 감사와 P2P 토론

단일 모델의 출력을 맹목적으로 신뢰해서는 안 됩니다. P2P 토론은 서로 다른 프로바이더와 사고 방식을 가진 여러 agent가 코드 작성 전에 동일한 코드베이스에서 협력 분석을 수행합니다. 각 라운드는 커스터마이징 가능한 멀티 페이즈 파이프라인을 따르며, 각 agent는 이전 기여를 모두 읽은 후 출력합니다. 서로 다른 모델이 서로 다른 유형의 문제를 발견합니다. 이 크로스 프로바이더 교차 검토로 구현 전에 대부분의 문제를 찾아내어 재작업을 대폭 줄일 수 있습니다.

내장 모드는 audit(구조화된 audit → review → plan 파이프라인), review, discuss, brainstorm이며, 사용자 정의 페이즈 구성도 가능합니다. Claude Code, Codex, Gemini CLI, Qwen에서 작동합니다.

스트리밍 Transport Agents

OpenClaw, Qwen 같은 transport agent에 대해 네이티브 스트리밍을 제공합니다.

에이전트 간 통신

imcodes send로 한 agent가 다른 agent에게 직접 리뷰나 테스트를 요청할 수 있습니다.

imcodes send "Plan" "review the changes in src/api.ts"
imcodes send "Cx" "run tests" --reply
imcodes send --all "migration complete, check your end"
# monitor.py — watch a log file, trigger agent when errors appear
import subprocess, time

while True:
    with open("/var/log/app.log") as f:
        for line in f:
            if "ERROR" in line:
                subprocess.run([
                    "imcodes", "send", "Claude",
                    f"Fix this error and write the patch to /tmp/fix.patch:\n{line}"
                ])
    time.sleep(30)
# Webhook → agent: GitHub webhook handler triggers code review
curl -X POST https://your-server/webhook -d '{"pr": 42}' \
  && imcodes send "Gemini" "review PR #42, write summary to /tmp/review.md"

# CI → agent: post-build trigger
imcodes send "Claude" "tests failed on main, check CI log at /tmp/ci.log and fix" --reply

스마트 @ 선택기

@는 프로젝트 파일 검색, @@는 P2P 대상 agent 선택에 사용됩니다.

다중 서버 / 다중 세션 관리

여러 개발 머신을 하나의 대시보드에 연결할 수 있습니다.

Discord 스타일 사이드바

서버 전환, 계층형 session 트리, 읽지 않음 배지, 고정 패널을 제공합니다.

고정 패널

파일 브라우저, 저장소 페이지, sub-session 채팅, 터미널을 사이드바에 고정할 수 있습니다.

저장소 대시보드

이슈, PR, 브랜치, 커밋, CI/CD 실행 상태를 앱 안에서 확인할 수 있습니다.

예약 작업 (Cron)

cron 스타일로 반복적인 agent workflow를 자동화할 수 있습니다.

기기 간 동기화

탭 순서와 고정 패널이 서버 설정 API를 통해 동기화됩니다.

국제화

UI는 7개 언어를 지원합니다.

OTA 업데이트

daemon은 npm으로 자체 업그레이드할 수 있고, 웹에서도 트리거할 수 있습니다.

IM.codes가 아닌 것

  • 또 다른 AI IDE가 아님
  • 단순 채팅 래퍼가 아님
  • 단순 원격 터미널 클라이언트가 아님
  • Claude Code, Codex, Gemini CLI, OpenClaw, Qwen의 대체품이 아님
  • 그 위에 놓이는 메시징 / 제어 레이어임

아키텍처

You (browser / mobile)
        ↓ WebSocket
Server (self-hosted)
        ↓ WebSocket
Daemon (your machine)
        ↓ tmux / transport
AI Agents (Claude Code / Codex / Gemini CLI / OpenClaw)
        ↔ imcodes send (agent-to-agent)

daemon은 개발 머신에서 실행되며 tmux 또는 transport 프로토콜을 통해 session을 관리합니다. 서버는 각 기기와 daemon 사이를 중계합니다. 데이터는 자신의 인프라 안에 남습니다.

설치

npm install -g imcodes

빠른 시작

Self-host를 강하게 권장합니다. 공유 인스턴스 app.im.codes는 테스트 용도입니다.

imcodes bind https://app.im.codes/bind/<api-key>

이 명령은 머신을 바인드하고, daemon을 시작하고, 시스템 서비스로 등록한 뒤, 웹 / 모바일 대시보드에 해당 머신을 표시합니다.

OpenClaw 연결

OpenClaw가 로컬에서 실행 중이라면 daemon 머신에서 IM.codes를 OpenClaw gateway에 연결할 수 있습니다.

imcodes connect openclaw

이 명령은 다음을 수행합니다.

  • 기본적으로 ws://127.0.0.1:18789에 연결
  • ~/.openclaw/openclaw.json의 token 자동 재사용
  • OpenClaw의 main / child session을 IM.codes에 동기화
  • ~/.imcodes/openclaw.json에 설정 저장
  • daemon을 재시작해 자동 재연결 가능하게 함
imcodes connect openclaw --url ws://127.0.0.1:18789
OPENCLAW_GATEWAY_TOKEN=... imcodes connect openclaw
imcodes connect openclaw --url wss://gateway.example.com

참고:

  • TLS 없는 원격 ws://--insecure가 필요
  • imcodes disconnect openclaw로 저장된 설정 삭제 및 연결 해제 가능
  • 현재 이 흐름은 macOS에서만 테스트됨

Self-Host

원커맨드 설정

npm install -g imcodes
mkdir imcodes && cd imcodes
imcodes setup --domain imc.example.com

수동 설정

git clone https://github.com/im4codes/imcodes.git && cd imcodes
./gen-env.sh imc.example.com        # generates .env with random secrets, prints admin password
docker compose up -d

생성되는 docker-compose.yml 은 PostgreSQL 이미지로 pgvector/pgvector:pg18 을 사용합니다.

Windows (실험적)

npm install -g imcodes
imcodes bind https://app.im.codes/bind/<api-key>
imcodes upgrade
imcodes repair-watchdog
npm prefix -g
setx PATH "<npm-prefix-path>;%PATH%"
%USERPROFILE%\.imcodes\watchdog.log

요구 사항

  • macOS 또는 Linux
  • Windows (실험적, ConPTY 사용)
  • Node.js >= 22
  • Linux / macOS에서는 tmux
  • Claude Code, Codex, Gemini CLI, OpenClaw, Qwen 중 하나

고지 사항

IM.codes는 독립적인 오픈소스 프로젝트이며 Anthropic, OpenAI, Google, Alibaba, OpenClaw 등과 제휴, 보증, 후원 관계가 없습니다.

라이선스

MIT

© 2026 IM.codes