Skip to content

Guide CarrotAssist

ajouatom edited this page Nov 8, 2026 · 22 revisions

CarrotAssist 음성 도우미

CarrotAssist는 Android에서 당근 기기를 자동으로 찾고 Carrot Web과 휴대폰 음성비서를 함께 사용하는 앱입니다. ChatGPT 연결 후 설정을 검색·설명하고 화면을 열 수 있으며, 별도 허용 시 현재 설정값 조회와 명확한 명령에 따른 변경을 지원합니다.

폰에서 직접 음성 명령 사용하기

CarrotAssist 0.2.11과 최신 당근웹에서 사용합니다. Android 12 이상이고 휴대폰에 현재 언어의 기기 내 음성 인식기가 있어야 합니다. 마이크 권한은 최초 한 번 허용하세요. 폰 직접 명령에는 ChatGPT 계정, 유료 구독, MCP 등록이 필요 없습니다. ChatGPT 무료 사용자와 MCP 등록 메뉴가 없는 사용자도 폰 직접 음성을 쓸 수 있습니다. 이 경우 연결 코드 입력을 건너뛰세요. 새로 설치하면 폰 직접 듣기가 기본입니다. 이미 쓰던 앱을 업데이트하면 기존 미니창 방식을 유지합니다. 상단 기기 이름에서 폰에서 음성 명령 먼저 듣기와 당근웹 연결 시 음성조수 자동 실행을 켜 두면 연결 후 인사하고 듣습니다. 마이크를 누르면 듣기를 종료하거나 다시 시작할 수 있습니다.

  • **“가속도 설정을 찾아줘”**라고 하면 현재 기기의 관련 설정 목록을 열고, 개수와 첫 항목을 읽어줍니다. 검색에는 설정 변경 권한이 필요 없습니다.
  • **“가속도 설정 0을 240으로 바꿔줘”**라고 하면 해당 항목의 저장값을 확인한 뒤 결과를 읽어줍니다. 정차하고 주행 보조를 해제한 상태에서 당근웹 → 도구 → ChatGPT 설정 도우미 → 설정값 조회·변경 허용을 한 번 켜세요. 이미 허용했다면 그대로 쓸 수 있습니다. 이름이 한 항목과 일치하고 지정한 정수가 허용 범위 안이면 추가 확인 없이 적용합니다. 이 항목의 범위는 1~250입니다. 음성 후보에서 숫자가 엇갈리거나 이름이 모호하면 변경하지 않습니다.
  • **“가속도 설정을 찾아줘” → “첫 번째 거 240으로 바꿔줘”**처럼 이어서 말할 수 있습니다. 같은 폰 음성 세션에서 방금 보여준 목록의 순서를 사용합니다. “두 번째 거”나 “3번 항목”도 됩니다. 저장 후 실제 설정 이름과 값을 읽어줍니다. 목록이나 대화가 바뀌면 원하는 설정을 다시 검색하세요.
  • **“깜박이 설정 열어줘”**는 깜박이 자동제어 설정 화면을 엽니다.
  • **“왼쪽으로 차로 변경해”, “오른쪽으로 차로 변경해”**는 정차·보조 해제 상태에서 당근웹 도구 → ChatGPT 설정 도우미 → 음성 차선변경·설정속도 명령 허용을 한 뒤 사용할 수 있습니다. 방향 후보가 일치하고 최종 인식 신뢰도가 높을 때 한 번 요청합니다. 인식기가 신뢰도를 제공하지 않으면 “왼쪽 확인”처럼 방향을 명시한 짧은 확인이 필요합니다. 신뢰도가 낮거나 후보가 충돌하면 보내지 않습니다. 명령은 기존 차량 조건을 따릅니다.
  • “가속이 왜 이렇게 빨라?” 같은 질문은 기본 음성비서를 엽니다. 기본 비서가 ChatGPT인 경우 미니창에서 질문을 다시 말하세요. 첫 발화는 ChatGPT에 전송하지 않습니다. 일반 질문에는 당근 MCP가 필요 없고, ChatGPT가 실제 당근 설정이나 차량 기능에 접근할 때에는 연결이 필요합니다.

소음 환경에서의 음성 인식률은 측정되지 않았습니다. 폰 직접 듣기를 끄면 기존 미니창 방식으로 돌아갑니다. “챗GPT 열어줘”라고 하면 기본 비서를 엽니다. 처음부터 ChatGPT가 듣게 하려면 상단 기기 이름에서 폰에서 음성 명령 먼저 듣기를 끄세요. 미니창 차로변경에는 기존 CarrotAssist 연결과 운전 명령 권한이 필요합니다.

“왼쪽으로 차로변경”과 “오른쪽으로 차로변경”은 폰 직접 음성에서 지원합니다. 0.2.9는 양쪽 표현을 Android 13 이상 인식기에 힌트로 전달합니다. 명령을 거절할 때 받아쓴 문장이 있으면 그 문장과 이유를 말합니다. 후보 불일치, 낮은 신뢰도, 늦게 도착한 결과를 구분합니다. 실차 소음에서의 인식률은 측정하지 않았습니다.

미니창이 “당근마켓” 이야기를 하거나 차로변경을 할 수 없다고 하면, 같은 창에서 “캐럿어시스트 도구로 가속도 설정을 찾아줘”라고 해 보세요. 계정 연결은 새 대화에서도 유지되지만 미니창이 매번 CarrotAssist 도구를 선택하는 것은 보장되지 않습니다. 검색 목록이 열리는지 확인하세요.

ChatGPT 맞춤 지침 복사하기

CarrotAssist 상단의 돋보기 옆 기기 이름 → ChatGPT 맞춤 지침 복사를 누르세요. 휴대폰 언어에 맞는 문구가 복사되고 붙여넣는 순서가 표시됩니다.

ChatGPT 앱에서 메뉴 → 프로필을 열고 설정 목록을 아래로 스크롤하세요. ChatGPT 맞춤 설정 → 성격 → 사용자 지정 지침 입력칸에 붙여넣고 오른쪽 위 저장을 누르세요. 기존 지침이 있으면 그 아래에 추가하세요. 새 대화에서 “가속도 설정을 찾아줘”로 확인할 수 있습니다. 이 문구는 ChatGPT가 ‘당근’을 당근파일럿으로 해석하도록 돕습니다. ChatGPT에서 CarrotAssist 도구를 사용하려면 기존 계정 연결과 해당 권한이 필요합니다.

IP가 바뀌거나 다른 당근을 선택했을 때

앱0.2.2·중계 서버0.7.1부터 최초 연결 후 현재 앱에서 연 당근웹으로 ChatGPT 연결 대상을 자동 변경합니다. 이전과 같은 기기인지 구별하지 않으며, IP가 바뀌었다고 코드를 다시 입력하지 않습니다. 여러 기기가 검색되면 선택합니다. 앱으로 돌아왔을 때 이전 주소가 응답하지 않으면 다시 검색합니다.

설정 변경·운전·도구 권한은 현재 당근웹에서 허용한 범위를 따릅니다. 최신 기기 코드에서는 IP 변경 뒤 기존 로컬 권한도 복구합니다. 다른 기기에 없는 권한을 자동으로 새로 허용하지 않으며, 권한 복구 실패가 계정 연결을 막지는 않습니다. 이전 주소에 남은 명령은 재실행하지 않습니다.

기존 앱은 상단 기기 이름에서 업데이트를 확인하세요. 삭제 후 재설치하지 마세요. 로컬 권한 복구는 당근 기기도 정차 후 GitPull·재시작해야 합니다. 0.2.1에서 이전 IP의 저장 정보를 못 찾던 경우를 수정했습니다. 0.2.2를 실제 폰에 설치한 뒤 새 코드나 기기 GitPull 없이 기존 연결 복구와 설정 화면 열기 완료를 확인했습니다.

English users

App0.2.2 shows native search, connection and update text in English on non-Korean phones. Select English separately in Carrot Web. Relay0.7.2 shows English consent for English browsers and instructs the AI to reply in the user's language. English search, native search UI and consent-page tests pass; spoken-English recognition has not been separately verified. Speed commands use km/h.

연결 코드, 어디에 넣나요?

당근앱에서 코드 복사 → ChatGPT가 연 ‘이 기기 연결 승인’ 웹페이지 입력칸에 붙여넣기입니다. 음성 대화창이나 미니모드에 코드를 보내지 마세요. Google Play는 앱 설치 화면입니다.

  1. 정차 후 최신 carrot-wip으로 GitPull·재시작하고, 같은 네트워크의 폰에서 CarrotAssist를 엽니다.

  2. 도구 → ChatGPT 설정 도우미 → 처음 연결하는 방법 · 다시 연결을 펼칩니다. 필요한 기능을 이 기기에서 허용합니다. 아직 코드는 만들지 않습니다.

  3. 이미 ChatGPT에 설치했다면: ChatGPT 플러그인 화면 열기 → 설치됨 → CarrotAssist → 다시 연결. ‘연결된 계정’ 아래의 다시 연결을 누르면 됩니다. 새로 등록하지 않습니다.

  4. 처음이라면: 당근 연결 주소를 복사하고 ChatGPT의 + → 사용자 정의 MCP 서버 추가에서 이름 CarrotAssist, 아래 서버 URL, 인증 방식 OAuth를 선택해 생성·연결합니다. OAuth는 선택 항목 이름이며 유료 API 키를 만들라는 뜻이 아닙니다.

    https://carrot-mcp.shind0.synology.me/account/mcp

  5. 코드 입력칸과 ‘이 기기 연결 승인’ 버튼이 있는 페이지가 열린 뒤, 당근앱으로 돌아와 새 코드 만들기 → 코드 복사를 누릅니다.

  6. 방금 열린 승인 페이지로 돌아가 붙여넣고 필요한 권한을 선택한 뒤 이 기기 연결 승인을 누릅니다. 앱과 승인 화면 양쪽의 허용이 필요합니다.

  7. 연결 후 당근앱을 띄운 채 마이크로 “깜박이 설정 하나 찾아서 열어줘”라고 시험합니다. Android 기본 음성비서는 ChatGPT로 지정합니다.

5분은 코드 입력 제한시간입니다. 정상 연결 후 매번 코드를 넣지 않습니다. 새 코드를 만들면 이전 코드는 무효가 됩니다. 만료 오류가 나면 다시 연결로 승인 페이지를 새로 연 뒤 새 코드 한 개를 즉시 입력하세요. 계속 실패하면 코드 자체를 공유하지 말고 오류 문구를 알려주세요. Chrome에서 만든 코드 대신 실제 사용할 CarrotAssist 앱에서 만든 코드를 사용하세요.

처음 설치·재연결을 나눈 상세 순서, 메뉴가 안 보이는 경우, 설치 권한·업데이트는 위 한국어/English 설명서를 확인하세요. 계정에 사용자 정의 MCP 추가 기능이 있어야 합니다.

연결했는데 변경할 때 또 승인하라고 하나요?

당근의 기기 권한과 ChatGPT의 실행 승인 정책은 별개입니다. 반복 승인을 원하지 않으면 각 사용자 본인의 ChatGPT 플러그인 설정에서 CarrotAssist → 권한 → 모두 허용을 선택합니다. 다른 플러그인의 기본값은 변경하지 않습니다. 이 선택은 이 플러그인에 허용된 작업 전체에 적용되며, 이후 별도 권한으로 추가한 기능에도 적용됩니다. 기기 범위·권한 검사와 유지보수 확인 절차는 유지됩니다. 당근앱이 대신 자동 승인하거나 선택 여부를 읽을 수는 없습니다.

예전 재확인 안내가 남으면 도구 새로 고침 → 새 대화로 시험합니다. 실행 승인 문제 때문에 연결 코드를 다시 만들지 마세요. 시험 계정에서는 위 선택 후 새 대화에서 추가 승인 없이 240 → 250 저장과 별도 조회를 확인했습니다. 다른 계정의 메뉴 제공 여부는 다를 수 있습니다.

웹을 터치하면서 대화하려면

CarrotAssist 0.2.4의 큰 주황색 마이크는 당근웹 안에서 끌어 옮길 수 있고, 앱을 다시 열어도 위치를 기억합니다. 짧게 누르면 현재 당근웹의 계정 연결·온라인 상태를 먼저 확인하고 미니 음성창을 엽니다. 서버가 응답하지 않으면 같은 창에서 다시 확인할 수 있습니다. 폰 측면 버튼으로 직접 부른 음성창은 이 확인을 거치지 않습니다. 일시 오류는 처음 포함 최대 3번 자동 확인합니다. 상단 기기 이름에서 당근웹 연결 시 음성조수 자동 실행을 켜면 앱을 열고 연결될 때 한 번 인사합니다. 0.2.5부터 새 Git 업데이트가 확인되면 “당근 기기에 새 업데이트가 있어요”라고 한 번 안내합니다. 대답할 필요가 없습니다. 최신 당근웹과 도구 권한을 사용하는 경우 미니창에서 **“네이버지도 띄워줘”**라고 하면 휴대폰에 설치된 네이버지도를 엽니다.

시작 인사는 당근웹의 계정 연결과 온라인 상태를 확인했다는 뜻입니다. 미니창에서 일반 답변만 나오면 정차 후 **“CarrotAssist로 마지막 운전 요청 상태만 알려줘”**라고 말해 실제 도구 호출 표시를 확인하세요. 상태 조회는 차량에 운전 명령을 보내지 않습니다. 안드로이드의 화면 내용 공유는 다른 앱에도 적용되는 선택 사항입니다.

좌우 음성 차로변경은 기존 차로변경 조건을 따릅니다. 준비 중 옆 차로가 막히거나 사각지대가 감지되면 시작하지 않습니다. 깜박이 자동제어 2에서 외부 깜박이 장치가 응답하면 차로변경을 시작하는 시점에 같은 방향의 깜박이도 요청합니다. 장치 응답이 늦거나 송신에 실패해도 차로변경은 진행될 수 있습니다. 지원되는 순정 자동 방향지시등 경로에서는 기존과 같이 점등을 먼저 확인합니다.

ChatGPT 설정 → 음성 → 백그라운드 대화를 켜고, 전체 ChatGPT 앱에서 음성 시작 → 홈 버튼 → CarrotAssist 열기 순서로 사용합니다. 당근 마이크를 다시 누르지 않습니다. 시험 폰에서는 웹 탭을 터치해도 대화가 이어졌고 사용자가 답변을 확인했습니다. 초록색 ChatGPT 상태 표시 모양은 폰에 따라 다릅니다. 작은 창은 웹 터치 시 대화가 종료될 수 있으며, 당근앱이 그 높이를 제한하거나 ChatGPT의 실제 듣기 상태를 직접 읽지는 못합니다.

사용 예와 지원 범위

“깜박이 설정 찾아줘”, “첫 번째 설정을 설명해줘”, “차간거리 설정을 열어줘”처럼 말합니다. 중계 서버0.7.3부터 “가속도설정 0을 240으로 변경해”처럼 대상과 값을 명확히 말하면 범위 검사·저장값 확인 후 결과만 짧게 안내합니다. 같은 값을 다시 묻지 않으며, 모호한 요청이나 AI 추천값만 확인합니다. ChatGPT 자체의 도구 승인 화면은 별개입니다. 지원하는 주행 관련 설정도 주행 중 변경할 수 있으며, 최초 권한 허용만 정차·주행 보조 해제 상태에서 진행합니다. 실제 반영 시점은 각 설정의 기존 동작을 따릅니다. 방향지시등 직접 제어·주행 분석·주행 기록 업로드는 지원하지 않습니다. 별도 도구 권한으로 진단 로그 전송 요청은 지원합니다.

같은 대화에서 운전 명령 — 시험 기능

중계 서버0.7.4는 “좌측차로변경”, “우측차로변경”처럼 명확한 명령에 먼저 실행 요청을 보내고 나서 결과를 안내하도록 지시합니다. “지금 확인해볼게” 같은 사전 멘트나 상태 조회를 붙이지 않습니다. 음성 인식·모델·통신 지연은 남으므로 즉각 반응이나 일정한 응답시간을 보장하지 않습니다. 서버 반영 뒤 ChatGPT 도구 목록을 새로 고치고 새 음성대화를 시작하세요. 이번 안내 순서 변경만으로는 폰 업데이트나 차량 GitPull이 필요하지 않습니다. 0.7.5부터 서버는 약 0.4초 안에 차량 응답이 오면 그 상태를, 늦으면 중계 접수 상태를 먼저 돌려줍니다. 이후 “결과는?”으로 같은 요청의 상태를 조회할 수 있습니다. 음성 인식부터 답변까지의 전체 시간은 별도입니다.

중계 서버0.6.0과 최신 기기 코드에는 차선변경·크루즈 설정속도 요청이 추가됩니다. 폰 APK0.2.0은 그대로 사용하고, 차량은 정차 후 GitPull 및 전체 재시작이 필요합니다. PC의 제어기·연결 시험을 거쳤으며 실제 도로 음성 주행 검증은 아직 하지 않았습니다.

최초 한 번 앱 안 당근웹 > 도구 > ChatGPT 설정 도우미 > 음성 차선변경·설정속도 명령 허용과 ChatGPT의 당근 연결 승인 화면 > 음성 차선변경·설정속도 명령 허용 양쪽에서 허용하세요. 기존 설정 권한은 자동으로 확대되지 않습니다.

마이크로 대화를 한 번 시작한 뒤 설정을 의논하다가 “왼쪽으로 차선변경해”, “속도 올려”, “속도10 내려”, “속도100으로”라고 말합니다. 명령마다 버튼이나 모드를 바꾸지 않습니다. 명확한 실행 명령에는 별도의 재확인 대화를 붙이지 않지만 ChatGPT 자체의 도구 승인창이 나올 수 있습니다. 차량의 기존 조건·운전자 우선권을 따르며, 설정속도 적용과 실제 차량 속도 도달은 구분합니다. 중복 방지·유효시간·지원 구성·권한 해제 동작은 위 상세 설명서를 확인하세요. 리모컨의 폰 음성대화 시작 버튼은 아직 추가하지 않았습니다.

ChatGPT에 사용자 정의 MCP를 추가할 수 있어야 하며 무료 계정 지원은 아직 확인되지 않았습니다. 사용자의 AI 대화는 사용자 자신의 ChatGPT 계정으로 처리됩니다. Gemini와 기존 Google Assistant를 통한 당근 설정 조작은 지원으로 안내하지 않습니다.

앱은 새 버전을 자동 확인하고 사용자가 Android 설치 화면에서 업데이트를 승인합니다. 같은 서명으로 업데이트하면 기존 연결을 유지합니다. 상단 기기 이름에서 수동 확인도 가능합니다.

도구 버튼 음성 실행

중계 서버0.7.0과 최신 기기 코드에서 도구 화면·작업 실행 허용을 양쪽에 추가하면 사용할 수 있습니다. 폰 앱0.2.0은 그대로 사용합니다.

  • “블루투스 설정 열어줘”, “기기 정보 보여줘”: 해당 창 열기.
  • “GitPull 해줘”, “기기 재시작해줘”, “설정 백업해줘”: 영향 설명과 후속 확인 후 기존 도구 작업 실행.
  • “tmux 진단 로그 서버에 보내줘”: 진단 내용·식별정보의 기존 서버 전송을 확인한 뒤 요청. 주행 기록 업로드와 다릅니다.
  • “화면 녹화 켜줘/꺼줘”, “녹화 전부 삭제해줘”: 대상과 영향을 확인 후 실행. 녹화 외 실행 작업은 정차·보조 해제 상태가 필요합니다.
  • 파일 복원·QR 읽기·클립보드 복사·저장소 초기화: 해당 버튼까지 안내하며 폰에서 직접 선택합니다.

GitPull 후 재시작은 별도 요청입니다. 요청 접수와 실제 완료를 구분하며, 연결 끊김이나 미확인 결과 뒤 자동 재실행하지 않습니다. ChatGPT에 진단 원문이나 백업 파일은 전달하지 않습니다. 지원 작업 전체와 제한은 위 상세 설명서를 확인하세요. 실제 차량의 삭제·재시작·업로드 실행 시험은 하지 않았습니다.

설정 조회·변경 오류 보완: 최신 당근웹은 같은 주소의 다른 창에서 바뀐 로컬 권한을 요청마다 다시 읽고, 읽기 전용 승인 코드 칸의 초점이 요청을 막지 않도록 처리합니다. 조회는 편집 중에도 가능합니다. 웹 수정은 기기 GitPull 후 당근웹을 다시 열어 반영하며 폰 앱은0.2.2를 유지합니다.

CarrotPilot Wiki


Clone this wiki locally