withoneai/cli
A command-line tool to give your agents access to any app, create workflows and manage your One account.
One CLI – AI 에이전트가 어떤 웹 서비스와도 통신할 수 있는 명령줄 브리지
무엇인가요 – 600개 이상의 SaaS 플랫폼(Gmail, Slack, Stripe, Shopify, HubSpot 등)의 API를 하나의 일관된 인터페이스로 호출할 수 있는 Node 기반 CLI(one)입니다. 인증, OAuth 흐름, 레이트 제한, 요청 형식을 자동으로 처리하므로, 에이전트는 "무엇을 하고 싶은지"만 알면 되며, 각 서비스와의 통신 방법을 배울 필요가 없습니다.
작동 방식
- 설정 –
one init을 실행하면 WithOne API 키를 저장하거나 브라우저를 통해 로그인하고, 사용하는 AI 에이전트(Claude, Cursor 등)에 작은 "MCP" 서버를 설치합니다. - 플랫폼 연결 –
one add <platform>을 실행하면 OAuth 흐름을 한 번만 수행하고, 인증된 자격 증명을 나타내는 connection key를 생성합니다. - 액션 탐색 –
one actions search <platform> "send email"을 실행하면 자연어 질의에 부합하는 API 액션 목록(각각actionId로 식별)을 반환합니다. - 문서 확인 –
one actions knowledge <platform> <actionId>를 통해 정확한 요청 스키마, 필수 매개변수, 예제를 확인할 수 있습니다. - 실행 –
one actions execute <platform> <actionId> <connectionKey> -d '{…}'를 통해 요청을 전송하며, CLI가 적절한 토큰을 주입하고 응답을 정규화합니다. - 워크플로우 조합 –
one flow create …를 사용해 여러 액션(예: Stripe 고객 조회 후 이메일 발송)을 조합하여 조건 기반의 재사용 가능한 워크플로우를 만들 수 있으며, 단일 명령어로 실행 가능합니다. - 메모리 저장소 –
one mem …은 로컬 PostgreSQL 기반 저장소를 실행하여 사용자 메모와 연결된 플랫폼에서 동기화된 데이터를 보관하며, 에이전트가 빠른 하이브리드 전체 텍스트 + 의미적 검색을 수행할 수 있도록 합니다. - 동기화 –
one sync를 통해 플랫폼 데이터를 메모리 저장소로 가져와, 에이전트가 외부 API를 매번 호출하지 않고도 쿼리할 수 있도록 합니다.
주요 명령어
| 명령어 | 목적 |
|---|---|
one init |
인증, MCP 서버 설치, 전역 또는 프로젝트 범위 설정 |
one add <platform> |
OAuth 수행 및 연결 키 생성 |
one list |
모든 활성 연결 및 접근 정책 표시 |
one actions search … |
자연어 설명으로 API 액션 검색 |
one actions knowledge … |
특정 액션에 대한 완전한 문서 얻기 |
one actions execute … |
JSON 데이터, 경로 변수, 쿼리 매개변수 등으로 액션 호출 |
one flow create … |
조건, 루프, 병렬 단계를 포함한 다단계 워크플로우 정의 |
one flow execute … |
저장된 워크플로우 실행 |
one mem … |
로컬 통합 메모리 저장소 관리(추가, 검색, 목록, 가져오기 등) |
one sync |
플랫폼 데이터를 메모리 저장소로 가져와 즉시 쿼리 가능하게 하기 |
one cache … |
CLI의 액션 메타데이터 캐시 확인 또는 삭제 |
AI 에이전트에게 중요한 이유
- API 키 관리 불필요 – 에이전트는 단일 connection key만 필요하며, CLI가 뒤에서 OAuth 토큰을 자동으로 주입합니다.
- 일관된 인터페이스 – 모든 플랫폼이 동일한 형태(메서드, 경로, JSON 스키마)로 액션을 노출하므로, 하나의 LLM 프롬프트 템플릿이 어디서나 사용 가능합니다.
- 안전성 – 접근 정책을 스코프(전체, 메서드 수준, 명시적 허용 목록)로 설정할 수 있어, 에이전트가 호출을 시도하기 전에 권한을 미리 파악할 수 있습니다.
- 조합 가능한 워크플로우 – 복잡한 비즈니스 로직(예: "새로운 Stripe 고객이 등록되면 환영 이메일을 보낸다")을 워크플로 파일로 표현해, 에이전트가 프로그래밍적으로 트리거할 수 있습니다.
- 로컬 메모리 – PostgreSQL 저장소에 데이터를 동기화하면, 반복적인 원격 호출 없이도 빠르고 검색 가능한 컨텍스트를 제공하며, OpenAI 임베딩을 통해 선택적 의미적 검색도 지원합니다.
설치
# 한 번 설치
npx @withone/cli@latest init
# 또는 전역 설치
npm install -g @withone/cli
one init # 이후 인터랙티브 프롬프트에 따라 진행
Node 18+ 필요; one sync는 Node 20이 필요함(사전 빌드된 SQLite 바이너리 사용).
일반적인 사용 사례
one add gmail # OAuth 한 번 수행 후 연결 키 획득
one actions search gmail "send email" -t execute
# 예를 들어 반환된 action ID가 12345라면
one actions execute gmail 12345 <key> -d '{"to":"jane@example.com","subject":"Hi","body":"Hello"}'
몇 가지 명령어만으로도 에이전트는 OAuth 토큰을 다루거나 Gmail의 REST 사양을 배우지 않고도 인증된 이메일을 보낼 수 있습니다.
결론 – One CLI는 수백 개의 SaaS API의 복잡한 구현을 추상화하는 실용적인 도구로, AI 에이전트가 실제 세계 서비스에 깔끔하고 안전하며 프로그래밍 가능한 방식으로 작동할 수 있도록 합니다.
관련
- Dispatch
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트