[{"data":1,"prerenderedAt":1513},["ShallowReactive",2],{"search-navigation":3,"\u002Fvi\u002Farticle\u002Fcentralised-the-skills-for-agents":36,"\u002Fvi\u002Farticle\u002Fcentralised-the-skills-for-agents-surround":521},[4,8,12,16,20,24,28,32],{"title":5,"path":6,"stem":7},"Solving AI Agent Skills Fragmentation with npx skills","\u002Farticle\u002Fcentralised-the-skills-for-agents","en\u002Farticle\u002Fcentralised-the-skills-for-agents",{"title":9,"path":10,"stem":11},"Stop Exposing Your Vault: Secure NodeWarden with Cloudflare","\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare","en\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare",{"title":13,"path":14,"stem":15},"How to Self-Host a BitWarden Compatible Password Vault","\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare","en\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare",{"title":17,"path":18,"stem":19},"Google Antigravity 2 Hands-On: Setup & First Impressions","\u002Farticle\u002Fsetup-antigravity-2","en\u002Farticle\u002Fsetup-antigravity-2",{"title":21,"path":22,"stem":23},"NetSuite AI Connector Guide: MCP Setup & Use Cases","\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude","en\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude",{"title":25,"path":26,"stem":27},"Testing Claude Fable 5: A Financial Analysis Review","\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis","en\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis",{"title":29,"path":30,"stem":31},"Guide to Browser and Scheduler in Antigravity 2","\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2","en\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2",{"title":33,"path":34,"stem":35},"Antigravity 2 in Action: AI Agents, Skills, and MCP","\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2","en\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2",{"id":37,"title":38,"author":39,"body":40,"category":39,"date":503,"description":504,"extension":505,"image":506,"imageAlt":507,"isPublished":508,"meta":509,"minRead":423,"navigation":508,"path":517,"seo":518,"stem":519,"__hash__":520},"article\u002Fvi\u002Farticle\u002Fcentralised-the-skills-for-agents.md","Giải quyết sự phân mảnh kỹ năng của Agent AI với npx skills",null,{"type":41,"value":42,"toc":493},"minimark",[43,57,60,85,105,110,120,137,147,154,157,191,198,209,228,238,249,253,260,281,284,292,302,309,312,332,341,345,351,437,443,447,483,489],[44,45,46,47,51,52,56],"p",{},"Nếu bạn đang chạy nhiều Agent AI hoặc CLI trên máy tính của mình — cho dù đó là Hermes, Claude Code, Codex, Antigravity, Kimi hay các công cụ được hỗ trợ khác — bạn có thể đã gặp phải một vấn đề cực kỳ khó chịu: ",[48,49,50],"strong",{},"sự phân mảnh kỹ năng"," (skills fragmentation). Mỗi Agent hoặc CLI lại tự duy trì một thư mục ",[53,54,55],"code",{},"skills"," riêng biệt, dẫn đến việc cài đặt trùng lặp, lệch phiên bản và làm tăng thêm gánh nặng quản lý.",[44,58,59],{},"Trong quá trình làm việc với các Agent AI, chúng tôi thường xuyên gặp phải những vấn đề sau:",[61,62,63,70,76],"ul",{},[64,65,66,69],"li",{},[48,67,68],{},"Cài đặt trùng lặp",": Cài đặt một kỹ năng (skill) mới cho một Agent, rồi lại phải cài đặt lại liên tục cho các Agent khác.",[64,71,72,75],{},[48,73,74],{},"Lệch phiên bản"," (version drift): Tùy chỉnh hoặc sửa lỗi một kỹ năng cho một Agent, nhưng quên cập nhật cho những Agent còn lại, dẫn đến việc các Agent hoạt động không nhất quán.",[64,77,78,81,82,84],{},[48,79,80],{},"Khó khăn trong quản lý",": Phải lùng sục từng thư mục ",[53,83,55],{}," của mỗi Agent trên hệ thống chỉ để xem những kỹ năng nào thực sự đã được cài đặt.",[44,86,87,88,91,92,94,95,104],{},"CLI ",[53,89,90],{},"npx skills",", một CLI mã nguồn mở từ Vercel, giải quyết triệt để vấn đề này bằng cách giúp bạn quản lý duy nhất một thư mục ",[53,93,55],{}," tập trung và chia sẻ nó cho tất cả các Agent của mình. Bạn có thể tham khảo ",[96,97,101,102],"a",{"href":98,"rel":99},"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fskills",[100],"nofollow","kho lưu trữ GitHub của ",[53,103,90],{},".",[106,107,109],"h2",{"id":108},"thư-mục-tập-trung","Thư mục tập trung",[44,111,112,113,115,116,119],{},"Khái niệm này rất đơn giản: nếu chúng ta trỏ thư mục ",[53,114,55],{}," của mọi Agent về ",[48,117,118],{},"cùng một thư mục vật lý",", vấn đề phân mảnh sẽ biến mất hoàn toàn.",[44,121,122,123,125,126,129,130,133,134,136],{},"Khi bạn cài đặt một kỹ năng bằng CLI ",[53,124,90],{},", kỹ năng đó sẽ được tải xuống thư mục tập trung trên máy của bạn (",[53,127,128],{},"~\u002F.agents\u002Fskills","). Sau đó, CLI sẽ tạo một ",[48,131,132],{},"symlink"," (liên kết tượng trưng, đóng vai trò như một con trỏ trực tiếp) từ thư mục ",[53,135,55],{}," của từng Agent về lại thư mục tập trung đó.",[44,138,139,140,143,144,146],{},"Ví dụ, khi Claude Code tìm kiếm các kỹ năng trong ",[53,141,142],{},"~\u002F.claude\u002Fskills\u002F",", nó sẽ được tự động chuyển hướng một cách mượt mà đến ",[53,145,128],{},". Nếu bạn thực hiện một thay đổi nhỏ đối với một kỹ năng trong thư mục tập trung đó, mọi Agent sẽ ngay lập tức thấy bản cập nhật. Không cần sao chép thủ công, không cần tập lệnh đồng bộ hóa và không lãng phí dung lượng ổ đĩa.",[106,148,150,151,153],{"id":149},"cài-đặt-npx-skills-và-thêm-kỹ-năng","Cài đặt ",[53,152,90],{}," và Thêm Kỹ năng",[44,155,156],{},"Chạy lệnh sau để bắt đầu và thêm kỹ năng đầu tiên của chúng ta:",[158,159,164],"pre",{"className":160,"code":161,"language":162,"meta":163,"style":163},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","npx skills add https:\u002F\u002Fgithub.com\u002Fcoleam00\u002Fexcalidraw-diagram-skill --skill excalidraw-diagram\n","bash","",[53,165,166],{"__ignoreMap":163},[167,168,171,175,179,182,185,188],"span",{"class":169,"line":170},"line",1,[167,172,174],{"class":173},"sBMFI","npx",[167,176,178],{"class":177},"sfazB"," skills",[167,180,181],{"class":177}," add",[167,183,184],{"class":177}," https:\u002F\u002Fgithub.com\u002Fcoleam00\u002Fexcalidraw-diagram-skill",[167,186,187],{"class":177}," --skill",[167,189,190],{"class":177}," excalidraw-diagram\n",[44,192,193],{},[194,195],"img",{"alt":196,"src":197},"Sử dụng lệnh npx skills add để cài đặt kỹ năng từ GitHub","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-add-command.webp",[44,199,200,201,204,205],{},"CLI sẽ hỏi bạn muốn thiết lập tính năng này cho một dự án cụ thể hay trên toàn cục (globally). Chúng tôi khuyên bạn nên chọn ",[48,202,203],{},"global"," để tất cả các Agent được hỗ trợ đều có thể truy cập:\n",[194,206],{"alt":207,"src":208},"Chọn tùy chọn cài đặt toàn cục (global) trong npx skills CLI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-install-global-prompt.webp",[44,210,211,212,215,216,219,220,224],{},"Tiếp theo, hãy chắc chắn chọn ",[53,213,214],{},"Symlink"," để đảm bảo một ",[48,217,218],{},"nguồn dữ liệu chân lý duy nhất"," (single source of truth):\n",[194,221],{"alt":222,"src":223},"Chọn phương thức symlink để đồng bộ hóa kỹ năng","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-symlink-option.webp",[194,225],{"alt":226,"src":227},"Xác nhận cài đặt thành công và tạo symlink trong giao diện CLI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-installation-completed.webp",[44,229,230,231,233,234],{},"Sau khi hoàn tất, chúng ta có thể kiểm tra xem kỹ năng đã được cài đặt trong thư mục tập trung tại ",[53,232,128],{}," chưa:\n",[194,235],{"alt":236,"src":237},"Xác minh các kỹ năng đã cài đặt trong thư mục tập trung","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fnpx-skills-directory-verification.webp",[44,239,240,241,244,245],{},"Mở Kimi CLI (hoặc bất kỳ Agent nào khác), kỹ năng ",[53,242,243],{},"excalidraw-diagram"," đã sẵn sàng và hoạt động mượt mà!\n",[194,246],{"alt":247,"src":248},"Kimi CLI hiển thị các kỹ năng tập trung đã tải và sẵn sàng sử dụng","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fkimi-cli-skills-integration.webp",[106,250,252],{"id":251},"tạo-kỹ-năng-từ-con-số-0","Tạo Kỹ năng từ con số 0",[44,254,255,256,259],{},"Để xây dựng các kỹ năng của riêng bạn, bạn có thể sử dụng công cụ ",[53,257,258],{},"skill-creator"," của Anthropic. Hãy cài đặt nó như thế này:",[158,261,263],{"className":160,"code":262,"language":162,"meta":163,"style":163},"npx skills add https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills --skill skill-creator\n",[53,264,265],{"__ignoreMap":163},[167,266,267,269,271,273,276,278],{"class":169,"line":170},[167,268,174],{"class":173},[167,270,178],{"class":177},[167,272,181],{"class":177},[167,274,275],{"class":177}," https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills",[167,277,187],{"class":177},[167,279,280],{"class":177}," skill-creator\n",[44,282,283],{},"Bây giờ, trong Kimi hoặc bất kỳ Agent nào khác, nhập prompt sau:",[158,285,290],{"className":286,"code":288,"language":289},[287],"language-text","Use the skill-creator to help me build a skill for creating a product landing page\n","text",[53,291,288],{"__ignoreMap":163},[44,293,294,295,297,298],{},"Kimi hoặc Agent của bạn sẽ tự động nhận diện ",[53,296,258],{}," và hướng dẫn bạn từng bước thực hiện:\n",[194,299],{"alt":300,"src":301},"Trình hướng dẫn skill-creator tương tác đang chạy trong Kimi CLI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002Fkimi-cli-skill-creator-setup.webp",[106,303,305,306,308],{"id":304},"các-lệnh-npx-skills-hữu-ích-khác","Các lệnh ",[53,307,90],{}," hữu ích khác",[44,310,311],{},"Dưới đây là một số lệnh tiện lợi khác:",[61,313,314,320,326],{},[64,315,316,319],{},[53,317,318],{},"npx skills ls -g",": Liệt kê tất cả các kỹ năng được cài đặt toàn cục",[64,321,322,325],{},[53,323,324],{},"npx skills update",": Cập nhật tất cả các kỹ năng bằng một lệnh duy nhất",[64,327,328,331],{},[53,329,330],{},"npx skills remove",": Gỡ cài đặt\u002Fxóa một kỹ năng theo cách tương tác trực quan",[44,333,334,335,340],{},"Vui lòng tham khảo ",[96,336,101,338],{"href":98,"rel":337},[100],[53,339,90],{}," để biết thêm các lệnh và tài liệu tham khảo khác.",[106,342,344],{"id":343},"nâng-cấp-hơn-nữa","Nâng cấp hơn nữa",[44,346,347,348,350],{},"Vì tất cả các kỹ năng hiện đã ở cùng một nơi (",[53,349,128],{},"), chúng ta có thể khởi tạo nó như một kho lưu trữ Git và đẩy nó lên GitHub hoặc GitLab.",[158,352,354],{"className":160,"code":353,"language":162,"meta":163,"style":163},"cd ~\u002F.agents\u002Fskills\ngit init\ngit add .\ngit commit -m \"Initial skills folder\"\ngit remote add origin https:\u002F\u002Fgithub.com\u002FTech-Voyage-Dev\u002Fskills\ngit push -u origin main\n",[53,355,356,365,374,384,405,421],{"__ignoreMap":163},[167,357,358,362],{"class":169,"line":170},[167,359,361],{"class":360},"s2Zo4","cd",[167,363,364],{"class":177}," ~\u002F.agents\u002Fskills\n",[167,366,368,371],{"class":169,"line":367},2,[167,369,370],{"class":173},"git",[167,372,373],{"class":177}," init\n",[167,375,377,379,381],{"class":169,"line":376},3,[167,378,370],{"class":173},[167,380,181],{"class":177},[167,382,383],{"class":177}," .\n",[167,385,387,389,392,395,399,402],{"class":169,"line":386},4,[167,388,370],{"class":173},[167,390,391],{"class":177}," commit",[167,393,394],{"class":177}," -m",[167,396,398],{"class":397},"sMK4o"," \"",[167,400,401],{"class":177},"Initial skills folder",[167,403,404],{"class":397},"\"\n",[167,406,408,410,413,415,418],{"class":169,"line":407},5,[167,409,370],{"class":173},[167,411,412],{"class":177}," remote",[167,414,181],{"class":177},[167,416,417],{"class":177}," origin",[167,419,420],{"class":177}," https:\u002F\u002Fgithub.com\u002FTech-Voyage-Dev\u002Fskills\n",[167,422,424,426,429,432,434],{"class":169,"line":423},6,[167,425,370],{"class":173},[167,427,428],{"class":177}," push",[167,430,431],{"class":177}," -u",[167,433,417],{"class":177},[167,435,436],{"class":177}," main\n",[44,438,439,440,104],{},"Bây giờ, chúng ta đã có lịch sử hoàn chỉnh về tất cả các thay đổi kỹ năng, nghĩa là chúng ta có thể dễ dàng khôi phục (rollback) nếu một bản cập nhật làm hỏng thứ gì đó. Ngoài ra, chúng ta có thể đồng bộ hóa mượt mà các kỹ năng trên nhiều máy tính khác nhau (như máy tính xách tay và máy tính để bàn) bằng cách chạy lệnh nhanh ",[53,441,442],{},"git pull",[106,444,446],{"id":445},"một-số-lưu-ý-quan-trọng-bảo-mật-rủi-ro","Một số lưu ý quan trọng (Bảo mật & Rủi ro)",[61,448,449,455,461,471,477],{},[64,450,451,454],{},[48,452,453],{},"Khả năng tương thích khác nhau",": Không phải tất cả các nền tảng Agent đều hỗ trợ mọi tính năng (như custom hook hoặc các công cụ cụ thể được cho phép). Một kỹ năng có thể hoạt động tốt trên Agent này nhưng lại hạn chế trên Agent khác.",[64,456,457,460],{},[48,458,459],{},"Tin tưởng nguồn",": Chỉ cài đặt các kỹ năng từ những nguồn đáng tin cậy.",[64,462,463,466,467,470],{},[48,464,465],{},"Kiểm tra kỹ trước khi chạy",": Nếu bạn đang sử dụng kỹ năng tùy chỉnh hoặc của bên thứ ba, hãy xem xét kỹ các tệp (đặc biệt là trong thư mục ",[53,468,469],{},"scripts\u002F",") trước khi cho phép Agent của bạn chạy nó.",[64,472,473,476],{},[48,474,475],{},"Quyền tối thiểu",": Cố gắng không cấp cho một kỹ năng nhiều quyền công cụ hoặc quyền truy cập hơn mức thực sự cần thiết để hoàn thành công việc.",[64,478,479,482],{},[48,480,481],{},"Không bao giờ mã hóa cứng thông tin nhạy cảm",": Giữ các khóa API và bí mật của bạn tránh xa các tệp kỹ năng của bạn.",[44,484,485,486,488],{},"Thiết lập một thư mục tập trung đóng vai trò là \"nguồn dữ liệu chân lý duy nhất\" với ",[53,487,90],{}," đã giúp đội ngũ của chúng tôi tiết kiệm thời gian và tránh việc làm trùng lặp không đáng có. Rất khuyến khích bạn thử trải nghiệm — năng lực AI sẽ mở rộng vượt trội khi hệ thống kỹ năng của bạn ngày càng phát triển!",[490,491,492],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":163,"searchDepth":367,"depth":367,"links":494},[495,496,498,499,501,502],{"id":108,"depth":367,"text":109},{"id":149,"depth":367,"text":497},"Cài đặt npx skills và Thêm Kỹ năng",{"id":251,"depth":367,"text":252},{"id":304,"depth":367,"text":500},"Các lệnh npx skills hữu ích khác",{"id":343,"depth":367,"text":344},{"id":445,"depth":367,"text":446},"2026-06-04","Bạn đang chạy nhiều Agent AI như Claude Code hay Kimi? Tìm hiểu cách giải quyết phân mảnh kỹ năng và quản lý một thư mục tập trung bằng npx skills CLI.","md","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FCentralised%20the%20skills%20for%20agents\u002FGi%E1%BA%A3i-quy%E1%BA%BFt-s%E1%BB%B1-ph%C3%A2n-m%E1%BA%A3nh-k%E1%BB%B9-n%C4%83ng-c%E1%BB%A7a-Agent-AI-v%E1%BB%9Bi-npx-skills.webp","Giải quyết sự phân mảnh kỹ năng của Agent AI với npx skills CLI",true,{"schemaOrg":510,"robots":514,"sitemap":515},[511],{"@type":512,"headline":513,"description":504},"TechArticle","Cách giải quyết sự phân mảnh kỹ năng của Agent AI bằng npx skills","index, follow",{"lastmod":516},"2026-06-03","\u002Fvi\u002Farticle\u002Fcentralised-the-skills-for-agents",{"title":513,"description":504,"ogTitle":38,"ogDescription":504,"twitterTitle":38,"twitterDescription":504},"vi\u002Farticle\u002Fcentralised-the-skills-for-agents","OSP5xirx5WJAy5knsX8a7NTTW1ZmjY85mRZMmq9jXZU",[522,773],{"id":523,"title":524,"author":39,"body":525,"category":39,"date":760,"description":761,"extension":505,"image":762,"imageAlt":763,"isPublished":508,"meta":764,"minRead":768,"navigation":508,"path":769,"seo":770,"stem":771,"__hash__":772},"article\u002Fvi\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare.md","Ngừng để lộ kho bảo mật của bạn: Bảo mật NodeWarden bằng Cloudflare",{"type":41,"value":526,"toc":756},[527,530,533,547,552,559,562,566,569,573,604,608,611,678,682,685,749,753],[44,528,529],{},"Ngay khi NodeWarden của bạn được hiển thị công khai trên Internet, nó sẽ bắt đầu thu hút hàng ngàn bot tự động liên tục quét tìm các lỗ hổng bảo mật 24\u002F7. Để bảo vệ dữ liệu nhạy cảm của mình, bạn cần thiết lập mức độ khóa bảo mật cao nhất có thể cho phiên bản (instance) NodeWarden của mình.",[44,531,532],{},"Để bảo mật NodeWarden, bạn có thể sử dụng một trong hai tính năng của Cloudflare:",[61,534,535,541],{},[64,536,537,540],{},[48,538,539],{},"Cloudflare IP Access Rules (Quy tắc truy cập IP):"," Cho phép bạn chặn, yêu cầu xác thực (challenge) hoặc cho phép lưu lượng truy cập dựa trên các địa chỉ IP hoặc quốc gia cụ thể.",[64,542,543,546],{},[48,544,545],{},"Cloudflare Zero Trust (Khuyên dùng):"," Hoạt động như một cổng bảo mật giúp NodeWarden của bạn hoàn toàn tàng hình trước công chúng, chỉ cho phép những người dùng đã được ủy quyền đi qua.",[548,549,551],"h4",{"id":550},"tại-sao-chúng-tôi-khuyên-dùng-cloudflare-zero-trust","Tại sao chúng tôi khuyên dùng Cloudflare Zero Trust",[44,553,554,555,558],{},"Chúng tôi đặc biệt khuyên bạn nên sử dụng Cloudflare Zero Trust vì IP Access Rules bị ràng buộc với địa chỉ IP hoặc quốc gia. Điều này có nghĩa là bạn phải cập nhật thủ công các quy tắc của mình mỗi khi đi du lịch hoặc nếu bạn đang dùng IP động. Ngược lại, Cloudflare Zero Trust dựa trên ",[48,556,557],{},"danh tính"," của bạn chứ không phải vị trí địa lý—mang lại cho bạn quyền truy cập liền mạch và an toàn vào NodeWarden.",[560,561],"hr",{},[106,563,565],{"id":564},"hướng-dẫn-cấu-hình","Hướng dẫn cấu hình",[44,567,568],{},"Hãy làm theo các bước sau để cấu hình Cloudflare Zero Trust cho NodeWarden.",[548,570,572],{"id":571},"giai-đoạn-1-bắt-đầu","Giai đoạn 1: Bắt đầu",[574,575,576,583,590,597],"ol",{},[64,577,578,579],{},"Trên bảng điều khiển (dashboard) Cloudflare của bạn, nhấp vào 'Zero Trust' từ menu bên trái.\n",[194,580],{"alt":581,"src":582},"Thanh bên của bảng điều khiển Cloudflare hiển thị tùy chọn Zero Trust được chọn trong menu điều hướng.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-dashboard-zero-trust-sidebar.webp",[64,584,585,586],{},"Nhấp vào 'Access controls', sau đó nhấp vào 'Applications'.\n",[194,587],{"alt":588,"src":589},"Menu điều hướng Cloudflare Zero Trust với phần Kiểm soát truy cập được mở rộng.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-zero-trust-access-controls-menu.webp",[64,591,592,593],{},"Hệ thống có thể yêu cầu bạn chọn gói ('Choose a plan').\n",[194,594],{"alt":595,"src":596},"Màn hình thiết lập tài khoản Cloudflare Zero Trust yêu cầu người dùng chọn gói đăng ký.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-zero-trust-choose-plan-setup.webp",[64,598,599,600],{},"Nhấp vào nút 'Choose a plan' và chọn gói 'Zero Trust Free'.\n",[194,601],{"alt":602,"src":603},"Trang chi tiết gói Zero Trust Free trên Cloudflare, làm nổi bật nút Chọn gói.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-zero-trust-free-plan-selection.webp",[548,605,607],{"id":606},"giai-đoạn-2-bảo-mật-giao-diện-web-của-bạn","Giai đoạn 2: Bảo mật giao diện Web của bạn",[44,609,610],{},"Đầu tiên, chúng ta sẽ tạo một ứng dụng để bảo vệ bảng điều khiển web của NodeWarden.",[574,612,613,620,627,634,641,648,655,658,665,668],{},[64,614,615,616],{},"Nhấp vào 'Create new application' để tạo ứng dụng đầu tiên.\n",[194,617],{"alt":618,"src":619},"Bảng điều khiển ứng dụng Cloudflare Access có nút Tạo ứng dụng mới.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-create-new-application.webp",[64,621,622,623],{},"Chọn 'Self-hosted and private'.\n",[194,624],{"alt":625,"src":626},"Cửa sổ thêm ứng dụng trong Cloudflare Access với loại ứng dụng Tự lưu trữ và riêng tư được chọn.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-add-self-hosted-application.webp",[64,628,629,630],{},"Nhập tên miền (domain) của NodeWarden.\n",[194,631],{"alt":632,"src":633},"Màn hình cấu hình ứng dụng Cloudflare Access hiển thị tên máy chủ công khai được đặt thành warden.techvoyage.dev.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-application-public-hostname.webp",[64,635,636,637],{},"Nhấp vào 'Create new policy' để tạo một chính sách.\n",[194,638],{"alt":639,"src":640},"Trang chính sách Cloudflare Access hiển thị không có chính sách nào được thêm và nút để tạo chính sách mới.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-no-policies-create-button.webp",[64,642,643,644],{},"Chọn 'Emails' và nhập một email vào mục 'Policy rules'.\n",[194,645],{"alt":646,"src":647},"Màn hình cấu hình quy tắc chính sách Cloudflare Access với địa chỉ email được chỉ định làm tiêu chí bao gồm.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-rule-email.webp",[64,649,650,651],{},"Nhập tên và chọn 'Allow' trong mục 'Policy details'.\n",[194,652],{"alt":653,"src":654},"Màn hình chi tiết chính sách Cloudflare Access hiển thị tên chính sách NodeWarden-Web và hành động được đặt thành Cho phép.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-details-allow.webp",[64,656,657],{},"Nhấp 'Save Policy' để lưu chính sách.",[64,659,660,661],{},"Nhập tên và chọn '1 month' trong phần 'Details'.\n",[194,662],{"alt":663,"src":664},"Bản tóm tắt cấu hình cuối cùng cho ứng dụng Cloudflare Access có tên NodeWarden-Web với thời hạn phiên là một tháng.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-application-final-details.webp",[64,666,667],{},"Nhấp vào 'Create' để tạo ứng dụng.",[64,669,670,673,674],{},[48,671,672],{},"Kiểm tra:"," Mở tên miền trên trình duyệt web, bạn sẽ thấy 'Cloudflare Access' yêu cầu nhập email.\n",[194,675],{"alt":676,"src":677},"Bản xem trước màn hình đăng nhập Cloudflare Access cho NodeWarden-Web, yêu cầu nhập địa chỉ email.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-login-screen-preview.webp",[548,679,681],{"id":680},"giai-đoạn-3-cho-phép-đồng-bộ-hóa-client-bitwarden-bỏ-qua-api-api-bypass","Giai đoạn 3: Cho phép đồng bộ hóa Client BitWarden (Bỏ qua API \u002F API Bypass)",[44,683,684],{},"Các ứng dụng BitWarden trên máy tính và thiết bị di động không thể xử lý màn hình đăng nhập email của Cloudflare. Do đó, chúng ta cần tạo ứng dụng thứ hai cho phép lưu lượng truy cập bỏ qua (bypass) màn hình đăng nhập, dành riêng cho việc đồng bộ hóa API.",[574,686,687,697,713,718,725,732,735,742],{},[64,688,689,690,693,694,104],{},"Quay lại phần Applications và nhấp vào ",[48,691,692],{},"Create new application",", chọn lại ",[48,695,696],{},"Self-hosted and private",[64,698,699,700,704,705,708,709],{},"Nhập 'api\u002F",[701,702,703],"em",{},"', 'identity\u002F","', 'notifications\u002F",[701,706,707],{},"' và 'icons\u002F","' vào phần Destinations.\n",[194,710],{"alt":711,"src":712},"Cấu hình nhiều tên máy chủ công khai để bỏ qua API trong Cloudflare Access, bao gồm các đường dẫn api, identity, notifications và icons.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-api-bypass-destinations.webp",[64,714,715,716],{},"Nhấp vào 'Create new policy' để tạo chính sách.\n",[194,717],{"alt":639,"src":640},[64,719,720,721],{},"Chọn 'Everyone' trong mục 'Policy rules'.\n",[194,722],{"alt":723,"src":724},"Cấu hình quy tắc chính sách Cloudflare Access với Mọi người được chọn để cho phép truy cập rộng rãi vào các đường dẫn cụ thể.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-rule-everyone.webp",[64,726,727,728],{},"Nhập tên và chọn 'Bypass' trong mục 'Policy details'.\n",[194,729],{"alt":730,"src":731},"Chi tiết chính sách Cloudflare Access cho NodeWarden-API với hành động được đặt thành Bỏ qua.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-policy-details-bypass.webp",[64,733,734],{},"Nhấp 'Save Policy' để lưu lại.",[64,736,737,738],{},"Nhập tên và chọn '1 month' cho 'Session Duration'.\n",[194,739],{"alt":740,"src":741},"Màn hình cấu hình cuối cùng cho ứng dụng NodeWarden-API trong Cloudflare Access.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-api-application-final-details.webp",[64,743,744,745],{},"Bạn sẽ thấy có 2 ứng dụng đã được tạo thành công.\n",[194,746],{"alt":747,"src":748},"Bảng điều khiển ứng dụng Cloudflare Access hiển thị cả hai ứng dụng Web và API đã được tạo thành công.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-access-applications-list-final.webp",[106,750,752],{"id":751},"lời-kết","Lời kết",[44,754,755],{},"Hãy nhớ rằng Cloudflare chỉ là lớp khiên bảo vệ bên ngoài của bạn. Để duy trì một kho lưu trữ (vault) thực sự an toàn, hãy đảm bảo bạn vẫn đang sử dụng một mật khẩu chính (master password) đủ mạnh, sử dụng Xác thực hai yếu tố (2FA) và giữ cho tài khoản Cloudflare của bạn luôn được bảo mật.",{"title":163,"searchDepth":367,"depth":367,"links":757},[758,759],{"id":564,"depth":367,"text":565},{"id":751,"depth":367,"text":752},"2026-05-27","Ngay khi NodeWarden của bạn được hiển thị công khai trên Internet, nó sẽ bắt đầu thu hút hàng ngàn bot tự động liên tục quét tìm các lỗ hổng bảo mật 24\u002F7.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FHow%20to%20secure%20NodeWarden%20at%20Cloudflare\u002Fhuong-dan-bao-mat-nodewarden-tich-hop-cloudflare.webp","Hình ảnh thu nhỏ cho hướng dẫn từng bước bảo mật kho lưu trữ NodeWarden bằng cách tích hợp Cloudflare, với hình ảnh két sắt kỹ thuật số và tủ máy chủ được bảo vệ.",{"schemaOrg":765,"robots":514,"sitemap":767},[766],{"@type":512,"headline":524,"description":761},{"lastmod":760},8,"\u002Fvi\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare",{"title":524,"description":761,"ogTitle":524,"ogDescription":761,"twitterTitle":524,"twitterDescription":761},"vi\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare","ANwPHG2X3YN4N5KzblULOTfXWVmJrMIqYgywBOjKPlk",{"id":774,"title":775,"author":39,"body":776,"category":39,"date":1501,"description":1502,"extension":505,"image":1503,"imageAlt":1504,"isPublished":508,"meta":1505,"minRead":407,"navigation":508,"path":1509,"seo":1510,"stem":1511,"__hash__":1512},"article\u002Fvi\u002Farticle\u002Fsetup-antigravity-2.md","Trải nghiệm Google Antigravity 2: Cài đặt và Ấn tượng đầu",{"type":41,"value":777,"toc":1492},[778,789,794,797,808,810,814,823,829,836,842,849,859,861,865,872,878,881,887,891,894,908,922,929,941,951,965,967,971,974,988,991,1333,1344,1350,1360,1366,1372,1378,1380,1384,1394,1406,1413,1419,1425,1444,1447,1453,1455,1459,1462,1468,1471,1477,1479,1483,1486,1489],[44,779,780,781,784,785,788],{},"Tại sự kiện Google I\u002FO 2026, Google đã công bố ",[48,782,783],{},"Antigravity 2",", một ứng dụng máy tính độc lập coi ",[48,786,787],{},"AI agent (tác nhân trí tuệ nhân tạo)"," là giao diện người dùng chính. Bạn chỉ cần mô tả mục tiêu mong muốn, agent sẽ tự động lập kế hoạch, chia nhỏ thành các nhiệm vụ phụ dễ quản lý và tiến hành thực thi chúng.",[790,791,793],"h3",{"id":792},"yêu-cầu-hệ-thống","Yêu cầu hệ thống",[44,795,796],{},"Trước khi bắt đầu, bạn sẽ cần:",[61,798,799,802,805],{},[64,800,801],{},"Một máy tính (hướng dẫn này sử dụng macOS)",[64,803,804],{},"Một trình duyệt web hiện đại",[64,806,807],{},"Một tài khoản Gmail",[560,809],{},[106,811,813],{"id":812},"_1-cài-đặt-antigravity-2","1. Cài đặt Antigravity 2",[44,815,816,817,822],{},"Tải xuống Antigravity 2 từ ",[96,818,821],{"href":819,"rel":820},"https:\u002F\u002Fantigravity.google\u002Fdownload",[100],"antigravity.google"," và cài đặt trên máy tính của bạn. Trong lần chạy đầu tiên, bạn sẽ được yêu cầu đăng nhập bằng tài khoản Gmail của mình.",[44,824,825],{},[194,826],{"alt":827,"src":828},"Màn hình đăng nhập tài khoản Google khi khởi chạy Antigravity 2 lần đầu tiên","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-gmail-login.webp",[44,830,831,832,835],{},"Sau khi đăng nhập thành công, bạn sẽ thấy một ",[48,833,834],{},"nút giọng nói"," xuất hiện trong trường nhập liệu, cho phép bạn thu âm các câu lệnh thoại thay vì phải gõ bàn phím.",[44,837,838],{},[194,839],{"alt":840,"src":841},"Nút ghi âm câu lệnh giọng nói trong khung nhập văn bản của Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-voice-input-field.webp",[44,843,844,845,848],{},"Antigravity 2 cũng giới thiệu khái niệm ",[48,846,847],{},"Project (Dự án)",", có thể quản lý nhiều thư mục cục bộ cùng lúc và hoạt động với các cài đặt cũng như quyền hạn riêng biệt cho từng agent.",[44,850,851,855],{},[194,852],{"alt":853,"src":854},"Menu lựa chọn và cấu hình dự án trong cài đặt Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-project-menu.webp",[194,856],{"alt":857,"src":858},"Giao diện tạo dự án AI mới với đường dẫn thư mục trong Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-project-creation.webp",[560,860],{},[106,862,864],{"id":863},"_2-thiết-lập-máy-chủ-mcp-và-plugin","2. Thiết lập máy chủ MCP và Plugin",[44,866,867,868,871],{},"Tất cả máy chủ MCP (Model Context Protocol), plugin và kỹ năng (skills) đều được quản lý trực tiếp trong mục ",[48,869,870],{},"Customizations (Tùy chỉnh)"," thuộc menu Cài đặt:",[44,873,874],{},[194,875],{"alt":876,"src":877},"Tab tùy chỉnh trong phần cài đặt để quản lý máy chủ MCP và kỹ năng","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-settings-customizations.webp",[44,879,880],{},"Hiện tại, các plugin duy nhất đang hỗ trợ đều đến từ Google, nhưng hy vọng nhiều plugin từ bên thứ ba sẽ được ra mắt trong tương lai.",[44,882,883],{},[194,884],{"alt":885,"src":886},"Danh sách các plugin và tích hợp chính thức từ Google trong Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-google-plugins-list.webp",[548,888,890],{"id":889},"thêm-một-máy-chủ-mcp-có-sẵn","Thêm một Máy chủ MCP có sẵn",[44,892,893],{},"Để cài đặt một máy chủ MCP đã được cấu hình trước (ví dụ: GitHub):",[574,895,896,902],{},[64,897,898,899,104],{},"Nhấn vào ",[48,900,901],{},"Add MCP+",[64,903,904,905,104],{},"Chọn ",[48,906,907],{},"GitHub MCP Server",[44,909,910,914,918],{},[194,911],{"alt":912,"src":913},"Thêm máy chủ MCP cấu hình sẵn bằng cách nhấn vào nút Add MCP plus","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-add-mcp-button.webp",[194,915],{"alt":916,"src":917},"Lựa chọn GitHub MCP Server từ danh sách các tích hợp khả dụng","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-select-github-mcp.webp",[194,919],{"alt":920,"src":921},"Trình hướng dẫn cấu hình ủy quyền và cài đặt GitHub MCP Server","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-github-mcp-setup.webp",[44,923,924,925],{},"Quá trình cài đặt GitHub MCP Server đã kết thúc với thông báo lỗi:\n",[194,926],{"alt":927,"src":928},"Lỗi cấu hình trong quá trình cài đặt GitHub MCP Server","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-github-mcp-error.webp",[44,930,931,932,934,935,937,938,940],{},"Vì máy của chúng ta đã có sẵn ",[53,933,370],{}," trên macOS, bạn có thể bỏ qua bước này bằng cách chạy trực tiếp lệnh ",[53,936,370],{}," ngay trong khung trò chuyện. Dù vậy, trước hết chúng ta cần cấp quyền chạy lệnh ",[53,939,370],{}," một cách rõ ràng trong cài đặt phân quyền của Antigravity.",[44,942,943,947],{},[194,944],{"alt":945,"src":946},"Hộp thoại yêu cầu cấp quyền chạy lệnh git trong terminal sandbox","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-add-git-permission-1.webp",[194,948],{"alt":949,"src":950},"Phân quyền cho phép thực thi lệnh git trong menu cài đặt hệ thống","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-add-git-permission-2.webp",[44,952,953,954,956,957,961],{},"Hãy thử kiểm tra xem lệnh ",[53,955,370],{}," hiện tại đã hoạt động bình thường chưa:\n",[194,958],{"alt":959,"src":960},"Gửi yêu cầu lệnh git status trong khung nhập liệu của AI agent","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-git-command-test-1.webp",[194,962],{"alt":963,"src":964},"Thực thi thành công lệnh git status trực tiếp trong cửa sổ trò chuyện","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-git-command-test-2.webp",[560,966],{},[106,968,970],{"id":969},"_3-thêm-máy-chủ-mcp-tùy-chỉnh","3. Thêm Máy chủ MCP tùy chỉnh",[44,972,973],{},"Trong trường hợp máy chủ MCP bạn cần không có sẵn trong danh sách mặc định, bạn có thể tự thêm thủ công bằng cách chỉnh sửa trực tiếp file cấu hình MCP. File cấu hình này nằm ở:",[158,975,977],{"className":160,"code":976,"language":162,"meta":163,"style":163},"~\u002F.gemini\u002Fconfig\u002Fmcp_config.json\n",[53,978,979],{"__ignoreMap":163},[167,980,981,984],{"class":169,"line":170},[167,982,983],{"class":397},"~",[167,985,987],{"class":986},"sTEyZ","\u002F.gemini\u002Fconfig\u002Fmcp_config.json\n",[44,989,990],{},"Ví dụ, hãy thử thêm một số máy chủ Cloudflare MCP. Do Cloudflare hỗ trợ đăng ký máy khách động nên chúng ta chỉ cần bật tính năng OAuth. Hãy thêm đoạn mã sau vào file cấu hình JSON của bạn:",[158,992,996],{"className":993,"code":994,"language":995,"meta":163,"style":163},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","    \"cloudflare-api\": {\n      \"serverUrl\": \"https:\u002F\u002Fmcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    },\n    \"cloudflare-docs\": {\n      \"serverUrl\": \"https:\u002F\u002Fdocs.mcp.cloudflare.com\u002Fmcp\"\n    },\n    \"cloudflare-bindings\": {\n      \"serverUrl\": \"https:\u002F\u002Fbindings.mcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    },\n    \"cloudflare-builds\": {\n      \"serverUrl\": \"https:\u002F\u002Fbuilds.mcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    },\n    \"cloudflare-observability\": {\n      \"serverUrl\": \"https:\u002F\u002Fobservability.mcp.cloudflare.com\u002Fmcp\",\n      \"oauth\": {\n        \"enabled\": true\n      }\n    }\n","json",[53,997,998,1015,1039,1053,1068,1073,1080,1094,1111,1118,1132,1152,1165,1178,1183,1190,1204,1224,1237,1250,1255,1262,1276,1296,1309,1322,1327],{"__ignoreMap":163},[167,999,1000,1003,1006,1009,1012],{"class":169,"line":170},[167,1001,1002],{"class":397},"    \"",[167,1004,1005],{"class":177},"cloudflare-api",[167,1007,1008],{"class":397},"\"",[167,1010,1011],{"class":986},": ",[167,1013,1014],{"class":397},"{\n",[167,1016,1017,1020,1024,1026,1029,1031,1034,1036],{"class":169,"line":367},[167,1018,1019],{"class":397},"      \"",[167,1021,1023],{"class":1022},"spNyl","serverUrl",[167,1025,1008],{"class":397},[167,1027,1028],{"class":397},":",[167,1030,398],{"class":397},[167,1032,1033],{"class":177},"https:\u002F\u002Fmcp.cloudflare.com\u002Fmcp",[167,1035,1008],{"class":397},[167,1037,1038],{"class":397},",\n",[167,1040,1041,1043,1046,1048,1050],{"class":169,"line":376},[167,1042,1019],{"class":397},[167,1044,1045],{"class":1022},"oauth",[167,1047,1008],{"class":397},[167,1049,1028],{"class":397},[167,1051,1052],{"class":397}," {\n",[167,1054,1055,1058,1061,1063,1065],{"class":169,"line":386},[167,1056,1057],{"class":397},"        \"",[167,1059,1060],{"class":173},"enabled",[167,1062,1008],{"class":397},[167,1064,1028],{"class":397},[167,1066,1067],{"class":397}," true\n",[167,1069,1070],{"class":169,"line":407},[167,1071,1072],{"class":397},"      }\n",[167,1074,1075,1078],{"class":169,"line":423},[167,1076,1077],{"class":397},"    }",[167,1079,1038],{"class":986},[167,1081,1083,1085,1088,1090,1092],{"class":169,"line":1082},7,[167,1084,1002],{"class":397},[167,1086,1087],{"class":177},"cloudflare-docs",[167,1089,1008],{"class":397},[167,1091,1011],{"class":986},[167,1093,1014],{"class":397},[167,1095,1096,1098,1100,1102,1104,1106,1109],{"class":169,"line":768},[167,1097,1019],{"class":397},[167,1099,1023],{"class":1022},[167,1101,1008],{"class":397},[167,1103,1028],{"class":397},[167,1105,398],{"class":397},[167,1107,1108],{"class":177},"https:\u002F\u002Fdocs.mcp.cloudflare.com\u002Fmcp",[167,1110,404],{"class":397},[167,1112,1114,1116],{"class":169,"line":1113},9,[167,1115,1077],{"class":397},[167,1117,1038],{"class":986},[167,1119,1121,1123,1126,1128,1130],{"class":169,"line":1120},10,[167,1122,1002],{"class":397},[167,1124,1125],{"class":177},"cloudflare-bindings",[167,1127,1008],{"class":397},[167,1129,1011],{"class":986},[167,1131,1014],{"class":397},[167,1133,1135,1137,1139,1141,1143,1145,1148,1150],{"class":169,"line":1134},11,[167,1136,1019],{"class":397},[167,1138,1023],{"class":1022},[167,1140,1008],{"class":397},[167,1142,1028],{"class":397},[167,1144,398],{"class":397},[167,1146,1147],{"class":177},"https:\u002F\u002Fbindings.mcp.cloudflare.com\u002Fmcp",[167,1149,1008],{"class":397},[167,1151,1038],{"class":397},[167,1153,1155,1157,1159,1161,1163],{"class":169,"line":1154},12,[167,1156,1019],{"class":397},[167,1158,1045],{"class":1022},[167,1160,1008],{"class":397},[167,1162,1028],{"class":397},[167,1164,1052],{"class":397},[167,1166,1168,1170,1172,1174,1176],{"class":169,"line":1167},13,[167,1169,1057],{"class":397},[167,1171,1060],{"class":173},[167,1173,1008],{"class":397},[167,1175,1028],{"class":397},[167,1177,1067],{"class":397},[167,1179,1181],{"class":169,"line":1180},14,[167,1182,1072],{"class":397},[167,1184,1186,1188],{"class":169,"line":1185},15,[167,1187,1077],{"class":397},[167,1189,1038],{"class":986},[167,1191,1193,1195,1198,1200,1202],{"class":169,"line":1192},16,[167,1194,1002],{"class":397},[167,1196,1197],{"class":177},"cloudflare-builds",[167,1199,1008],{"class":397},[167,1201,1011],{"class":986},[167,1203,1014],{"class":397},[167,1205,1207,1209,1211,1213,1215,1217,1220,1222],{"class":169,"line":1206},17,[167,1208,1019],{"class":397},[167,1210,1023],{"class":1022},[167,1212,1008],{"class":397},[167,1214,1028],{"class":397},[167,1216,398],{"class":397},[167,1218,1219],{"class":177},"https:\u002F\u002Fbuilds.mcp.cloudflare.com\u002Fmcp",[167,1221,1008],{"class":397},[167,1223,1038],{"class":397},[167,1225,1227,1229,1231,1233,1235],{"class":169,"line":1226},18,[167,1228,1019],{"class":397},[167,1230,1045],{"class":1022},[167,1232,1008],{"class":397},[167,1234,1028],{"class":397},[167,1236,1052],{"class":397},[167,1238,1240,1242,1244,1246,1248],{"class":169,"line":1239},19,[167,1241,1057],{"class":397},[167,1243,1060],{"class":173},[167,1245,1008],{"class":397},[167,1247,1028],{"class":397},[167,1249,1067],{"class":397},[167,1251,1253],{"class":169,"line":1252},20,[167,1254,1072],{"class":397},[167,1256,1258,1260],{"class":169,"line":1257},21,[167,1259,1077],{"class":397},[167,1261,1038],{"class":986},[167,1263,1265,1267,1270,1272,1274],{"class":169,"line":1264},22,[167,1266,1002],{"class":397},[167,1268,1269],{"class":177},"cloudflare-observability",[167,1271,1008],{"class":397},[167,1273,1011],{"class":986},[167,1275,1014],{"class":397},[167,1277,1279,1281,1283,1285,1287,1289,1292,1294],{"class":169,"line":1278},23,[167,1280,1019],{"class":397},[167,1282,1023],{"class":1022},[167,1284,1008],{"class":397},[167,1286,1028],{"class":397},[167,1288,398],{"class":397},[167,1290,1291],{"class":177},"https:\u002F\u002Fobservability.mcp.cloudflare.com\u002Fmcp",[167,1293,1008],{"class":397},[167,1295,1038],{"class":397},[167,1297,1299,1301,1303,1305,1307],{"class":169,"line":1298},24,[167,1300,1019],{"class":397},[167,1302,1045],{"class":1022},[167,1304,1008],{"class":397},[167,1306,1028],{"class":397},[167,1308,1052],{"class":397},[167,1310,1312,1314,1316,1318,1320],{"class":169,"line":1311},25,[167,1313,1057],{"class":397},[167,1315,1060],{"class":173},[167,1317,1008],{"class":397},[167,1319,1028],{"class":397},[167,1321,1067],{"class":397},[167,1323,1325],{"class":169,"line":1324},26,[167,1326,1072],{"class":397},[167,1328,1330],{"class":169,"line":1329},27,[167,1331,1332],{"class":397},"    }\n",[44,1334,1335,1336,1339,1340,1343],{},"Quay lại mục ",[48,1337,1338],{},"Customizations"," trong ứng dụng và nhấn nút ",[48,1341,1342],{},"Refresh (Tải lại)",". Lúc này, danh sách máy chủ Cloudflare MCP sẽ xuất hiện với trạng thái chờ xác thực (pending authorisation).",[44,1345,1346],{},[194,1347],{"alt":1348,"src":1349},"Danh sách máy chủ Cloudflare MCP ở trạng thái chờ ủy quyền trong menu tùy chỉnh","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-cloudflare-mcp-pending.webp",[44,1351,898,1352,1355,1356,1359],{},[48,1353,1354],{},"Authenticate"," ở bên cạnh máy chủ MCP. Hệ thống sẽ mở ra một trang xác thực trên trình duyệt web. Sau khi xác thực thành công, một mã ủy quyền (",[48,1357,1358],{},"auth code",") sẽ được tạo ra.",[44,1361,1362],{},[194,1363],{"alt":1364,"src":1365},"Trình duyệt hiển thị mã ủy quyền OAuth động cho Cloudflare MCP","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-cloudflare-auth-code.webp",[44,1367,1368,1369,104],{},"Hãy copy mã xác thực này, dán trở lại trường nhập liệu trong Antigravity và nhấn ",[48,1370,1371],{},"Submit",[44,1373,1374],{},[194,1375],{"alt":1376,"src":1377},"Nhập và gửi mã xác thực OAuth trong giao diện thiết lập Antigravity","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-cloudflare-auth-submit.webp",[560,1379],{},[106,1381,1383],{"id":1382},"_4-thêm-kỹ-năng-tùy-chỉnh","4. Thêm Kỹ năng tùy chỉnh",[44,1385,1386,1387,1390,1391,104],{},"Hiện tại, bạn ",[48,1388,1389],{},"không thể"," thêm kỹ năng tùy chỉnh trực tiếp thông qua giao diện người dùng của ứng dụng. Thay vào đó, chúng phải được đặt trực tiếp vào thư mục ",[53,1392,1393],{},"~\u002F.gemini\u002Fconfig\u002Fskills",[44,1395,1396,1397,1399,1400],{},"Nhờ việc sử dụng CLI ",[53,1398,90],{}," để quản lý tập trung toàn bộ kỹ năng của tác nhân, bất kỳ kỹ năng mới nào được thêm vào đều sẽ khả dụng cho mọi agent, bao gồm cả Antigravity. ",[701,1401,1402,1403,1405],{},"(Để tìm hiểu sâu hơn về nội dung này, vui lòng tham khảo bài viết: ",[96,1404,38],{"href":6},").",[44,1407,1408,1409,1412],{},"Ban đầu, khi gõ ",[53,1410,1411],{},"\u002F"," trong khung trò chuyện, danh sách kỹ năng hoàn toàn trống rỗng:",[44,1414,1415],{},[194,1416],{"alt":1417,"src":1418},"Khung lệnh hiển thị danh sách kỹ năng trống rỗng khi gõ phím tắt gạch chéo","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-empty-skills-list.webp",[44,1420,1421,1422,1424],{},"Có vẻ như Antigravity 2 không tự động nhận diện từ thư mục kỹ năng toàn cục (",[53,1423,128],{},"). Để khắc phục, chúng ta cần tạo một liên kết tượng trưng (symlink) trỏ tới thư mục cấu hình của Antigravity:",[158,1426,1428],{"className":160,"code":1427,"language":162,"meta":163,"style":163},"ln -s ~\u002F.agents\u002Fskills\u002Fexcalidraw-diagram ~\u002F.gemini\u002Fconfig\u002Fskills\u002Fexcalidraw-diagram\n",[53,1429,1430],{"__ignoreMap":163},[167,1431,1432,1435,1438,1441],{"class":169,"line":170},[167,1433,1434],{"class":173},"ln",[167,1436,1437],{"class":177}," -s",[167,1439,1440],{"class":177}," ~\u002F.agents\u002Fskills\u002Fexcalidraw-diagram",[167,1442,1443],{"class":177}," ~\u002F.gemini\u002Fconfig\u002Fskills\u002Fexcalidraw-diagram\n",[44,1445,1446],{},"Sau khi liên kết thành công, kỹ năng đó sẽ ngay lập tức khả dụng trong ứng dụng!",[44,1448,1449],{},[194,1450],{"alt":1451,"src":1452},"Kỹ năng sơ đồ Excalidraw hiển thị thành công trong danh sách lệnh Antigravity","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-excalidraw-skill-available.webp",[560,1454],{},[106,1456,1458],{"id":1457},"_5-thử-nghiệm-một-tác-vụ-đơn-giản","5. Thử nghiệm một tác vụ đơn giản",[44,1460,1461],{},"Bây giờ, khi mọi thứ đã được thiết lập xong xuôi, hãy tiến hành chạy thử nghiệm.",[44,1463,1464],{},[194,1465],{"alt":1466,"src":1467},"Gửi tác vụ kiểm tra để liệt kê các cơ sở dữ liệu D1 qua Cloudflare","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-test-simple-task-prompt.webp",[44,1469,1470],{},"Như hình ảnh bên dưới, mô hình đã nhận diện thành công và sử dụng máy chủ Cloudflare MCP vừa thêm để xử lý yêu cầu.",[44,1472,1473],{},[194,1474],{"alt":1475,"src":1476},"AI agent thực thi thành công việc liệt kê cơ sở dữ liệu D1 bằng Cloudflare MCP","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002Fantigravity-test-task-success.webp",[560,1478],{},[106,1480,1482],{"id":1481},"đánh-giá-tổng-quan","Đánh giá tổng quan",[44,1484,1485],{},"Antigravity 2 thể hiện bước chuyển dịch mạnh mẽ từ một IDE truyền thống sang một ứng dụng máy tính thân thiện, dễ tiếp cận, giúp người dùng phổ thông cũng có thể trở thành người điều phối cho mọi tác vụ công việc.",[44,1487,1488],{},"Tuy nhiên, Antigravity 2 vẫn cần được hoàn thiện thêm. Mỗi khi gặp lỗi hệ thống, việc gỡ lỗi khá ức chế do thông báo lỗi chung chung, thiếu chi tiết. Bên cạnh đó, tài liệu hướng dẫn chính thức trông khá sơ sài — có khả năng được tạo tự động bằng AI — vì nhiều đường dẫn tệp tin và nguồn tham khảo hiện đang bị sai lệch.",[490,1490,1491],{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}",{"title":163,"searchDepth":367,"depth":367,"links":1493},[1494,1495,1496,1497,1498,1499,1500],{"id":792,"depth":376,"text":793},{"id":812,"depth":367,"text":813},{"id":863,"depth":367,"text":864},{"id":969,"depth":367,"text":970},{"id":1382,"depth":367,"text":1383},{"id":1457,"depth":367,"text":1458},{"id":1481,"depth":367,"text":1482},"2026-06-05","Khám phá các tính năng mới của Google Antigravity 2. Đọc hướng dẫn thực tế của chúng tôi để cài đặt ứng dụng, thử nghiệm các tác vụ của AI agent và tự thêm các máy chủ MCP tùy chỉnh.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20Antigravity%202.0\u002FVI-Setup-Antigravity-2.0.webp","Đánh giá & Hướng dẫn cài đặt Google Antigravity 2: AI Agent, MCP & Plugin",{"schemaOrg":1506,"robots":514,"sitemap":1508},[1507],{"@type":512,"headline":1504,"description":1502},{"lastmod":1501},"\u002Fvi\u002Farticle\u002Fsetup-antigravity-2",{"title":1504,"description":1502,"ogTitle":775,"ogDescription":1502,"twitterTitle":775,"twitterDescription":1502},"vi\u002Farticle\u002Fsetup-antigravity-2","6lCXi5Qz5o7DcAxu-YcfRoNPT8GFWg2tFt3rxwEiKqA",1781435126618]