siGit Code는 로컬 우선(local-first) AI 코딩 에이전트입니다. 기본적으로 사용자의 기기에서 실행되며, 선택에 따라 옵션 클라우드 추론 및 원격 자동화 기능을 제공합니다. 시작하는 데 API 키가 필요하지 않으며, 온디바이스 경로를 사용할 경우 아예 필요 없습니다.
이는 동일 제품의 호스팅 버전인 siGit Factory의 에이전트 런타임입니다. 아래와 같이 직접 실행하거나, 로컬에 모델을 호스팅하고 싶지 않다면 siGit Code Cloud를 사용할 수 있습니다. sigit.si는 AI 워크플로우를 위해 구축된 Git 호스팅 서비스입니다.
어떤 코드베이스에서도 작동합니다. smbCloud 레포지토리에서는 Rust workspace 레이아웃, 배포 흐름(deploy flows), 인증 경계(auth boundaries), 그리고 GresIQ를 이미 이해하고 있기 때문에 더욱 유용합니다.
사용하는 방법은 두 가지가 있습니다:
- ACP 모드: Zed 또는 다른 ACP 호환 에디터에서
--acp 인수를 사용하여 stdio로 시작합니다.
- 터미널 모드:
sigit을 실행하여 인터랙티브 채팅 UI를 사용합니다.
모든 ACP 클라이언트는 반드시 --acp를 전달해야 합니다. 이 외의 다른 인수는 받지 않으며, 이 인수가 바이너리에게 터미널 UI를 여는 대신 에이전트 클라이언트 프로토콜(Agent Client Protocol)로 통신하라고 알려주는 역할을 합니다.
| 플랫폼 | ACP 모드 | 터미널 모드 |
|---|
| macOS | ✓ | ✓ |
| ... | | |
설치
| 방법 | 명령어 |
|---|
| Homebrew | brew tap getsigit/tap && brew trust --tap getsigit/tap && brew install sigit |
| ... | |
첫 실행
첫 번째 실행 시 Hugging Face에서 GGUF 모델을 다운로드합니다. 모델에 따라 약 1~2GB가 예상됩니다. 그 이후부터는 디스크에서 로드되므로 훨씬 빠릅니다.
macOS에서는 siGit Code가 App Group 컨테이너를 통해 데스크톱 앱과 모델 캐시를 공유합니다. 만약 데스크톱 앱이 이미 모델을 다운로드했다면, CLI는 이를 재사용합니다.
Zed 설정
~/.config/zed/settings.json에 다음 내용을 추가하세요:
{
"agent_servers": {
"siGit Code": {
...
전체 절대 경로를 사용해야 합니다. ~는 여기서 확장되지 않습니다.
Xcode 사용자 지정 에이전트
Xcode에서 **설정 > 인텔리전스(Settings > Intelligence) > 에이전트(Agents)**로 이동하여 사용자 지정 에이전트를 추가하고 다음을 설정합니다:
- 실행 파일(Executable):
sigit의 절대 경로
- 인수(Arguments):
--acp
Xcode에서는 --acp 모드가 첫 프롬프트 시 선택된 온디바이스 모델을 로드하므로, Xcode 채팅에서 /load를 보낼 필요가 없습니다.
siGit이 Xcode의 빌드, 테스트 및 프로젝트 도구를 사용하도록 하려면, Xcode 인텔리전스 설정에서 **외부 에이전트가 Xcode 도구 사용 허용(Allow external agents to use Xcode tools)**을 활성화하고, 프로젝트를 열어둔 상태로 다음 내용을 ~/.config/sigit/mcp.toml에 추가하세요:
[[server]]
name = "xcode"
command = "xcrun"
...
VS Code
siGit Code 확장 프로그램 사용 시
Visual Studio Code Marketplace에서 설치하세요.
{
"sigit.agents": {
"sigit": {
...
ACP 클라이언트 사용 시
ACP Client를 설치한 후 다음 내용을 추가하세요:
{
"acp.agents": {
"siGit Code": {
...
ACP 지원
siGit Code는 stdio를 통해 Agent Client Protocol v1을 사용합니다. 1.7.0 버전부터는 에이전트가 제공할 수 있는 안정화된 전체 v1 기능을 구현했습니다:
| 영역 | 지원 기능 |
|---|
| 세션(Sessions) | session/new, load, resume, fork, list (페이지네이션 및 cwd 필터 포함), close, delete, 그리고 additionalDirectories를 통한 멀티 루트 프로젝트 |
| ... | |
session/fork는 프로토콜에서 여전히 불안정(unstable)으로 표시됩니다. Draft v2는 활성화되지 않았습니다. | |
터미널 모드 (Terminal mode)
터미널에서 sigit을 실행하면 에디터 통합과 동일한 모델 및 시스템 프롬프트를 받지만, 전체 화면 채팅 UI로 제공받게 됩니다.
현재 터미널 모드는 유닉스(Unix) 터미널 동작이 필요하므로 macOS와 Linux에서만 작동합니다.
헤드리스 및 CI 모드 (Headless and CI mode)
sigit run을 사용하여 스크립트, CI 또는 다른 siGit Factory 클라이언트에서 동일한 에이전트를 실행할 수 있습니다:
sigit run "이 리포지토리를 검토하고 집중적인 테스트를 실행하세요" --cwd .
모든 실행은 영구 세션 ID(durable session ID)를 받습니다. 이 ID는 텍스트 모드에서는 stderr에 출력되고 JSONL 모드에서는 모든 이벤트에 포함됩니다. 해당 ID를 전달하여 나중에 같은 대화를 재개하거나 ACP 클라이언트에서 가져올 수 있습니다:
sigit run "다음 이슈로 계속 진행하세요" --resume <세션-id>
자동화의 경우, JSONL 출력은 stdout에 세션(session), 어시스턴트 델타(assistant-delta), 도구 호출(tool-call), 도구 결과(tool-result), 결과(result), 오류(error) 이벤트를 제공합니다. 로그는 stderr에 남아 있습니다.
sigit run "검사를 실행하세요" --output jsonl --allow-tool run_command
도구를 변경하는 작업(Mutating tools)은 여전히 siGit의 권한 정책을 따릅니다. 헤드리스 실행은 대화형 권한 프롬프트에 응답할 수 없으므로, 반복 가능한 --allow-tool 플래그를 사용하여 해당 실행이 필요한 도구만 승인해야 합니다. 레거시 sigit -p "<프롬프트>" 형태는 계속 지원됩니다. 이벤트 계약 및 종료 코드는 헤드리스 실행 참고 자료를 참조하십시오.
원격 측정 (Telemetry)
siGit Code 자체는 사용량 분석을 수집하지 않습니다. 온디바이스 모델은 Onde Inference에서 실행되며, Onde는 모델 타이밍을 자체 대시보드에 보고할 수 있습니다. 해당 보고 기능은 Onde의 자격 증명(credentials)이 컴파일 시간에 임베딩된 빌드에서만 전환됩니다. 이 기능이 켜지면, siGit Code가 다음을 전송합니다:
- 온디바이스 모델 로딩이 완료될 때 발생하는 이벤트: 모델의 Hugging Face 레포지토리 ID, 표시 이름, 그리고 로드에 걸린 시간;
- 온디바이스 응답당 하나의 이벤트: 모델 ID, 프로세스별 요청 ID, 응답 시간, 첫 토큰까지 걸린 시간(측정 시점 기준), 그리고 성공했는지, 오류가 발생했는지, 또는 취소되었는지 여부.
사용자의 대화 내용은 전송되지 않습니다: 프롬프트, 응답, 파일 경로, 코드 등은 포함되지 않습니다. siGit Code는 기계 식별자를 설정하지 않으므로 모든 설치에서 동일한 onde-unknown 엣지로 보고되며 위치 정보도 전송하지 않습니다. siGit Code Cloud 또는 자체 엔드포인트를 통해 실행하는 모델 역시 Onde 이벤트를 전송하지 않습니다.
빌드가 보고되는지 확인하려면 온디바이스 모델을 로드하고 로그에서 ChatEngine: pulse telemetry enabled 또는 ChatEngine: pulse telemetry disabled를 확인하십시오. siGit Code는 stderr로 기록되며, 에디터에서는 에이전트 로그에 표시됩니다. 터미널 모드에서는 $TMPDIR/sigit.log에 작성됩니다.
이를 비활성화하려면 siGit Code가 실행되는 환경 변수에 ONDE_DISABLE_PULSE=1을 설정하십시오. 에디터의 경우, 에이전트의 env 블록에 추가합니다:
"env": { "ONDE_DISABLE_PULSE": "1" }
플랫폼 지원
| 플랫폼 | 아키텍처 |
|---|
| macOS | arm64, x64 |
| ... | |
라이선스
Apache 2.0
저작권
© 2026 siGit Code & Deploy. 권리 보유자 및 배포자는 NOTICE를 참조하십시오.