Ankita는 컴퓨터에서 일할 때 대화와 실제 도구, 프로젝트, 예약 작업을 함께 쓰도록 설계된 오픈소스 AI 작업 공간이다. 데스크톱 앱과 화면 위에 띄우는 동반자, 터미널 CLI를 제공하며, 저장소 검사·파일 편집·명령 실행·웹페이지 조사·반복 작업 처리를 요청할 수 있다.
도구의 실행 상태와 결과, 승인 요청은 대화 안에 표시된다. ChatGPT Browser, GitHub Copilot, Groq, Kilo 또는 OpenAI 호환 제공자를 선택할 수 있다. Windows 최신 버전 다운로드와 릴리스 노트를 확인할 수 있다.
데스크톱·동반자·터미널
| 화면 | 용도 |
|---|---|
| 데스크톱 작업 공간 | 대화, 파일 검토, 프로젝트, 연결된 앱, 설정 |
| 플로팅 아일랜드 | 주 창을 숨긴 상태에서 빠른 대화, 승인, 실시간 도구 활동 확인 |
| 터미널 CLI | 대화형 코딩, 단발성 프롬프트, 파이프라인, 백그라운드 자동화 |
세 화면은 같은 에이전트 실행 환경과 도구를 사용한다. 데스크톱의 팀원마다 별도 대화 스레드와 페르소나, 초안이 있다. 프로젝트를 배정하면 팀원에게 작업 폴더와 공유 문맥을 제공한다.
버전 2.6.0과 이전 변경 사항
2.6.0에서는 Ankita에서 이미 열어 둔 ChatGPT 대화를 사용할 수 있다. 메시지와 첨부 파일, 답장은 선택한 대화에 연결되며 ChatGPT의 현재 모델과 계정 한도가 적용된다. Core, Desktop, Plugins 연결을 분리해 ChatGPT가 Ankita의 파일, 명령, 브라우저, 컴퓨터 제어 기능을 사용하게 할 수 있다. Stop은 해당 작업을 중단하고, 재시작 후 Resume을 누르면 원래 답변을 다시 읽되 재전송하지 않는다. 설정은 ChatGPT Browser 안내를 참조하면 된다.
이번 릴리스에는 Windows 기본 컴퓨터 사용 기능, 화면에 보이는 애니메이션 포인터, 개선된 메뉴 겹침 처리, 스킬 작성 도구, 일정 템플릿도 포함됐다. 변경점과 검증 범위는 2.6.0 릴리스 노트에 나와 있다.
2.5.2에서는 개발용 빌드와 패키징된 Windows 빌드에서 데스크톱이 정상적으로 시작되도록 수정했다. 공유 브라우저 메타데이터 가져오기가 렌더러의 보안 정책상 차단되는 호스트 전용 코드에 접근해 UI가 표시되기 전에 시작을 막던 문제가 있었다. 수정 과정에서 해당 정책을 약화하거나 브라우저 양식 일괄 처리를 없애지는 않았다. 재현 및 검증 근거는 시작 오류 조사 문서에서 확인할 수 있다. 소스에서 실행한다면 desktop:start 전에 다시 빌드해야 하며, desktop:dev는 수정된 소스를 바로 제공한다.
2.5.1에는 양식 일괄 처리의 신뢰성을 높이는 수정이 포함됐다. 실행 중 대상 확인과 원래 노드 바인딩을 사용해 여러 항목을 채우고 클릭하거나 선택할 때 참조가 스스로 무효화되는 문제를 막는다. 변경된 컨트롤은 새 관찰 결과를 확인한 뒤 멈추며, 부분 작업 결과도 정확히 표시한다. 브라우저 전체 안내는 추가 모델 호출 없이 로드되고, 데스크톱 헤더는 실제 요청에 안내가 포함됐는지 확인해 준다. 마크다운 읽기, 범위를 제한한 텍스트 검색, 라벨이 붙은 숨은 DOM 증거도 추가됐다.
브라우저 작업은 계획·읽기·실행·확인 상태를 구분해 보여주며, 사용자에게 제어권을 넘기는 대화상자와 속도를 제한한 숨은 미리보기로 진행 상황을 알린다. 도구 기록이 제한돼도 원래 목표를 유지하고, 항공편 방향과 날짜 확인, 기본 메뉴 안내, 프로토콜 수정 한 가지를 통해 혼란스러운 재시도를 줄이도록 했다. 제공자 오류도 실제 오류 유형별로 구분한다. 터미널의 /commands, 도움말, 자동 완성, 오타 안내는 같은 레지스트리를 사용하고, 시작 시 버전과 제공자를 표시한다. 실험적 브라우저 실행 환경과 포커스·문맥 전환은 계속 선택 사항이다. 기능과 테스트 근거, 남은 한계는 전체 변경 기록에 정리돼 있다.
2.5.0에서는 데스크톱 화면을 다시 설계했다. 간결한 탐색 바, 팀원 마스코트 얼굴, 더 명확한 대화 제어, 반응형 작업 패널을 아일랜드의 흑연색 디자인과 맞췄다. Graphite, Mono, Slate 테마를 계속 사용할 수 있다. 실시간 동반자 화면에는 최대 네 명의 팀원 아바타가 두 열로 표시된다. 도구는 실행·완료·실패에 따라 위로 올라가며 전체 출력은 채팅에 남는다. 승인은 화면에 계속 표시되고, 데스크톱을 다시 열어도 동반자의 초안을 유지한다.
지원 파일을 선택한 마스코트에 끌어다 놓으면 마스코트가 파일을 삼키는 애니메이션을 보이고 실제 파일 판독 결과에 반응한다. 추출된 내용은 보내기 전에 검토할 수 있는 첨부 파일이 된다. 별도로 불러오는 Chrome/Edge 도우미를 사용하면 일반 웹페이지에 마스코트를 끌어다 놓아 읽을 수 있는 텍스트를 원래 팀원에게 첨부할 수 있다. 브라우저 프로필마다 한 번 연결해야 하며, 캡처할 때 모델 요청을 보내지 않는다.
프로젝트 화면에서는 개요, 작업, 문맥을 나눠 프로젝트 설명과 다음 단계, 검색 가능한 메모·결정을 관리한다. 긴 기록은 필요할 때 펼치며, 프로젝트를 전환해도 작업과 문맥 초안을 유지한다. 일정 화면은 다음 실행 시점과 담당자, 결과를 보여준다. 백그라운드 설정에는 예약·활성·실행 중 작업 수가 표시되며 해당 대화로 이동할 수 있다. 모델 선택, 선택적 제한 설정, 저장 기능은 각각 별도 제어 항목으로 나뉘었다. 굵고 각진 포커스 외곽선은 제거했다. 스트리밍 중 완료된 마크다운 답변을 메모리에 보관해 반복 렌더링을 줄이며, 숨겨진 마스코트와 대기 중인 도구 표시 애니메이션은 작업을 멈춘다. 모션은 운영체제의 동작 줄이기 설정을 따른다. 사용 방법과 검증 정보는 데스크톱 안내와 동반자 안내를 참조하면 된다.
Windows 설치와 웹페이지 캡처
Windows 앱은 최신 릴리스에서 받을 수 있다. setup-x64.exe는 Ankita를 설치하고, portable-x64.exe는 설치 없이 실행하는 사본이다. 앱을 연 뒤 Settings → Providers에서 제공자를 고르고 팀원을 만든다. 새 데스크톱 설치에는 Kilo의 키가 필요 없는 무료 모델이 기본 제공되지만, 사용 가능 여부와 요청 한도는 제공자에 따라 다르다. 기존에 선택한 항목은 유지된다. GitHub Copilot을 선택하면 앱에 표시되는 GitHub 기기 로그인을 진행한다. 사용자 지정 제공자는 Settings에서 API 기본 URL과 인증 정보를 입력한다.
설치 프로그램에는 앱 실행 환경이 포함돼 있어 소스 실행이 아니라면 Node.js가 필요하지 않다. 설치형 NSIS 빌드는 앱 안에서 업데이트할 수 있으며, 포터블 빌드는 새 실행 파일을 내려받아 업데이트한다. 배포 대상은 Windows x64다. macOS와 Linux용 패키징 대상도 선언돼 있지만 이번 릴리스는 Windows에서 검증됐다.
웹페이지 캡처 도우미는 데스크톱 패키지에 포함되지만 브라우저에 별도로 불러와야 한다.
- 데스크톱 마스코트 옆이나 아일랜드 설정에서 Browser helper를 연다.
- Open helper folder를 선택한다.
- Chrome 또는 Edge의 확장 프로그램 페이지에서 개발자 모드를 켜고 Load unpacked를 선택한 뒤 해당 폴더를 지정한다.
- Ankita에서 Copy pairing code를 누르고 도우미 팝업에 코드를 붙여 넣는다.
- 마스코트를 HTTP/HTTPS 페이지에 끌어다 놓고 채팅에 첨부된 내용을 검토한다.
도우미는 문서에서 읽을 수 있는 텍스트를 추출한다. 브라우저 내부 페이지와 확장 프로그램 스토어, 접근할 수 없는 프레임이나 뷰어는 캡처할 수 없다. 이 기능은 Ankita의 브라우저 자동화 연결과 별개다. 자세한 설명과 복구 방법은 동반자 안내의 웹페이지 캡처 항목에 있다.
소스에서 실행하기
CLI는 package.json에 선언된 Node 버전 범위를 지원한다. Node 20.19 이상, 22.12 이상 또는 23 이상이 필요하다. 데스크톱 개발과 패키징에는 Node 22.12 이상을 사용한다. 아래 명령은 저장소 루트에서 실행한다.
git clone --branch ankita https://github.com/akyourowngames/A.N.K.I.T.A.git
cd A.N.K.I.T.A
npm ci
개발 모드에서 데스크톱을 시작한다.
npm run desktop:dev
또는 프로덕션 렌더러를 빌드해 연다.
npm run desktop:build
npm run desktop:start
CLI는 다음 명령으로 시작한다.
npm link
ankita
.env.example을 .env로 복사해 CLI 제공자를 설정한다. PowerShell에서는 Copy-Item .env.example .env, POSIX 셸에서는 cp .env.example .env를 사용한다. 기본 설정 디렉터리인 ~/.copilot-chat-cli에 전역 config.env를 둘 수도 있으며, CONFIG_DIR로 위치를 바꿀 수 있다. 데스크톱 세션에서는 데스크톱 설정이 .env보다 우선한다.
음성 기능에는 선택적으로 ffmpeg와 ffplay가 필요하다. 선택형 스텔스 스크래핑 계층은 Python과 Scrapling을 사용한다. 일반 채팅과 도구, 데스크톱 설정에는 이 선택 기능이 필요하지 않다.
대화·도구·프로젝트
마크다운 답변에는 코드, 표, 도구 카드가 표시된다. 변경을 승인하기 전에 명령이나 파일 차이를 검토할 수 있다. 긴 명령은 백그라운드 작업으로 전환할 수 있으며, 채팅을 이어가는 동안 상태와 출력, 표준 입력, 중지 제어를 확인할 수 있다.
| 도구 종류 | 기능 |
|---|---|
| 파일과 코드 | 파일 읽기·쓰기·편집·패치, 목록·글로브·검색 |
| 명령과 프로세스 | 명령 실행, 포트 확인, 프로세스와 백그라운드 작업 관리 |
| Git과 HTTP | 저장소 작업, 구조화된 요청 |
| 웹과 브라우저 | 검색, 읽을 수 있는 페이지 추출, 브라우저 조작, 탭, 스크린샷 |
| 프로젝트와 메모리 | 작업 문맥, 결정, 작업, 개인 정보 |
| 자동화 | 예약 프롬프트, 페이지 감시, 작업 제어 |
| 이미지 | 이미지 생성, Unsplash 검색, Pixabay 검색 |
| 연결된 앱 | MCP 서버, Composio 통합 |
지연 실행 도구 묶음은 필요할 때 불러온다. 승인 규칙은 작업에 따라 다르다. MCP/Composio 등급별 제어에는 자동 허용, 한 번 묻기, 항상 묻기, 거부가 있다. 사용할 수 있는 도구 묶음은 tools/catalog.mjs에서 확인할 수 있다.
Projects → Overview에는 폴더와 고객, 작업 규칙을 두고, Tasks에는 미완료·완료 작업을, Context에는 메모와 결정을 둔다. 개요 화면이나 팀원 편집기, 채팅 헤더에서 팀원을 프로젝트에 배정할 수 있다. 팀원의 파일·명령 도구는 해당 폴더를 사용하며 프롬프트에는 범위를 제한한 프로젝트 설명이 전달된다. 채팅 옆의 작업 검토 화면에서는 Git 변경 사항과 차이, 최근 산출물, 출력과 중지 제어가 있는 명령 실행을 볼 수 있다. 파일을 편집하면 이 화면이 자동으로 열릴 수 있다.
Plugins에는 분리된 Playwright 브라우저와 Chrome 연결, 저장된 브라우저 로그인이 있다. 실행 중에는 페이지 미리보기와 탭, 중지·제어권 인계 기능을 제공한다. 인증 정보는 기기의 암호화 저장소를 사용하며, 모델에는 평문 비밀번호 필드 대신 비공개 인증 정보 참조를 제공한다. Composio 앱은 콜백 서비스를 직접 호스팅하지 않고 브라우저 로그인으로 연결할 수 있으며 기존 프로젝트 키 설정도 계속 지원한다. MCP 서버와 도구는 작업별 승인 규칙으로 실행 환경을 확장한다. 연결 방식과 권한은 브라우저 사용 안내를 참조하면 된다.
예약 작업·채널·메모리
채팅에서 작업과 실행 시점, 성공 기준을 설명하면 Ankita의 schedule 도구가 해당 팀원의 대화에 작업을 만든다. Schedule 화면에서 작업을 확인·수정·일시 중지·재개하거나 즉시 실행·중지할 수 있다. 작업은 서로 분리된 브라우저 프로필을 사용하고, 결과와 펼쳐 볼 수 있는 증거를 담당 팀원의 대화로 돌려보낸다.
Settings → Background jobs에는 작업 수와 시작 시 사용 가능 여부, 작업 목록이 나온다. 창을 닫거나 최소화해도 트레이에서 예약 작업이 계속되며, 앱을 완전히 종료하면 중단된다. 로그인 시 자동 시작은 선택 사항이다. 자세한 내용은 데스크톱 작업 안내에 있다.
Settings → Channels에서 Telegram 메시지를 팀원에게 연결한다. 봇 토큰과 허용할 채팅 ID, 답변할 팀원을 지정하면 된다. 데스크톱과 Telegram은 같은 대화 스레드를 공유하며 Telegram에서 도구 승인에 답할 수도 있다. 음성 메시지는 텍스트로 변환할 수 있고, 현재 턴에서 만든 이미지 산출물은 답변 뒤에 보낼 수 있다. 봇 토큰 하나에는 활성 Telegram 폴러를 하나만 사용해야 한다.
CLI 백그라운드 자동화에는 ankita --daemon을 사용해 예약 작업, 감시, 알림, Telegram을 실행한다. 조용한 시간과 대체 전달 방법은 .env.example에서 설정할 수 있다.
개인 메모리는 선호 사항과 사실을 프로젝트 기록과 분리해 저장한다. 범위를 제한한 회상으로 프롬프트 크기를 줄이며, 선택형 데몬 통합 기능은 저널을 백그라운드에서 처리한다. 이름을 붙인 CLI 세션은 저장하고 다시 불러올 수 있다. 기본 채팅 스킬은 skills/에 있다. /skills로 스킬을 확인하거나 데스크톱 명령 팔레트에서 활성 스킬을 찾는다. 기여 방법과 크기 제한은 CONTRIBUTING.md에 안내돼 있다.
browser-use 스킬은 대화형 채팅에서 브라우저를 찾거나 사용할 때 별도의 모델 요청 없이 전체 안내를 불러온다. 현재 참조, 양식 일괄 처리, 결과 확인, 오류 복구를 다룬다. 브라우저를 찾기 전에는 스킬 설명만 턴에 포함된다. 브라우저 도구를 사용할 수 있는 동안에는 각 판단 전에 전체 안내가 전달된다. Plugins → Skills에서 이 기능을 끌 수 있으며, 데스크톱 헤더에서 전체 내용이 요청에 포함됐는지 확인할 수 있다.
키보드·CLI
| 단축키 | 동작 |
|---|---|
Ctrl+K / Cmd+K | 명령, 스킬, 예약 작업 검색 |
Ctrl+, / Cmd+, | 설정 열기 |
Enter / Shift+Enter | 보내기 / 줄 바꿈 삽입 |
Escape | 활성 팔레트나 대화상자 닫기 |
| 방향키 / Home / End | 탭에 포커스가 있을 때 프로젝트 탭 이동 |
ankita -p "Summarize this repository" # one-shot request
ankita --continue # resume the autosaved session
ankita --list-models # available models
ankita --voice # hands-free mode
ankita --daemon # background automation
/help는 현재 명령 목록을, /commands는 그룹별 전체 명령 참고표를 보여준다. 모든 명령과 하위 명령, 탭 자동 완성은 하나의 레지스트리를 사용한다. 주요 명령은 /models, /model, /tools, /auto, /skills, /project, /projects, /browser, /composio, /mcp, /save, /load, /sessions, /usage, /mic, /voice, /routines, /watches, /brief, /exit다. /bg, /jobs, /job, /input, /stop은 명령 작업을 관리한다. --model, --max-tokens, --api-base, --api-key, --no-tools, --plain, --json 플래그로 CLI 실행을 설정할 수 있다.
설정·개인정보·검증
| 설정 | 위치 |
|---|---|
| 데스크톱 제공자, 모델, 한도, 모양 | Settings; 설정 디렉터리의 desktop-settings.json에 저장 |
| CLI 제공자, 도구 예산, 음성, 알림 | 프로젝트 .env 또는 전역 config.env; /reload로 다시 불러오기 |
| Telegram 데스크톱 연결 | Settings → Channels; desktop-channels.json |
| 브라우저 로그인 | Plugins → Saved sign-ins; 기기 암호화 저장소 |
| 전체 환경 변수 참고 | .env.example |
기본적으로 저장된 기록과 로그, 내보내기에서 지원되는 키·토큰 형식과 라벨이 붙은 비밀번호, 개인 키 블록을 가린다. 명시적으로 저장을 요청하면 감지된 비밀 정보를 암호화 저장소에 넣을 수 있다. 이 가리기는 저장 시 보호 기능이며, 실시간 모델 요청에는 붙여 넣은 내용이 전달될 수 있다. 라벨이 없는 임의의 비밀 정보나 여러 메시지에 나뉜 값은 감지하지 못할 수 있다.
파일 도구는 작업 공간 경계를 적용하고 웹 도구는 비공개 호스트와 리디렉션을 보호한다. 승인한 셸 명령과 MCP 프로세스는 운영체제 권한으로 실행된다. 승인 전에 요청된 작업을 검토해야 하며, 제공자와 통합 서비스의 데이터 정책도 적용된다. .env, 생성 이미지, 미디어, 로그, 덤프, 로컬 검증 결과는 소스 관리에서 제외된다.
개발 검증에는 다음 명령을 사용할 수 있다.
npm test # serial node:test suite
npm run desktop:build # TypeScript and production renderer
node scripts/verify-desktop-workbench.mjs
node scripts/verify-desktop-island.mjs
node scripts/verify-desktop-companion-native.mjs
node scripts/verify-desktop-workbench.mjs --focus-only
데스크톱 검사는 격리된 픽스처 설정과 임시 증거 폴더를 사용한다. 동반자 검증기는 실제 Electron IPC, 파일 도구, 승인, 캡처 전달, 프로젝트·설정 저장을 점검한다. 브라우저 캡처 검사도 실제 확장을 불러오지만, 운영체제에서 물리적으로 끌어다 놓는 동작은 별도 수동 검사다. 측정 결과와 확인하지 못한 플랫폼·작업량은 안내 문서를 참조하면 된다.
저장소의 주요 경로는 desktop/electron/(Windows, IPC, 에이전트 호스팅, 캡처, 보관소, 스케줄러), desktop/renderer/(React 작업 공간, 동반자, 판독기, 실시간 도구 UI), desktop/browser-helper/(Chrome/Edge 캡처 확장), desktop/shared/(형식이 지정된 계약, 상태, 상호작용 도우미), src/(CLI, 에이전트, 제공자, 자동화, 채널, 메모리), tools/(핵심 및 지연 실행 도구 묶음), skills/(기본 채팅 스킬), test/(하위 시스템 회귀 검사), scripts/(실시간 검증 및 개발 도구)다. 로컬 패키징 명령은 npm run desktop:package:win이다. 릴리스 절차와 업데이트 자산, 필수 검사 항목은 릴리스 안내에 있으며, 동반자 구성 요소의 제3자 표기는 desktop/THIRD_PARTY_NOTICES.md에 있다.
추가 자료로 데스크톱 작업 공간, 동반자·파일 끌어놓기·웹페이지 캡처, 브라우저 연결과 권한, 브라우저 실험실 수정과 남은 한계, 브라우저 요청 비용과 A/B 근거, 예약 데스크톱 작업, 릴리스와 자동 업데이트, 코드 서명, 릴리스 기록, 기여 안내를 제공한다. 변경 사항을 기여할 때는 AGENTS.md를 읽고 기존 작업을 보존하며 실행 증거를 포함해야 한다. 기여 대상 브랜치는 ankita다.
댓글 (0)
로그인하면 이 기사에 내 생각을 남길 수 있어요