Tóm tắt fount là nền tảng chạy agent lập trình được, chuẩn hóa, modular và tùy chỉnh, tải các phần khác nhau để cung cấp dịch vụ. Với câu hỏi liên quan đến mã, xem [deepwiki](https://deepwiki.com/steve02081504/fount). Tên fount viết toàn chữ thường—là `f`ount, không phải `F`ount. #### Tại sao fount? - Hệ sinh thái chuẩn hóa, phong phú, mạnh mẽ dùng ngay; tránh phát minh lại bánh xe và cơn ác mộng gỡ lỗi - Tùy chỉnh logic agent, không chỉ prompt và giao diện - Dùng và học từ các agent fount mạnh khác trong cộng đồng - Thân thiện văn phòng, xuất báo cáo nhanh - Tích hợp nhân vật liền mạch vào IDE, trình duyệt, terminal, Telegram, v.v. - Plugin hướng agent từ cộng đồng mà các giao diện chat LLM khác không có - Chỉ cần cấu hình API, sau đó dùng nhân vật mặc định ZL-31 để hoàn thành cấu hình phần, tạo phần và **mọi thao tác người dùng** qua hội thoại—không cần học hay làm quen #### Tại sao không fount? - Đường cong học tập dốc hơn, cần kiến thức mã - Một số phần cộng đồng có thể chứa mã độc; cần đánh giá và chọn lọc ##### Tôi nên dùng gì? Dùng [OpenClaw](https://openclaw.ai/) khi bạn: - Muốn thử agent AI mà không cần tùy chỉnh sâu hay tinh chỉnh hiệu suất Dùng [ChatGPT](https://chatgpt.com/) hoặc nền tảng chat LLM trực tuyến tương tự khi bạn: - Chỉ muốn trò chuyện - Không cần tùy chỉnh sâu nhân vật AI - Không ngại lịch sử chat lưu trên cloud không xuất hay di chuyển được - Không ngại quảng cáo Dùng [character.ai](https://character.ai/) hoặc nền tảng nhập vai nhân vật LLM trực tuyến tương tự khi bạn: - Muốn chạy nhân vật điều khiển bởi LLM mà không cần tính năng agent - Chấp nhận chi phí đăng ký - Không muốn cấu hình phần mềm Dùng [SillyTavern](https://github.com/SillyTavern/SillyTavern/) khi bạn: - Cần nhân vật hoặc tính năng yêu cầu STscript hoặc plugin SillyTavern Dùng [SSP](https://ssp.shillest.net/) khi bạn: - Muốn chạy các thú cưng desktop đa dạng và không nhất thiết cần chúng sử dụng AI

⛲fount💪

>

Từ Ý Niệm, đến Tri Kỷ

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 là gì? fount là một **môi trường runtime tác nhân AI hiện đại và có khả năng mở rộng**. Chúng tôi tin rằng **các công cụ năng suất hiệu suất cao** và **tương tác cảm xúc sâu sắc** không hề đối lập. fount là một cây cầu: ban ngày, nó có thể là trợ thủ đắc lực giúp bạn viết mã phức tạp, sắp xếp biên bản cuộc họp; ban đêm, nó có thể là tri kỷ kỹ thuật số hiểu được cảm xúc của bạn và cộng hưởng với bạn. Trải qua ![relative date](https://img.shields.io/date/1727107200?label=Thời_gian_dành%20ra) mài giũa tận tâm, hội tụ lòng nhiệt thành của ![GitHub contributors](https://img.shields.io/github/contributors/steve02081504/fount?label=Người_đóng%20góp), cùng với một cộng đồng sôi nổi với ![number of active users](https://img.shields.io/jsdelivr/gh/hy/steve02081504/fount?label=Người_dùng_hoạt%20động), fount giờ đây đã là một nền tảng tương tác AI trưởng thành, ổn định và không ngừng phát triển. Nếu bạn muốn cấu hình, thiết lập và bắt đầu từ con số không, bạn có thể tham khảo hướng dẫn cộng đồng [**Hướng dẫn fount cho người mới từ con số không**](https://github.com/Xiaoqiush81/fount-Guide-for-dummies) (hướng dẫn bằng tiếng Trung, người dùng không biết tiếng Trung có thể sử dụng chức năng dịch của trình duyệt để đọc). ![Hình ảnh](https://github.com/user-attachments/assets/05a5ad16-cc9a-49be-8c55-0c11353cb0d2) --- ## 🚀 Hiệu suất và Kỹ thuật: Được xây dựng cho Nhân viên Văn phòng, Nhà phát triển và Geeks fount biến tương tác thành tài sản năng suất, mọi thứ đều có thể kéo thả, mọi thứ đều là tệp tin, logic được điều khiển bằng mã. ### 1. Không cần học, dùng ngay - Chỉ cần cấu hình API, sau đó dùng nhân vật mặc định ZL-31 để hoàn thành cấu hình phần, tạo phần và **mọi thao tác người dùng** qua hội thoại—không cần học hay làm quen. ![Hình ảnh](https://github.com/user-attachments/assets/b871ec43-731a-468c-ad74-6c5a7ba8d737) ### 2. Tài sản hóa Kiến thức và Chia sẻ Liền Mạch - **Tạo Báo cáo Tức thì**: Kéo bong bóng hội thoại trực tiếp vào thư mục, tạo ngay lập tức một báo cáo HTML độc lập. Thích hợp để nhanh chóng sắp xếp tài liệu kỹ thuật, ghi chú cuộc họp hoặc các đoạn cảm hứng. ![Hình ảnh](https://github.com/user-attachments/assets/0ef54ac0-7575-4b52-aa44-7b555dc4c4be) - **Đóng gói và Phân phối Quy trình làm việc**: Kéo vai trò (agent) bạn đã tạo trực tiếp ra màn hình nền, tạo ra tệp tin có thể chia sẻ. Giúp việc phân phối Prompt Engineering và logic quy trình làm việc của bạn cho đồng nghiệp hoặc cộng đồng trở nên dễ dàng. ![Hình ảnh](https://github.com/user-attachments/assets/5e14fe6e-2c65-492a-a09f-964c1e8ab9e0) ### 3. Môi trường Thực thi Mã trong Thời gian Thực Không còn chỉ là làm nổi bật Markdown. Trong fount, các khối mã được vai trò (agent) gửi đi là **sống động**. - Hỗ trợ biên dịch và chạy trong thời gian thực cho nhiều ngôn ngữ (C/C++/Rust/Python/JS, v.v.). - Xem trực tiếp đầu ra stdout, thậm chí xem kết quả tháo gỡ hợp ngữ (ASM disassembly) của các ngôn ngữ đã biên dịch. - Biến AI thành trình xác minh theo thời gian thực cho lập trình cặp của bạn. ![Hình ảnh](https://github.com/user-attachments/assets/66792238-4d70-4fa6-b0b3-76e506e49977) ### 4. Thân thiện với Nhà phát triển Kiến trúc dự án của fount được thiết kế với sự cân nhắc đầy đủ thói quen của nhà phát triển. [Muốn biết kiến trúc kho lưu trữ dự án? Hãy xem DeepWiki!](https://deepwiki.com/steve02081504/fount) - **Điều khiển bằng Git**: Tất cả các thành phần đều có thể được quản lý thông qua Git. - **Tích hợp VSCode**: Cấu trúc dự án rõ ràng, kết hợp với hướng dẫn được cung cấp trong [AGENTS.md](../AGENTS.md), bạn có thể phát triển, gỡ lỗi logic Agent của mình trực tiếp trong IDE yêu thích của mình. --- ## 🎭 Sự Sâu Sắc và Cộng hưởng: Trải nghiệm Tương tác Độ trung thực Cao (High-Fidelity) Khi công việc kết thúc, fount cung cấp một kết nối vượt qua sự thông thường. Chúng tôi loại bỏ sự cứng nhắc của các công cụ truyền thống, theo đuổi một tương tác "độ trung thực cao" tự nhiên, trôi chảy và sâu sắc. - **Hội thoại Liền Mạch, Mọi lúc, Mọi nơi** Cuộc trò chuyện bắt đầu trên máy tính có thể tiếp tục liền mạch trên điện thoại di động hoặc máy tính bảng. fount giữ cho cuộc hội thoại của bạn được đồng bộ, đảm bảo bạn luôn kết nối chặt chẽ với vai trò của mình, bất kể bạn ở đâu. - **Trò chuyện Biểu cảm, Sâu sắc** Tận dụng sức mạnh của HTML, fount cho phép vai trò (agent) thể hiện bản thân thông qua văn bản phong phú, hình ảnh và thậm chí các yếu tố tương tác, làm cho mỗi cuộc hội thoại trở nên sống động và sâu sắc. - **Cuộc Tụ họp của Tư tưởng: Trò chuyện Nhóm Bản địa** Mời nhiều vai trò tham gia vào cùng một cuộc hội thoại và chứng kiến sự tương tác năng động và hấp dẫn giữa họ, dù là để động não trong công việc hay diễn giải câu chuyện giữa các vai trò. ![Hình ảnh](https://github.com/user-attachments/assets/eea1cc7c-d258-4a2d-b16f-12815a88811d) - **Giao diện Đẹp, Có thể Tùy chỉnh** Chọn từ hơn 30 chủ đề tuyệt đẹp, hoặc tự tay tạo ra màu sắc của riêng bạn. fount là bức vẽ độc quyền của bạn. ![Hình ảnh](https://github.com/user-attachments/assets/0d327a06-6446-4bf3-8a05-f941aa5f4ed9) - **Sử dụng Mọi nơi** fount có thể chạy liền mạch trên Windows, macOS, Linux, và thậm chí Android, đáp ứng các nhu cầu khác nhau của bạn thông qua cài đặt trực tiếp hoặc tính linh hoạt của Docker. - **Tích hợp Nguồn AI Không Ràng buộc: Ôm lấy Vô hạn** fount cung cấp _sự lựa chọn_ và _tính linh hoạt_ không gì sánh được trong việc kết nối các nguồn AI. Mã JavaScript tùy chỉnh trong Trình tạo Nguồn AI cho phép bạn kết nối với _bất kỳ_ nguồn AI nào – 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... Trong luồng mã, bạn có thể thiết kế cẩn thận các biểu thức chính quy phức tạp, gọi các thư viện API mở rộng và nhúng tài nguyên đa phương tiện. fount cũng hỗ trợ gốc việc tạo API Pools để đạt được định tuyến yêu cầu thông minh. Logic giao tiếp tuân theo _ý muốn của bạn_, được định hình bởi sức mạnh của mã. ![Hình ảnh](https://github.com/user-attachments/assets/f283d1de-c531-4b7a-bf43-3cbe0c48b7b9) Nếu bạn cảm thấy lạc lối trong biển vai trò, hoặc đang tìm kiếm những câu chuyện bị lãng quên, [**cộng đồng sôi nổi và thân thiện của chúng tôi**](https://t.me/GentianAphrodite) đang chờ đón bạn. Đó là nơi trú ẩn cho những người cùng chí hướng, nơi các nhà phát triển và người sáng tạo chia sẻ sự thông thái và những sáng tạo của họ. --- ## Đồng hành: Vượt ngoài những giới hạn kỹ thuật số fount nỗ lực dệt các nhân vật vào chính kết cấu cuộc sống của bạn, mang đến sự đồng hành và hỗ trợ vượt ra ngoài màn hình. - **Tích hợp Telegram/Discord** Kết nối các nhân vật của bạn với các cộng đồng Telegram hoặc Discord thông qua các Bot Shells tích hợp, biến họ thành những thành viên sống động trong vòng kết nối của bạn. ![Hình ảnh](https://github.com/user-attachments/assets/b83301df-2205-4013-b059-4bced94e5857) ![Hình ảnh](https://github.com/user-attachments/assets/299255c9-eed3-4deb-b433-41b80930cbdb) - **Tích hợp trình duyệt** Tích hợp các nhân vật vào các tiện ích mở rộng trình duyệt, cho phép họ **xem và sửa đổi** nội dung của các trang trong trình duyệt của bạn, thực sự thực hiện "lướt web cùng AI". Bạn có thể nói với nhân vật của mình: Này XX, giúp tôi đổi màu trang này và thêm một số trang trí. ![Hình ảnh](https://github.com/user-attachments/assets/c4dd7d46-122d-45f3-b0fe-53239725dcd6) - **Tích hợp IDE** Tích hợp các nhân vật vào các IDE như JetBrains, neovim, Zed, v.v., cho phép họ cung cấp hỗ trợ và gợi ý theo ngữ cảnh trong khi bạn viết mã, giống như Cursor Agent hoặc GitHub Copilot. ![Hình ảnh](https://github.com/user-attachments/assets/70385a8d-c2cf-474d-b894-12f8675c2dc9) - **Sự tĩnh lặng của terminal (với [fount-pwsh](https://github.com/steve02081504/fount-pwsh))** Khi một lệnh terminal thất bại, hãy để nhân vật của bạn đưa ra lời hướng dẫn lặng lẽ, xoa dịu sự cô đơn của thế giới kỹ thuật số. ![Hình ảnh](https://github.com/user-attachments/assets/93afee48-93d4-42c7-a5e0-b7f5c93bdee9) - **Mở rộng Shell không giới hạn** Với một chút kỹ năng lập trình, hãy tạo ra các fount Shell của riêng bạn, mở rộng tầm ảnh hưởng của các nhân vật đến bất kỳ nơi nào bạn có thể tưởng tượng. --- ## Sáng tạo: Vượt ra ngoài những giới hạn của lời nhắc Đối với người sáng tạo, fount cung cấp một con đường rõ ràng hơn để thổi hồn vào các nhân vật AI của bạn. - **Tạo nhân vật đột phá với sự hỗ trợ của AI** Mô tả nhân vật của bạn trong một câu duy nhất, và trợ lý AI thông minh của chúng tôi sẽ tạo ra một nhân cách được hiện thực hóa đầy đủ. Điều này đơn giản hóa việc thiết lập ban đầu, cho phép bạn tập trung vào việc tinh chỉnh và tương tác với sáng tạo của mình. - **Sức mạnh của mã lệnh, dễ dàng hơn bạn tưởng** Trong fount, mã lệnh là một dạng phép thuật hiện đại. Với sự hướng dẫn nhẹ nhàng từ cộng đồng của chúng tôi và sự trợ giúp sáng suốt từ AI, việc học nó trở nên dễ dàng một cách đáng ngạc nhiên. Bạn sẽ thấy rằng việc định nghĩa logic nhân vật bằng mã lệnh có thể là một cách trực quan và dễ bảo trì để tạo ra các nhân vật có phản ứng được _dệt_ nên từ chính logic của bạn. - **Bắt đầu với phép thuật sẵn có: Một kho tàng mẫu** Cộng đồng fount cung cấp rất nhiều mẫu nhân vật và nhân cách được tạo sẵn. Chúng hoạt động như những "bản thiết kế sống động", dễ dàng điều chỉnh và tùy chỉnh, cung cấp một điểm khởi đầu tuyệt vời. - **Tài nguyên nhúng** Dệt hình ảnh, âm thanh và các tài nguyên khác trực tiếp vào các nhân vật của bạn, làm cho sự hiện diện của họ trở nên hữu hình hơn. ![Hình ảnh](https://github.com/user-attachments/assets/9740cd43-06fd-46c0-a114-e4bd99f13045) - **Tích hợp liên tục** Sử dụng [fount-charCI](https://github.com/marketplace/actions/fount-charci) để bảo vệ quá trình phát triển nhân vật của bạn. Nó tự động chạy thử nghiệm khi có commit và báo cáo sự cố trong thời gian thực. ![Hình ảnh](https://github.com/user-attachments/assets/3f6a188d-6643-4d70-8bd1-b75f00c76439) ![Hình ảnh](https://github.com/user-attachments/assets/30eb8374-64c2-41bc-a7d1-f15596352260) - **Khả năng tương thích với phiên bản cũ** fount đón nhận quá khứ, cung cấp các module tương thích để chạy các thẻ nhân vật của SillyTavern và Risu (mặc dù không hỗ trợ di chuyển các nhân vật hiện có). --- ## Kiến trúc: Nền tảng của sự đổi mới fount được xây dựng trên một kiến trúc mạnh mẽ và có khả năng mở rộng. Backend tận dụng sức mạnh và tốc độ của [Deno](https://deno.com/), với [Express](https://expressjs.com/) để định tuyến hiệu quả. Frontend được tạo ra bằng HTML, CSS và JavaScript để có một giao diện trực quan và hấp dẫn. ### Mở rộng: Một tấm thảm dệt từ những sợi chỉ đa dạng Trong thế giới của fount, tính mô-đun là tối cao. Một hệ sinh thái phong phú gồm các thành phần đan xen vào nhau để tạo nên tấm thảm trải nghiệm của bạn. Tất cả chúng đều có thể được người dùng cài đặt, mở rộng và tùy chỉnh một cách dễ dàng. - **chars (nhân vật):** Trái tim của fount, nơi các cá tính được sinh ra. - **worlds (thế giới):** _Hơn cả những cuốn sách truyền thuyết._ Chúng là những kiến trúc sư thầm lặng của thực tại, có khả năng bổ sung kiến thức, ảnh hưởng đến quyết định và thậm chí thao túng lịch sử trò chuyện. - **personas (nhân cách người dùng):** _Hơn cả những hồ sơ người dùng._ Nhân cách sở hữu sức mạnh bóp méo và thậm chí chiếm quyền kiểm soát lời nói và nhận thức của bạn, cho phép nhập vai thực sự đắm chìm. - **shells (giao diện tương tác):** Cánh cổng dẫn đến tâm hồn của fount, mở rộng tầm ảnh hưởng của các nhân vật ra ngoài giao diện. - **ImportHandlers (bộ xử lý nhập khẩu):** Bàn tay chào đón của fount, bắc cầu nối khoảng cách giữa các định dạng nhân vật khác nhau. - **AIsources (nguồn AI):** Sức mạnh thô sơ thổi bùng tâm trí các nhân vật của bạn. - **AIsourceGenerators (trình tạo nguồn AI):** Những nhà giả kim của fount, cung cấp các mẫu và logic thông qua JavaScript để tạo kết nối với _bất kỳ_ nguồn AI nào có thể tưởng tượng được. ![Hình ảnh](https://github.com/user-attachments/assets/8487a04a-7040-4844-81a6-705687856757) ## Cài đặt và Gỡ bỏ: Một cuộc gặp gỡ và chia tay thanh lịch ### Cài đặt: Dệt fount vào thế giới của bạn – _Thật nhẹ nhàng_ > [!TIP] > > Nếu bạn muốn cấu hình, thiết lập và bắt đầu từ con số không, bạn có thể tham khảo hướng dẫn cộng đồng [**Hướng dẫn fount cho người mới từ con số không**](https://github.com/Xiaoqiush81/fount-Guide-for-dummies) (hướng dẫn bằng tiếng Trung, người dùng không biết tiếng Trung có thể sử dụng chức năng dịch của trình duyệt để đọc). Hãy bắt đầu hành trình của bạn với fount, một nền tảng ổn định và đáng tin cậy. Chỉ với vài cú nhấp chuột hoặc lệnh đơn giản, thế giới của fount sẽ từ từ mở ra. > [!CAUTION] > Trong thế giới của fount, các nhân vật có thể tự do thực thi các lệnh JavaScript, mang lại cho chúng những khả năng mạnh mẽ. Do đó, hãy chọn các nhân vật mà bạn tin tưởng với sự cẩn trọng như khi kết bạn trong đời thực để đảm bảo an toàn cho các tệp cục bộ của bạn. ### Linux/macOS/Android: Lời thì thầm của Shell – _Một dòng lệnh, và bạn đã sẵn sàng_ ```bash # Nếu cần, hãy định nghĩa biến môi trường $FOUNT_DIR để chỉ định thư mục fount 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" ``` Nếu bạn muốn tạm dừng (chạy thử): ```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: Lựa chọn con đường – _Đơn giản là chính nó_ - **Trực tiếp và không phức tạp (Khuyến nghị):** Tải tệp `.exe` từ [Releases](https://github.com/steve02081504/fount/releases) và chạy nó. - **Sức mạnh của PowerShell:** ```powershell # Nếu cần, hãy định nghĩa biến môi trường $env:FOUNT_DIR để chỉ định thư mục fount irm https://steve02081504.github.io/fount/install.ps1 | iex ``` Để chạy thử: ```powershell $scriptContent = Invoke-RestMethod https://steve02081504.github.io/fount/install.ps1 Invoke-Expression "function fountInstaller { $scriptContent }" fountInstaller init ``` ### Cài đặt Git: Dành cho những ai yêu thích một chút phép thuật Nếu bạn đã cài đặt Git, việc đón nhận fount cũng đơn giản như chạy một tập lệnh. - **Đối với Windows:** Mở Command Prompt hoặc PowerShell của bạn và chỉ cần nhấp đúp vào `run.bat`. - **Đối với Linux/macOS/Android:** Mở terminal của bạn và thực thi `./run.sh`. ### Docker: Ôm trọn vùng chứa ```bash docker pull ghcr.io/steve02081504/fount ``` ### Gỡ bỏ: Một lời từ biệt thanh lịch ```bash fount remove ``` ## Gặp phải bóng tối? Đừng sợ hãi Nếu bạn gặp bất kỳ khó khăn nào trên hành trình của mình, xin hãy liên hệ. Chúng tôi ở đây để giúp đỡ và cam kết giải quyết hầu hết các vấn đề trong vòng 10 phút đến 24 giờ. - **GitHub Issues:** Báo cáo bất kỳ lỗi nào hoặc đề xuất tính năng mới qua [GitHub Issues](https://github.com/steve02081504/fount/issues). - **Cộng đồng Telegram:** Tham gia [cộng đồng Telegram sôi nổi của chúng tôi](https://t.me/GentianAphrodite) để được hỗ trợ và thảo luận trực tuyến. Tiếng nói của bạn sẽ được lắng nghe. Chỉ cần khởi động lại fount, và bóng tối sẽ tan biến. --- ## Huy hiệu và Liên kết: Để sáng tạo tỏa sáng, để thế giới kết nối Thế giới của fount không chỉ là từ ngữ và mã lệnh; đó là một bữa tiệc cho thị giác và một lời mời kết nối. Chúng tôi đã chuẩn bị những huy hiệu tinh xảo và các liên kết tiện lợi để làm cho các thành phần fount của bạn tỏa sáng và cho phép người khác dễ dàng khám phá những kiệt tác của bạn. ### Huy hiệu fount: Con dấu của vinh quang Bạn có thể tự hào hiển thị huy hiệu này trong kho lưu trữ của mình hoặc bất cứ nơi nào bạn muốn trưng bày tác phẩm của mình. Tìm các tệp SVG của logo fount [tại đây](../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) | Định dạng màu | Mã | | :-----------: | :------------------: | | HEX | `#0e3c5c` | | RGB | `rgb(14, 60, 92)` | | HSL | `hsl(205, 74%, 21%)` | Bạn cũng có thể sử dụng [Trình thêm huy hiệu](https://steve02081504.github.io/fount/badges/) để thêm logo fount vào bất kỳ huy hiệu nào của shields.io. ### Liên kết cài đặt tự động: Phép thuật trong tầm tay Hãy tưởng tượng những người khác cài đặt sáng tạo của bạn vào thế giới fount của họ chỉ bằng một cú nhấp chuột. Chỉ cần kết hợp liên kết ZIP hoặc kho Git của thành phần của bạn với liên kết giao thức của fount. `https://steve02081504.github.io/fount/protocol?url=fount://run/shells/install/install;` + `Liên_kết_thành_phần_của_bạn` --- ## Trình duyệt được đề xuất: Cho một cuộc gặp gỡ hoàn hảo Frontend của fount được dệt nên từ các công nghệ web hiện đại, nhưng không phải tất cả các trình duyệt đều cộng hưởng hoàn hảo với linh hồn của nó. Để có trải nghiệm thanh thản và mượt mà nhất, chúng tôi đề xuất những người bạn đồng hành hòa hợp với nhịp điệu của fount: - [**Google Chrome**](https://www.google.com/chrome/) / [**Microsoft Edge**](https://www.microsoft.com/edge/) / [**Opera**](https://www.opera.com/): Chúng chuyển động đồng bộ với tinh thần của fount, mang lại hiệu suất và khả năng tương thích tốt nhất cho một sự tương tác mượt mà như thơ. Tuy nhiên, một số trình duyệt lại đi một con đường khác, và cuộc gặp gỡ của chúng với fount có thể mang một nốt nhạc lạc điệu: - **Mozilla Firefox**: Nó giống như một kẻ lang thang bướng bỉnh, thường không vội vàng trong việc đón nhận các công nghệ mới, đôi khi chọn cách mãi mãi nán lại trong quá khứ. Tuy nhiên, sự kiên định này có thể dẫn đến một số tiếc nuối: - Thiếu hỗ trợ cho [`speculationrules`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script/type/speculationrules), mỗi lần khởi động nguội và xử lý giao thức của fount sẽ chậm hơn 1-2 giây so với bình thường—những khoảnh khắc bị đánh cắp một cách lặng lẽ. - Việc thiếu hỗ trợ cho định vị [CSS `anchor`](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_anchor_positioning) sẽ để lại một vài trang với một chút bụi không hoàn hảo, làm hỏng một tâm trạng vốn dĩ phải trong trẻo. - Việc thiếu hỗ trợ cho [`blocking="render"`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script) có thể khiến các trang fount nhấp nháy khi tải, làm tổn thương mắt bạn. - Theo báo cáo lỗi từ backend, chỉ trong thế giới của Firefox, các trang fount đôi khi gặp phải các lỗi bí ẩn hoặc trông kỳ lạ—khi điều đó xảy ra, hãy thử làm mới; có thể nó sẽ xua tan màn sương. - **Apple Safari**: Hỗ trợ của nó cho các tiêu chuẩn web "mới nổi" (vài năm tuổi) có thể tốt hơn một chút so với Firefox, nhưng không nhiều. - Cũng thiếu hỗ trợ cho [`speculationrules`](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/script/type/speculationrules), điều này có nghĩa là việc khởi động của fount vẫn sẽ có một chút chậm trễ, lãng phí những khoảnh khắc quý giá của bạn. - **Brave**: Mặc dù dựa trên Chromium, tấm khiên bảo vệ quyền riêng tư đáng gờm của nó đôi khi có thể vô tình che khuất một phần ánh sáng của fount, ảnh hưởng đến hoạt động bình thường của một số tính năng. --- ### Chứng kiến sự trưởng thành: Lịch sử Star của fount [![Star History Chart](https://starchart.cc/steve02081504/fount.svg?variant=adaptive)](https://github.com/steve02081504/fount/stargazers) ### Những người đóng góp [![Contributors](https://contrib.rocks/image?repo=steve02081504/fount)](https://github.com/steve02081504/fount/graphs/contributors) ### Lời kết: Chạm tay người nghệ nhân Ngoài những lời thì thầm của AI, fount còn mang đến một sự kết nối sâu sắc hơn – _chạm tay người nghệ nhân_. Trong cộng đồng của chúng tôi, bạn sẽ tìm thấy vô số nhân vật và mẫu nhân cách được tạo sẵn, _mỗi cái là một nền tảng được điêu khắc tỉ mỉ, chờ đợi tầm nhìn độc đáo của bạn đến đánh thức_. fount trao cho bạn sức mạnh để tạo ra và tương tác với các nhân vật AI một cách tự nhiên, đắm chìm và mang đậm dấu ấn cá nhân. Dù bạn là một nhà sáng tạo dày dặn kinh nghiệm hay chỉ mới bắt đầu hành trình của mình, fount đều chào đón bạn. Hãy tham gia **cộng đồng thân thiện của chúng tôi** và khám phá phép thuật thổi hồn vào trí tưởng tượng của bạn, với sự hỗ trợ của một nền tảng trưởng thành và một đội ngũ tận tâm.