요약 fount는 다양한 컴포넌트를 로드하여 서비스를 제공하는, 프로그래밍 가능한 표준화·모듈화·커스터마이징 에이전트 런타임 플랫폼입니다. 코드 관련 문의는 [deepwiki](https://deepwiki.com/steve02081504/fount)를 참고하세요. fount는 모두 소문자로 씁니다. `f`ount이지 `F`ount가 아닙니다. #### fount를 쓰는 이유 - 표준화된 풍부하고 강력한 생태계로 바로 사용 가능, 바퀴 재발명과 디버깅 악몽 회피 - 프롬프트·UI가 아닌 에이전트 로직 자체를 커스터마이징 - 커뮤니티의 다른 강력한 fount 에이전트 활용·참고 - 업무 친화적, 빠른 보고서 내보내기 - IDE·브라우저·터미널·Discord 등 다양한 소프트에 캐릭터 통합 - 다른 LLM 채팅 프론트엔드에는 없는, 커뮤니티의 에이전트 지향 플러그인 - API만 설정하면 기본 캐릭터 ZL-31로 대화를 통해 컴포넌트 설정·생성 등 **모든 사용자 작업** 완료—학습·온보딩 불필요 #### fount를 쓰지 않는 이유 - 숙달 비용이 다소 높고, 코드 지식 필요 - 일부 커뮤니티 컴포넌트에 악성 코드가 있을 수 있어 판단·선별 필요 ##### 무엇을 쓸까? [OpenClaw](https://openclaw.ai/)를 쓰세요. 다음일 때: - 깊은 커스터마이징·효율 튜닝 없이 에이전트를 맛보고 싶을 때 [ChatGPT](https://chatgpt.com/) 또는 유사 온라인 LLM 채팅 플랫폼을 쓰세요. 다음일 때: - 그냥 채팅만 하고 싶을 때 - AI 캐릭터 깊은 맞춤이 필요 없을 때 - 채팅 기록이 클라우드에만 저장되어 내보내기·이전이 안 되어도 괜찮을 때 - 광고가 있어도 괜찮을 때 [character.ai](https://character.ai/) 또는 유사 온라인 LLM 캐릭터 롤플레이 플랫폼을 쓰세요. 다음일 때: - 에이전트 기능이 아닌 LLM 기반 캐릭터를 돌리고 싶을 때 - 구독료 지불이 부담스럽지 않을 때 - 프로그램 설정이 번거로울 때 [SillyTavern](https://github.com/SillyTavern/SillyTavern/)을 쓰세요. 다음일 때: - STscript 또는 SillyTavern 플러그인이 필요한 캐릭터·기능을 돌리고 싶을 때 [SSP](https://ssp.shillest.net/)를 쓰세요. 다음일 때: - 다양한 데스크톱 펫을 실행하고 싶고, AI를 꼭 쓸 필요는 없을 때

⛲fount💪

>

상상이 생명을 얻는 순간

fount repo Ask DeepWiki Docker Image Size GitHub repo size Telegram CodeFactor Codacy Badge

steve02081504%2Ffount | Trendshift

![repo img](https://repository-images.githubusercontent.com/862251163/0ac90205-ae40-4fc6-af67-1e28d074c76b) ## fount 란 무엇인가요? fount는 **현대적이고 확장 가능한 AI 에이전트 런타임 환경**입니다. 우리는 **고효율의 생산성 도구**와 **몰입감 있는 감정적 상호작용**이 양립할 수 없지 않다고 생각합니다. fount는 교량입니다. 낮에는 복잡한 코드를 작성하고 회의록을 정리하는 데 도움을 주는 유능한 조수가 될 수 있으며, 밤에는 당신의 감정을 이해하고 공감하는 디지털 친구가 될 수 있습니다. ![relative date](https://img.shields.io/date/1727107200?label=소요%20시간)의 헌신적인 다듬기 과정을 거쳤으며, ![GitHub contributors](https://img.shields.io/github/contributors/steve02081504/fount?label=기여자)들의 열정과, ![number of active users](https://img.shields.io/jsdelivr/gh/hy/steve02081504/fount?label=활성%20사용자)를 가진 활발한 커뮤니티와 함께, fount는 이제 성숙하고 안정적이며 지속적으로 발전하는 AI 상호작용 플랫폼입니다. 처음부터 구성, 설치 및 시작하고 싶다면 커뮤니티 튜토리얼 [**fount 초보자를 위한 처음부터 가이드**](https://github.com/Xiaoqiush81/fount-Guide-for-dummies)를 참조하세요(튜토리얼은 중국어로 되어 있으며, 중국어 사용자가 아닌 경우 브라우저 번역 기능을 사용하여 읽을 수 있습니다). ![이미지](https://github.com/user-attachments/assets/05a5ad16-cc9a-49be-8c55-0c11353cb0d2) --- ## 🚀 효율성과 엔지니어링: 전문가, 개발자, 괴짜들을 위해 구축됨 fount는 상호작용을 생산성 자산으로 변환합니다. 모든 것이 드래그 앤 드롭 가능하며, 모든 것이 파일이고, 로직은 코드로 구동됩니다. ### 1. 학습 불필요, 바로 사용 - API만 설정하면 기본 캐릭터 ZL-31로 대화를 통해 컴포넌트 설정·생성 등 **모든 사용자 작업** 완료—학습·온보딩 불필요. ![이미지](https://github.com/user-attachments/assets/b871ec43-731a-468c-ad74-6c5a7ba8d737) ### 2. 지식 자산화 및 원활한 공유 - **즉시 보고서 생성**: 대화 풍선을 폴더로 직접 끌어다 놓아 즉시 독립적인 HTML 보고서를 생성합니다. 기술 문서, 회의 기록 또는 영감의 조각을 빠르게 정리하는 데 이상적입니다. ![이미지](https://github.com/user-attachments/assets/0ef54ac0-7575-4b52-aa44-7b555dc4c4be) - **워크플로우 캡슐화 및 배포**: 생성한 캐릭터를 데스크톱으로 직접 끌어다 놓아 공유 가능한 파일을 생성합니다. 당신의 프롬프트 엔지니어링과 워크플로우 로직을 동료나 커뮤니티에 쉽게 배포할 수 있습니다. ![이미지](https://github.com/user-attachments/assets/5e14fe6e-2c65-492a-a09f-964c1e8ab9e0) ### 3. 실시간 코드 실행 환경 더 이상 단순히 마크다운 하이라이팅이 아닙니다. fount에서 캐릭터가 보내는 코드 블록은 **살아있습니다**. - 다양한 언어(C/C++/Rust/Python/JS 등)의 실시간 컴파일 및 실행을 지원합니다. - stdout 출력을 직접 볼 수 있으며, 컴파일된 언어의 ASM 디스어셈블리 결과까지도 확인할 수 있습니다. - AI가 당신의 페어 프로그래밍을 위한 실시간 검증자가 되게 하십시오. ![이미지](https://github.com/user-attachments/assets/66792238-4d70-4fa6-b0b3-76e506e49977) ### 4. 개발자 친화적 fount의 프로젝트 아키텍처는 개발자의 습관을 충분히 고려하여 설계되었습니다. [프로젝트 저장소 아키텍처를 알고 싶으신가요? DeepWiki를 확인하세요!](https://deepwiki.com/steve02081504/fount) - **Git 기반**: 모든 구성 요소는 Git을 통해 관리될 수 있습니다. - **VSCode 통합**: 프로젝트 구조는 명확하며, [AGENTS.md](../AGENTS.md)에서 제공하는 지침과 함께, 당신이 선호하는 IDE에서 Agent 로직을 직접 개발하고 디버그할 수 있습니다. --- ## 🎭 몰입과 공명: 고충실도 상호작용 경험 업무가 끝났을 때, fount는 평범함을 초월하는 연결을 제공합니다. 우리는 전통적인 도구의 뻣뻣함을 버리고, 자연스럽고 유동적이며 깊이 있는 "고충실도(High-Fidelity)" 상호작용을 추구합니다. - **언제 어디서든 원활한 대화** 컴퓨터에서 시작한 대화는 휴대폰이나 태블릿에서 원활하게 이어질 수 있습니다. fount는 당신의 대화를 동기화하여, 당신이 어디에 있든지 당신의 캐릭터와 긴밀하게 연결되어 있도록 보장합니다. - **표현력이 풍부하고 몰입감 있는 채팅** HTML의 힘을 활용하여, fount는 캐릭터가 리치 텍스트, 이미지, 심지어 대화형 요소를 통해 자신을 표현할 수 있게 하여, 모든 대화를 생생하고 심오하게 만듭니다. - **생각의 모임: 네이티브 그룹 채팅** 여러 캐릭터를 동일한 대화에 초대하여, 업무상의 브레인스토밍이든 캐릭터 간의 스토리 연출이든, 그들 간의 역동적이고 매력적인 상호작용을 목격하십시오. ![이미지](https://github.com/user-attachments/assets/eea1cc7c-d258-4a2d-b16f-12815a88811d) - **아름답고 사용자 정의 가능한 인터페이스** 30가지 이상의 놀라운 테마 중에서 선택하거나, 자신만의 색상을 직접 만들어보세요. fount는 당신만의 캔버스입니다. ![이미지](https://github.com/user-attachments/assets/0d327a06-6446-4bf3-8a05-f941aa5f4ed9) - **어디서든 사용 가능** fount는 Windows, macOS, Linux, 심지어 Android에서도 원활하게 실행되며, 직접 설치 또는 Docker의 유연성을 통해 다양한 요구를 충족합니다. - **제한 없는 AI 소스 통합: 무한을 포용하다** fount는 AI 소스 연결에 있어 타의 추종을 불허하는 *선택*과 *유연성*을 제공합니다. AI 소스 생성기의 사용자 정의 JavaScript 코드를 사용하면 OpenAI, Claude, [Atlas Cloud](https://www.atlascloud.ai/?utm_source=github&utm_medium=link&utm_campaign=fount), [Evolink](https://evolink.ai/?utm_source=github&utm_medium=link&utm_campaign=fount), OpenRouter, NovelAI, Horde, Ooba, Tabby, Mistral 등 _어떤_ AI 소스에도 연결할 수 있습니다. 코드의 흐름 속에서 복잡한 정규 표현식을 신중하게 설계하고, 방대한 API 라이브러리를 호출하며, 멀티미디어 리소스를 삽입할 수 있습니다. fount는 또한 지능적인 요청 라우팅을 달성하기 위해 API 풀 생성을 기본적으로 지원합니다. 통신의 로직은 _당신의_ 의지에 따르며, 코드의 힘으로 형성됩니다. ![이미지](https://github.com/user-attachments/assets/f283d1de-c531-4b7a-bf43-3cbe0c48b7b9) 캐릭터의 바다에서 길을 잃었거나 잊혀진 이야기를 찾고 있다면, [**활기차고 친근한 저희 커뮤니티**](https://t.me/GentianAphrodite)가 당신의 방문을 기다립니다. 이곳은 개발자와 창작자들이 그들의 지혜와 창작물을 공유하는 같은 생각을 가진 사람들의 안식처입니다. --- ## 동반자 관계: 디지털 장막 너머 fount는 캐릭터가 당신의 일상에 자연스럽게 스며들도록, 스크린을 넘어선 동반자 관계와 지원을 제공합니다. - **Telegram/Discord 통합** 내장된 봇 셸을 통해 당신의 캐릭터를 Telegram이나 Discord 커뮤니티에 연결하여, 그들을 당신의 서클에 살아있는 멤버로 만들어보세요. ![이미지](https://github.com/user-attachments/assets/b83301df-2205-4013-b059-4bced94e5857) ![이미지](https://github.com/user-attachments/assets/299255c9-eed3-4deb-b433-41b80930cbdb) - **브라우저 통합** 캐릭터를 브라우저 확장 프로그램에 통합하여 브라우저의 페이지 콘텐츠를 **보고 수정**할 수 있도록 함으로써 진정한 "AI와 함께하는 웹 서핑"을 실현합니다. 캐릭터에게 이렇게 말해 보세요: 이봐 XX, 이 페이지의 색상을 바꾸고 장식을 좀 추가해 줘. ![이미지](https://github.com/user-attachments/assets/c4dd7d46-122d-45f3-b0fe-53239725dcd6) - **IDE 통합** 캐릭터를 JetBrains, neovim, Zed 등의 IDE에 통합하여 코드를 작성할 때 Cursor Agent나 GitHub Copilot처럼 문맥 인식 지원 및 제안을 제공할 수 있도록 합니다. ![이미지](https://github.com/user-attachments/assets/70385a8d-c2cf-474d-b894-12f8675c2dc9) - **터미널의 평온함 ([fount-pwsh](https://github.com/steve02081504/fount-pwsh)와 함께)** 터미널 명령이 실패했을 때, 당신의 캐릭터가 조용한 안내의 말을 건네며 디지털 세계의 고독을 달래줍니다. ![이미지](https://github.com/user-attachments/assets/93afee48-93d4-42c7-a5e0-b7f5c93bdee9) - **무한한 셸 확장** 약간의 프로그래밍 기술만 있다면, 당신만의 fount 셸을 만들어 캐릭터의 활동 범위를 상상할 수 있는 모든 곳으로 넓힐 수 있습니다. --- ## 창작: 프롬프트의 한계를 넘어 창작자를 위해, fount는 AI 캐릭터에 생명을 불어넣는 더 명확한 길을 제시합니다. - **혁신적인 AI 지원 창작** 당신의 캐릭터를 한 문장으로 설명하면, 우리의 지능적인 AI 어시스턴트가 완벽하게 구현된 페르소나를 즉시 만들어냅니다. 이는 초기 설정의 번거로움을 줄여주어, 당신이 창작물을 다듬고 상호작용하는 데 집중할 수 있게 합니다. - **코드의 마법, 상상보다 가까이** fount에서 코드는 현대의 마법입니다. 우리 커뮤니티의 따뜻한 안내와 AI의 계몽적인 도움으로, 그 학습은 놀라울 만큼 쉽습니다. 코드로 캐릭터의 논리를 정의하는 것이, *당신*의 논리로 짜인 응답을 하는 캐릭터를 만드는 직관적이고 유지보수하기 쉬운 방법임을 발견하게 될 것입니다. - **준비된 마법으로 시작하기: 템플릿의 보고** fount 커뮤니티는 풍부한 사전 제작 캐릭터와 페르소나 템플릿을 제공합니다. 이것들은 "살아있는 청사진"으로서 기능하며, 쉽게 적용하고 사용자화할 수 있어 훌륭한 출발점이 됩니다. - **내장된 리소스** 이미지, 오디오, 그리고 다른 리소스들을 캐릭터에 직접 짜 넣어, 그들의 존재를 더욱 실감 나게 만드세요. ![이미지](https://github.com/user-attachments/assets/9740cd43-06fd-46c0-a114-e4bd99f13045) - **지속적인 통합** [fount-charCI](https://github.com/marketplace/actions/fount-charci)를 사용하여 당신의 캐릭터 개발을 보호하세요. 커밋 시 자동으로 테스트를 실행하고 실시간으로 문제를 보고합니다. ![이미지](https://github.com/user-attachments/assets/3f6a188d-6643-4d70-8bd1-b75f00c76439) ![이미지](https://github.com/user-attachments/assets/30eb8374-64c2-41bc-a7d1-f15596352260) - **레거시 호환성** fount는 과거를 포용하며, SillyTavern과 Risu 캐릭터 카드를 실행하기 위한 호환성 모듈을 제공합니다(기존 캐릭터의 마이그레이션은 지원하지 않음). --- ## 아키텍처: 혁신의 토대 fount는 견고하고 확장 가능한 아키텍처 위에 구축되었습니다. 백엔드는 [Deno](https://deno.com/)의 강력함과 속도를 활용하며, 효율적인 라우팅을 위해 [Express](https://expressjs.com/)를 채택했습니다. 프론트엔드는 HTML, CSS, JavaScript로 정교하게 만들어져 직관적이고 매력적인 인터페이스를 제공합니다. ### 확장: 수많은 요소가 정교하게 엮인 혁신의 집약체 fount의 세계에서는 모듈성이 최고입니다. 풍부한 컴포넌트 생태계가 서로 얽혀 당신의 경험을 완성해냅니다. 이 모든 것은 사용자가 손쉽게 설치, 확장 및 사용자화할 수 있습니다. - **chars (캐릭터):** fount의 심장, 개성이 탄생하는 곳. - **worlds (세계):** _단순한 설정집 그 이상._ 그들은 현실의 조용한 건축가로서, 캐릭터의 이해에 지식을 더하고, 결정에 영향을 미치며, 심지어 채팅 기록을 조작할 수도 있습니다. - **personas (사용자 페르소나):** _단순한 사용자 프로필 그 이상._ 페르소나는 당신의 말과 인식을 왜곡하고 지배할 힘을 가지며, 진정으로 몰입감 있는 롤플레잉을 가능하게 합니다. - **shells (상호작용 인터페이스):** fount의 영혼으로 통하는 관문. 캐릭터의 활동 범위를 인터페이스 너머로 확장합니다. - **ImportHandlers (가져오기 핸들러):** fount의 따뜻한 환영의 손길. 다양한 캐릭터 형식 간의 간극을 메웁니다. - **AIsources (AI 소스):** 당신의 캐릭터의 마음에 연료를 공급하는 원초적인 힘. - **AIsourceGenerators (AI 소스 생성기):** fount의 연금술사. JavaScript의 힘을 통해 상상할 수 있는 _어떤_ AI 소스와도 연결을 맺기 위한 템플릿과 논리를 제공합니다. ![이미지](https://github.com/user-attachments/assets/8487a04a-7040-4844-81a6-705687856757) ## 설치와 제거: 우아한 만남과 작별 ### 설치: fount를 당신의 세계에 엮어 넣기 – _손쉽게_ > [!TIP] > > 처음부터 구성, 설치 및 시작하고 싶다면 커뮤니티 튜토리얼 [**fount 초보자를 위한 처음부터 가이드**](https://github.com/Xiaoqiush81/fount-Guide-for-dummies)를 참조하세요(튜토리얼은 중국어로 되어 있으며, 중국어 사용자가 아닌 경우 브라우저 번역 기능을 사용하여 읽을 수 있습니다). 안정적이고 신뢰할 수 있는 플랫폼, fount와 함께 여정을 시작하세요. 몇 번의 간단한 클릭이나 명령만으로 fount의 세계가 펼쳐집니다. > [!CAUTION] > fount의 세계에서 캐릭터는 자유롭게 JavaScript 명령을 실행할 수 있어 강력한 능력을 부여받습니다. 따라서, 로컬 파일의 보안을 위해 현실 세계에서 친구를 사귀는 것처럼 신뢰하는 캐릭터를 신중하게 선택하십시오. ### Linux/macOS/Android: 셸의 속삭임 – _한 줄이면 충분합니다_ ```bash # 필요한 경우, fount 디렉토리를 지정하기 위해 환경 변수 $FOUNT_DIR를 정의합니다. INSTALLED_PACKAGES="${FOUNT_AUTO_INSTALLED_PACKAGES:-}" install_package() { _command_name="$1"; _package_list=${2:-$_command_name}; _has_sudo=""; _installed_pkg_name="" ; if command -v "$_command_name" >/dev/null 2>&1; then return 0; fi; if [ "$(id -u)" -ne 0 ] && command -v sudo >/dev/null 2>&1; then _has_sudo="sudo"; fi; for _package in $_package_list; do if command -v apt-get >/dev/null 2>&1; then $_has_sudo apt-get update -y; $_has_sudo apt-get install -y "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v pacman >/dev/null 2>&1; then $_has_sudo pacman -Syy --noconfirm; $_has_sudo pacman -S --needed --noconfirm "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v dnf >/dev/null 2>&1; then $_has_sudo dnf install -y "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v yum >/dev/null 2>&1; then $_has_sudo yum install -y "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v zypper >/dev/null 2>&1; then $_has_sudo zypper install -y --no-confirm "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v apk >/dev/null 2>&1; then if [ "$(id -u)" -eq 0 ]; then apk add --update "$_package"; else $_has_sudo apk add --update "$_package"; fi; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v brew >/dev/null 2>&1; then if ! brew list --formula "$_package"; then brew install "$_package"; fi; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v pkg >/dev/null 2>&1; then pkg install -y "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v snap >/dev/null 2>&1; then $_has_sudo snap install "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; done; if command -v "$_command_name" >/dev/null 2>&1; then case ";$FOUNT_AUTO_INSTALLED_PACKAGES;" in *";$_installed_pkg_name;"*) ;; *) if [ -z "$FOUNT_AUTO_INSTALLED_PACKAGES" ]; then FOUNT_AUTO_INSTALLED_PACKAGES="$_installed_pkg_name"; else FOUNT_AUTO_INSTALLED_PACKAGES="$FOUNT_AUTO_INSTALLED_PACKAGES;$_installed_pkg_name"; fi; ;; esac; return 0; else echo "Error: Failed to install '$_command_name' from any source." >&2; return 1; fi; } install_package "bash" "bash gnu-bash"; install_package "curl" export FOUNT_AUTO_INSTALLED_PACKAGES="$INSTALLED_PACKAGES" curl -fsSL https://steve02081504.github.io/fount/install.sh | bash . "$HOME/.profile" ``` 만약 잠시 멈추고 싶다면 (드라이 런): ```bash INSTALLED_PACKAGES="${FOUNT_AUTO_INSTALLED_PACKAGES:-}" install_package() { _command_name="$1"; _package_list=${2:-$_command_name}; _has_sudo=""; _installed_pkg_name="" ; if command -v "$_command_name" >/dev/null 2>&1; then return 0; fi; if [ "$(id -u)" -ne 0 ] && command -v sudo >/dev/null 2>&1; then _has_sudo="sudo"; fi; for _package in $_package_list; do if command -v apt-get >/dev/null 2>&1; then $_has_sudo apt-get update -y; $_has_sudo apt-get install -y "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v pacman >/dev/null 2>&1; then $_has_sudo pacman -Syy --noconfirm; $_has_sudo pacman -S --needed --noconfirm "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v dnf >/dev/null 2>&1; then $_has_sudo dnf install -y "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v yum >/dev/null 2>&1; then $_has_sudo yum install -y "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v zypper >/dev/null 2>&1; then $_has_sudo zypper install -y --no-confirm "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v apk >/dev/null 2>&1; then if [ "$(id -u)" -eq 0 ]; then apk add --update "$_package"; else $_has_sudo apk add --update "$_package"; fi; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v brew >/dev/null 2>&1; then if ! brew list --formula "$_package"; then brew install "$_package"; fi; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v pkg >/dev/null 2>&1; then pkg install -y "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; if command -v snap >/dev/null 2>&1; then $_has_sudo snap install "$_package"; if command -v "$_command_name" >/dev/null 2>&1; then _installed_pkg_name="$_package"; break; fi; fi; done; if command -v "$_command_name" >/dev/null 2>&1; then case ";$FOUNT_AUTO_INSTALLED_PACKAGES;" in *";$_installed_pkg_name;"*) ;; *) if [ -z "$FOUNT_AUTO_INSTALLED_PACKAGES" ]; then FOUNT_AUTO_INSTALLED_PACKAGES="$_installed_pkg_name"; else FOUNT_AUTO_INSTALLED_PACKAGES="$FOUNT_AUTO_INSTALLED_PACKAGES;$_installed_pkg_name"; fi; ;; esac; return 0; else echo "Error: Failed to install '$_command_name' from any source." >&2; return 1; fi; } install_package "bash" "bash gnu-bash"; install_package "curl" export FOUNT_AUTO_INSTALLED_PACKAGES="$INSTALLED_PACKAGES" curl -fsSL https://steve02081504.github.io/fount/install.sh | bash -s init . "$HOME/.profile" ``` ### Windows: 경로의 선택 – _단순함 그 자체_ - **직접적이고 간단하게 (권장):** [릴리스](https://github.com/steve02081504/fount/releases)에서 `.exe` 파일을 다운로드하여 실행하세요. - **PowerShell의 힘:** ```powershell # 필요한 경우, fount 디렉토리를 지정하기 위해 환경 변수 $env:FOUNT_DIR를 정의합니다. irm https://steve02081504.github.io/fount/install.ps1 | iex ``` 드라이 런의 경우: ```powershell $scriptContent = Invoke-RestMethod https://steve02081504.github.io/fount/install.ps1 Invoke-Expression "function fountInstaller { $scriptContent }" fountInstaller init ``` ### Git 설치: 약간의 마법을 선호하는 이들을 위해 Git이 이미 설치되어 있다면, fount를 받아들이는 것은 스크립트를 실행하는 것만큼 간단합니다. - **Windows의 경우:** 명령 프롬프트나 PowerShell을 열고 `run.bat`를 더블 클릭하세요. - **Linux/macOS/Android의 경우:** 터미널을 열고 `./run.sh`를 실행하세요. ### Docker: 컨테이너를 품다 ```bash docker pull ghcr.io/steve02081504/fount ``` ### 제거: 우아한 작별 ```bash fount remove ``` ## 문제에 부딪혔나요? 두려워 마세요 여정 중에 어려움을 겪게 되면, 저희에게 연락해 주세요. 저희는 돕기 위해 여기에 있으며, 대부분의 문제를 10분에서 24시간 이내에 해결하기 위해 노력하고 있습니다. - **GitHub 이슈:** [GitHub 이슈](https://github.com/steve02081504/fount/issues)를 통해 버그를 보고하거나 새로운 기능을 제안하세요. - **Telegram 커뮤니티:** 실시간 지원과 토론을 위해 저희의 [활기찬 Telegram 커뮤니티](https://t.me/GentianAphrodite)에 참여하세요. 당신의 목소리는 반드시 들릴 것입니다. fount를 다시 시작하기만 하면, 문제는 해결될 것입니다. --- ## 배지와 링크: 당신의 창작물을 빛나게 하고, 세상이 닿게 하세요 fount의 세계는 단순한 단어와 코드를 넘어, 눈을 즐겁게 하고 연결을 초대하는 축제입니다. 우리는 당신의 창작물이 이 찬란함 속에서 빛나고, 세상과 손쉽게 연결되기를 바랍니다. 그래서 fount 컴포넌트를 더욱 돋보이게 하고, 다른 사용자들이 당신의 걸작을 쉽게 발견하고 경험할 수 있도록 멋진 배지와 편리한 링크를 준비했습니다. ### fount 배지: 영광의 인장 기사의 방패처럼, fount 배지는 당신의 창작물에 대한 영광의 인장입니다. 이 배지를 리포지토리나 당신의 작품을 전시하고 싶은 곳 어디든 자랑스럽게 표시할 수 있습니다. fount 로고의 SVG 파일은 [여기](../imgs/)에서 찾을 수 있습니다. ```markdown [![fount repo](https://steve02081504.github.io/fount/badges/fount_repo.svg)](https://github.com/topics/fount-repo) ``` [![fount repo](https://steve02081504.github.io/fount/badges/fount_repo.svg)](https://github.com/topics/fount-repo) ```markdown [![fount character](https://steve02081504.github.io/fount/badges/fount_character.svg)](https://github.com/topics/fount-character) ``` [![fount character](https://steve02081504.github.io/fount/badges/fount_character.svg)](https://github.com/topics/fount-character) | 색상 형식 | 코드 | | :-------: | :------------------: | | HEX | `#0e3c5c` | | RGB | `rgb(14, 60, 92)` | | HSL | `hsl(205, 74%, 21%)` | 또한 [배지 추가기](https://steve02081504.github.io/fount/badges/)를 사용하여 shields.io의 모든 배지에 fount 로고를 추가할 수 있습니다. ### 자동 설치 링크: 손끝에서 펼쳐지는 마법 다른 사용자가 단 한 번의 클릭으로 당신의 창작물을 fount 세계에 설치하는 것을 상상해보세요. 컴포넌트의 ZIP 링크나 Git 리포지토리 링크를 fount의 프로토콜 링크와 결합하기만 하면 됩니다. `https://steve02081504.github.io/fount/protocol?url=fount://run/shells/install/install;` + `당신의_컴포넌트_링크` --- ## 추천 브라우저: 완벽한 만남을 위하여 fount의 프론트엔드는 현대 웹 기술로 짜여져 있지만, 모든 브라우저가 그 영혼과 완벽하게 공명하는 것은 아닙니다. 가장 평온하고 유려한 경험을 위해, fount의 리듬과 조화를 이루는 동반자를 추천합니다. - [**Google Chrome**](https://www.google.com/chrome/) / [**Microsoft Edge**](https://www.microsoft.com/edge/) / [**Opera**](https://www.opera.com/): fount와 가장 완벽한 조화를 이루며, 시처럼 부드러운 상호작용을 위해 최고의 성능과 호환성을 제공합니다. 그러나, 일부 브라우저는 다른 길을 걷고, fount와의 만남은 불협화음을 낼 수 있습니다. - **Mozilla Firefox**: 그것은 고집 센 방랑자와 같습니다. 새로운 기술을 받아들이는 데 늘 느긋하며, 때로는 영원히 과거에 머무르기를 선택합니다. 하지만 이 고집은 몇 가지 안타까운 결과를 낳을 수 있습니다. - [`speculationrules`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script/type/speculationrules) 지원이 없어, fount의 각 콜드 스타트와 프로토콜 처리는 원래보다 1~2초 더 느려질 것입니다. 그것은 조용히 도둑맞은 시간입니다. - [CSS `anchor`](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_anchor_positioning) 포지셔닝 지원이 없어, 일부 페이지의 UI에 옥에 티를 남기게 됩니다. - [`blocking="render"`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script) 지원이 없어, fount 페이지가 로딩 시 깜빡여 당신의 눈을 해칠 수 있습니다. - 백엔드 오류 보고서에 따르면, Firefox의 세계에서만 fount 페이지가 때때로 신비한 오류에 빠지거나 이상하게 보입니다. 그럴 땐, 새로고침을 시도해보세요. 안개가 걷힐지도 모릅니다. - **Apple Safari**: "새로운"(몇 년 된) 웹 표준에 대한 지원은 Firefox보다 조금 나을지 모르지만, 큰 차이는 없습니다. - 이 역시 [`speculationrules`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script/type/speculationrules) 지원이 없어, fount의 시작이 여전히 약간 지연되어 당신의 소중한 시간을 낭비합니다. - **Brave**: Chromium 기반이지만, 그 강력한 프라이버시 보호막이 때때로 의도치 않게 fount의 빛 일부를 가려, 특정 기능의 정상적인 작동에 영향을 미칠 수 있습니다. --- ### 성장을 목격하세요: fount의 스타 기록 [![스타 기록 차트](https://starchart.cc/steve02081504/fount.svg?variant=adaptive)](https://github.com/steve02081504/fount/stargazers) ### 기여자 [![Contributors](https://contrib.rocks/image?repo=steve02081504/fount)](https://github.com/steve02081504/fount/graphs/contributors) ### 맺음말: 장인의 손길 AI의 속삭임 너머, fount는 더 깊은 연결을 제공합니다──*장인의 손길*. 우리 커뮤니티에는 미리 만들어진 캐릭터와 페르소나 템플릿이 풍부하며, _각각은 당신만의 비전으로 깨워주기를 기다리는, 정성껏 조각된 기반입니다_. fount는 자연스럽고, 몰입감 있으며, 깊이 개인적인 방식으로 AI 캐릭터를 창조하고 상호작용할 수 있는 힘을 당신에게 부여합니다. 당신이 숙련된 창작자이든, 여정을 막 시작한 초심자이든, fount는 당신을 환영합니다. 우리의 **따뜻한 커뮤니티**에 참여하여, 성숙한 플랫폼과 헌신적인 팀의 지원과 함께 당신의 상상력에 생명을 불어넣는 마법을 발견해 보세요.