프로젝트 소개
# ABB — 채팅 소프트웨어를 나만의 AI 비서로
ABB는 메뉴 바(Windows 트레이)에 상주하는 로컬 AI 어시스턴트로, 페이수(飞书), 위챗, 딩톡의 봇 메시지를 패키지에 내장된 AI 에이전트(buzz-agent)로 브릿지합니다. 사용자는 명령줄 도구를 설치할 필요 없이 채팅에서 바로 로컬 모델을 호출해 자료 검색, 코드 작성, 문서 정리, 예약 알림 등의 작업을 수행할 수 있습니다.
## 핵심 기능
- **다중 플랫폼 연동**: 페이수(공식 롱 커넥션), 위챗(QR 코드 로그인), 딩톡(기업 내부 앱)을 지원하며, 여러 봇을 동시에 연결하고 각각 독립적으로 모델을 설정할 수 있습니다.
- **즉시 사용 가능**: 실행 계층이 패키지에 내장되어 별도 설치가 필요 없습니다. 모델은 Anthropic 네이티브 및 임의의 OpenAI 호환 공급자(DeepSeek, 통이, Kimi 등)를 지원하며 설정에서 직접 추가할 수 있습니다.
- **프라이버시 보안**: 모든 채팅 내용, 키, 모델 호출은 본机에서만 처리되며(데이터 디렉터리 `~/.agent-bridge`), ABB는 서버가 없어 데이터가 제3자를 거치지 않습니다.
- **다중 턴 세션**: 각 bot이 독립적으로 기억하며, `/new`로 새 세션 생성, `/cancel`로 작업 취소를 지원합니다. 인용 메시지는 인용된 내용을 자동으로 포함합니다.
- **예약 작업**: 자연어로 생성하며(예: "매일 9시에 스탠드업 회의 알림"), 시간이 되면 결과를 자동으로 채팅에 푸시합니다.
- **삭제 보호**: 기본적으로 휴지통 메커니즘이 활성화되어 삭제 작업을 취소하고 추적할 수 있습니다. 위험한 삭제(≥50MB 또는 코드 특징 포함)는 2차 확인이 필요하며, git이 있으면 자동 스냅샷이 남습니다.
- **세션 간 전달**: agent가 메시지/작업 결과를 다른 bot의 세션으로 전달할 수 있으며, 예약 작업의 다중 대상을 지원합니다.
## 빠른 시작
1. [Releases](https://github.com/gqf2008/abb/releases)에서 해당 플랫폼 설치 패키지를 다운로드합니다(macOS는 Apple Silicon만, Windows는 관리자 권한 없이 설치).
2. ABB를 열고 설정에서 페이수/위챗/딩톡 봇을 추가합니다(위챗은 QR 코드 로그인).
3. bot 개인 채팅에서 첫 메시지를 보내면 대화를 시작할 수 있습니다.
## 권한 부여자 격리(보안 기본값)
권한 코드로 진입한 권한 부여자(비 owner)는 기본적으로 제한 모드로 실행됩니다. 해당 bot 작업 공간 내 파일만 읽고 쓸 수 있으며, 화이트리스트 명령만 실행할 수 있고, 네트워크에 연결하거나 작업 공간 외부 경로에 접근할 수 없습니다. owner 세션은 영향을 받지 않으며, 설정에서 이 제한을 해제할 수 있습니다.
## 자주 묻는 질문
- **Intel Mac 지원?** 현재 지원하지 않으며, Apple Silicon(arm64) 설치 패키지만 제공합니다.
- **어떤 모델을 지원하나요?** 임의의 Anthropic 네이티브 / OpenAI 호환 공급자를 설정에서 추가하면 됩니다.
- **예약 작업이 반응하지 않나요?** 트레이 서비스가 실행 중인지(녹색 상태) 확인하세요. 작업 결과는 생성 시의 세션으로 전송됩니다.
## 개발자 빌드
동일 저자의 [slint-pixel](https://github.com/gqf2008/slint-pixel) 컴포넌트 라이브러리에 의존하며, 동일 레벨 디렉터리에 클론한 후 빌드해야 합니다:
```sh
git clone https://github.com/gqf2008/abb.git
git clone https://github.com/gqf2008/slint-pixel.git
cd abb && cargo build --release
```
## License
ABB 본체는 MIT를 채택하며, 패키지에 포함된 제3자 컴포넌트(buzz-agent, rg, jq, uv, gh 등)는 각자의 라이선스를 유지합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.