AI-QL/tuui
요약
TUUI는 Model Context Protocol (MCP)을 기반으로 설계된 데스크톱 클라이언트로, 도구 단위 유틸리티 통합을 통해 AI 도입 속도를 높입니다. 이를 통해 벤더에 구애받지 않고 다양한 LLM API를 오케스트레이션할 수 있는 환경을 제공합니다. 본 프로젝트는 AI가 생성한 콘텐츠로 완전한 프로젝트를 구현하는 실험적 사례이며, 개발 시 엄격한 린팅 및 명명 규칙 준수를 권장합니다.
핵심 포인트
- MCP 기반으로 LLM API 오케스트레이션을 가능하게 함
- 벤더에 구애받지 않고 다양한 LLM 백엔드 연결 지원
- AI가 생성한 콘텐츠로 프로젝트를 구현하는 실험적 사례 제시
- TypeScript 및 다국어 지원을 통해 개발 편의성 제공
TUUI는 Model Context Protocol (MCP)을 통해 도구 단위 유틸리티 통합(tool unitary utility integration)으로 설계된 데스크톱 MCP 클라이언트입니다. 이를 통해 AI 도입 속도를 높이고 벤더를 가리지 않는 LLM API 오케스트레이션을 가능하게 합니다.
이 저장소는 본질적으로 MCP 기반의 LLM 채팅 데스크톱 애플리케이션입니다. 또한, AI를 사용하여 완전한 프로젝트를 생성하는 대담한 실험을 보여줍니다. 프로젝트 내 많은 구성 요소들은 프로토타입 프로젝트에서 AI를 통해 직접 변환되거나 생성되었습니다.
AI가 생성한 콘텐츠의 품질과 안전성에 대한 고려 사항으로 인해, 이 프로젝트는 엄격한 구문 검사 및 명명 규칙을 사용합니다. 따라서 추가 개발 시에는 설정된 린팅(linting) 도구를 사용하여 구문 문제를 확인하고 자동으로 수정할 것을 권장합니다.
- ✨ MCP를 통한 AI 도구 통합 가속화
- ✨ 동적 설정을 통해 벤더 간 LLM API 오케스트레이션
- ✨ 자동 애플리케이션 테스트 지원
- ✨ TypeScript 지원
- ✨ 다국어 지원
- ✨ 기본 레이아웃 관리자
- ✨ Pinia 스토어를 통한 전역 상태 관리
- ✨ GitHub 커뮤니티 및 공식 문서를 통한 빠른 지원
| Status | Feature | Category | Note |
|---|---|---|---|
| ✅ | Tools | Server | |
| ... | |||
| 당신의 역할과 필요에 맞춰진 다양한 옵션을 통해 프로젝트를 빠르게 시작할 수 있습니다: |
- 프로젝트를
탐색(explore)하려면 위키 페이지: TUUI.com을 방문하세요. - 애플리케이션을 직접
다운로드(download)하여 사용하려면 릴리스 페이지: Releases를 방문하세요. 개발자설정을 위해서는 설치 가이드: Getting Started (English) | 快速入门 (中文)을 참고하세요.- 프로젝트에 대해 AI에게 직접
질문하려면 다음을 방문하세요: TUUI@DeepWiki
MCP 관련 기능을 사용하려면 환경에 다음 전제 조건이 충족되어야 합니다:
- 도구/함수 호출(tool/function calling)을 지원하는 LLM 백엔드(예:
ChatGPT,Claude,Qwen또는 자체 호스팅)를 설정하세요. - NPX/NODE 기반 서버의 경우: JavaScript/TypeScript 도구를 실행하려면Node.js를 설치하세요. - UV/UVX 기반 서버의 경우:Python과UV를 설치하세요.
라이브러리(library).
- Docker 기반 서버의 경우: 설치
DockerHub
.- macOS/Linux 시스템의 경우: 기본 MCP 설정을 수정합니다 (예: CLI 경로 또는 권한 조정).
가이드는 MCP Server Issue 문서를 참조하십시오.
LLM을 구성하는 방법에 대한 가이드는 템플릿(예: Qwen)을 참조하십시오:
{
"name": "Qwen",
"apiKey": "",
...
설정은 JSON 객체(단일 챗봇용) 또는 JSON 배열(다중 챗봇용) 중 하나를 허용합니다:
[
{
"name": "Openrouter && Proxy",
...
| 구성 | 설명 | 위치 | 참고 |
|---|---|---|---|
| LLM 엔드포인트(Endpoints) | 기본 LLM 챗봇 설정 | llm.json | 전체 구성 유형은 llm.d.ts에서 찾을 수 있습니다. |
| ... |
분해 가능한 패키지(decomposable package)의 경우, 빌드된 릴리스의 기본 구성을 수정할 수도 있습니다:
예를 들어, src/main/assets/config/llm.json은 resources/assets/config/llm.json에 위치하게 됩니다.
구성을 수정하거나 가져오면 기본적으로 localStorage에 저장됩니다.
대안으로, 트레이 메뉴(Tray Menu)에서 저장 공간 지우기(Clear Storage)를 선택하여 모든 구성을 지울 수 있습니다.
Cloudflare가 권장하는 mcp-remote를 활용하면 전체 원격 MCP 서버 기능 세트(인증 포함)를 구현할 수 있습니다. 예를 들어, 다음 내용을 mcp.json 파일에 추가하기만 하면 됩니다:
{
"mcpServers": {
"cloudflare": {
...
이 예시에서 저는 Cloudflare의 https://YOURDOMAIN.com에 테스트 원격 서버를 제공했습니다. 이 서버는 항상 인증 요청을 승인할 것입니다.
만약 일반적인 HTTP 400 오류와 같은 문제가 발생하면(콜백 지연으로 인한 실패를 방지하기 위해 OAuth 자동 리디렉트를 유지하도록 노력하십시오), 인증 페이지에서 브라우저 캐시를 지운 다음 다시 검증을 시도하여 해결할 수 있습니다:
MCP 서버를 실행할 때 문제가 발생하면, 먼저 해당 명령어가 현재 시스템에서 실행될 수 있는지 확인하십시오. 예를 들어, uv /uvx, npx 등입니다.
MCP 서버를 실행할 때 ENOENT와 같은 스폰 오류가 발생하면, 해당 MCP 서버를 로컬에서 직접 실행하고 절대 경로를 사용하여 호출해 보세요.
명령어는 작동하지만 여전히 MCP 초기화에서 스폰 오류가 반환되는 경우, 이는 알려진 문제일 수 있습니다:
- Windows: MCP SDK에는
Windows시스템을 위한 특정 해결책이 포함되어 있으며, ISSUE 101에 문서화되어 있습니다. 세부 정보: ISSUE 40 - Windows에서 npx로 MCP 서버 연결 실패 (수정됨) - mscOS: 이 문제는 다른 플랫폼, 특히
macOS에서는 아직 해결되지 않았습니다. 여러 가지 임시 방편이 있지만, 이 티켓은 가장 효과적인 것들을 통합하고 가장 간단한 방법을 강조합니다: macOS에서 MCP 구성 방법. 세부 정보: ISSUE 64 - NVM과 함께 작동하지 않는 MCP 서버 (아직 열림)
초기화에 너무 오랜 시간이 걸려 90초 시간 초과 보호가 발동되는 경우, 이는 uv/uvx/npx 런타임 라이브러리가 처음으로 설치되거나 업데이트되고 있기 때문일 수 있습니다.
해당 pip 또는 npm 저장소에 대한 연결이 느리면 설치 시간이 오래 걸릴 수 있습니다. 이런 경우에는 먼저 관련 디렉터리에서 pip 또는 npm을 사용하여 수동으로 설치를 완료한 다음, MCP 서버를 다시 시작하세요.
기능 개선, UI 개선, 문서 업데이트, 테스트 케이스 완성, 구문 수정 등 모든 종류의 기여를 환영합니다. 저는 실제 개발자가 AI보다 더 나은 코드를 작성할 수 있다고 믿으므로, 코드 구현의 특정 부분에 대해 우려되는 점이 있다면 주저하지 말고 제안을 공유하거나 풀 리퀘스트(pull request)를 제출해 주세요.
코드 오브 컨덕트(Code of Conduct)를 검토해 주세요. 이는 항상 유효합니다. 우리는 이 프로젝트에 기여하는 모든 사람에게 이를 준수할 것을 기대합니다.
더 자세한 정보는 기여 가이드라인(Contributing Guidelines)을 참조하세요.
이슈를 생성하기 전에 최신 버전의 프로젝트를 사용하고 있는지 확인해 보세요. 최신 버전이 아니라면, 먼저 업데이트하여 문제가 해결되는지 확인해 보세요.
보안 정책을 검토해 주세요. 보안 취약점에 대해서는 공개 이슈를 제기하지 마십시오.
작성자: @AIQL.com.
이 프로젝트의 진술에 담긴 많은 아이디어와 글은 다음 커뮤니티들의 작업에 기반하거나 영감을 받았습니다:
특정 기술 세부 사항과 라이선스를 검토할 수 있습니다. 저희는 이들이 자신들의 프로젝트에서 협업을 촉진하기 위해 기울인 노력에 경의를 표합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 GitHub AI Tools의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기