[{"data":1,"prerenderedAt":3371},["ShallowReactive",2],{"search-navigation":3,"index-articles-vi":36},[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",[37,524,737,966,1319,2066,2506,2750],{"id":38,"title":39,"author":40,"body":41,"category":40,"date":502,"description":503,"extension":504,"image":505,"imageAlt":506,"isPublished":507,"meta":508,"minRead":518,"navigation":507,"path":519,"seo":520,"stem":522,"__hash__":523},"article\u002Fvi\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude.md","Hướng dẫn thiết lập và sử dụng NetSuite AI Connector (MCP)",null,{"type":42,"value":43,"toc":485},"minimark",[44,48,64,69,79,95,99,241,245,300,304,356,360,365,371,376,380,386,398,402,412,428,432,438,443,447,453,456,460],[45,46,47],"p",{},"Oracle NetSuite từ lâu đã là nền tảng hoạch định nguồn lực doanh nghiệp (ERP) dựa trên đám mây dành cho các doanh nghiệp vừa và nhỏ. Tuy nhiên, giao diện web của nó nổi tiếng là khó học, điều hướng phức tạp cần nhiều lượt nhấp chuột và các cấu trúc báo cáo cứng nhắc.",[45,49,50,51,55,56,59,60,63],{},"Với sự ra mắt gần đây của ",[52,53,54],"strong",{},"NetSuite AI Connector Service",", người dùng giờ đây có thể tận dụng ",[52,57,58],{},"Model Context Protocol (MCP)"," và các ",[52,61,62],{},"Trợ lý AI (Trí tuệ nhân tạo)"," để đặt câu hỏi trực tiếp bằng ngôn ngữ tự nhiên và nhận câu trả lời theo thời gian thực từ dữ liệu tài chính và hoạt động của họ.",[65,66,68],"h2",{"id":67},"cơ-chế-hoạt-động-của-netsuite-mcp-ai-connector","Cơ chế hoạt động của NetSuite MCP AI Connector",[45,70,71,74,75,78],{},[52,72,73],{},"MCP của NetSuite"," cung cấp một bộ công cụ cho ",[52,76,77],{},"AI",", chẳng hạn như chạy truy vấn SuiteQL, đọc Tìm kiếm đã Lưu (Saved Searches) và báo cáo, hoặc thực hiện các thao tác ghi nhận dữ liệu như tạo hồ sơ khách hàng mới. Tất cả các công cụ đều được kiểm soát bởi phân quyền dựa trên vai trò gốc của NetSuite.",[45,80,81,82,84,85,87,88,91,92,94],{},"Khi người dùng đặt câu hỏi bằng ngôn ngữ tự nhiên, ",[52,83,77],{}," sẽ sử dụng ",[52,86,58],{}," để dịch yêu cầu đó thành các hoạt động có cấu trúc mà NetSuite có thể hiểu được. ",[52,89,90],{},"NetSuite"," thực hiện các hoạt động này bằng phân quyền của chính người dùng, và kết quả được trả lại cho ",[52,93,77],{}," để phân tích và trình bày.",[65,96,98],{"id":97},"hướng-dẫn-thiết-lập-netsuite-ai-connector","Hướng dẫn thiết lập NetSuite AI Connector",[100,101,102,164,178,187,194,201,222],"ol",{},[103,104,105,106,109,110,113],"li",{},"Bật ",[52,107,108],{},"Server SuiteScript"," và ",[52,111,112],{},"REST Web Services",[100,114,115,128,157],{},[103,116,117,118,122,123],{},"Đi tới ",[119,120,121],"em",{},"Setup > Company > Enable Features"," (Thiết lập > Công ty > Kích hoạt Tính năng).\n",[124,125],"img",{"alt":126,"src":127},"Giao diện cấu hình Bật tính năng của Oracle NetSuite trong phần Thiết lập công ty","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-setup-company-enable-features.webp",[103,129,130,131,134,135],{},"Trên tab phụ ",[52,132,133],{},"SuiteCloud",":\n",[136,137,138,148],"ul",{},[103,139,140,141,143,144],{},"Dưới mục SuiteScript, tích chọn ô ",[52,142,108],{},".\n",[124,145],{"alt":146,"src":147},"Bật tính năng Server SuiteScript trong tab SuiteCloud của NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-enable-features-server-suitescript.webp",[103,149,150,151,143,153],{},"Dưới mục SuiteTalk (Web Services), tích chọn ô ",[52,152,112],{},[124,154],{"alt":155,"src":156},"Bật tính năng REST Web Services trong tab SuiteCloud của NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-enable-features-rest-web-services.webp",[103,158,159,160,163],{},"Nhấp ",[52,161,162],{},"Save"," (Lưu).",[103,165,166,167,170,171,143,174],{},"Cài đặt ",[52,168,169],{},"NetSuite MCP Standard Tools"," trước. Nhấp vào ",[119,172,173],{},"Customization > SuiteCloud Development > SuiteApp Marketplace",[124,175],{"alt":176,"src":177},"Điều hướng đến cửa hàng ứng dụng SuiteApp Marketplace dưới mục Tùy chỉnh trong NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-suiteapp-marketplace-navigation.webp",[103,179,180,181,143,183],{},"Tìm kiếm từ khóa ",[52,182,169],{},[124,184],{"alt":185,"src":186},"Tìm kiếm ứng dụng NetSuite MCP Standard Tools trên SuiteApp Marketplace","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-suiteapp-marketplace-search-mcp-tools.webp",[103,188,189,190],{},"Sau khi cài đặt xong, bạn sẽ thấy trạng thái 'Installed' (Đã cài đặt) ở bên phải.\n",[124,191],{"alt":192,"src":193},"Ứng dụng NetSuite MCP Standard Tools hiển thị trạng thái Đã cài đặt trên Marketplace","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-suiteapp-installed-status-mcp-tools.webp",[103,195,196,197],{},"Làm theo hướng dẫn tương tự để cài đặt 'NetSuite AI Connector Service Companion'.\n",[124,198],{"alt":199,"src":200},"Ứng dụng NetSuite AI Connector Service Companion hiển thị trạng thái Đã cài đặt","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-suiteapp-installed-ai-connector-companion.webp",[103,202,203,204],{},"Thiết lập một Integration Record (Hồ sơ Tích hợp)\n",[100,205,206,215],{},[103,207,117,208,143,211],{},[119,209,210],{},"Setup > Integration > Manage Integrations",[124,212],{"alt":213,"src":214},"Điều hướng đến Quản lý tích hợp trong menu Thiết lập của NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-integration-manage-integrations-navigation.webp",[103,216,217,218],{},"Tạo một Integration Record cho ChatGPT, và chúng ta sẽ quay lại với token_id thực tế sau:\n",[124,219],{"alt":220,"src":221},"Tạo một bản ghi tích hợp mới trên NetSuite để kết nối với ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-create-integration-record-chatgpt.webp",[103,223,224,225,229,233,237],{},"Tạo một vai trò tùy chỉnh (custom role) cho MCP với các quyền tối thiểu và gán cho người dùng, ví dụ:\n",[124,226],{"alt":227,"src":228},"Cấu hình phân quyền vai trò tùy chỉnh cho tích hợp NetSuite MCP - Phần 1","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-custom-role-mcp-permissions-1.webp",[124,230],{"alt":231,"src":232},"Cấu hình phân quyền vai trò tùy chỉnh cho tích hợp NetSuite MCP - Phần 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-custom-role-mcp-permissions-2.webp",[124,234],{"alt":235,"src":236},"Cấu hình phân quyền vai trò tùy chỉnh cho tích hợp NetSuite MCP - Phần 3","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-custom-role-mcp-permissions-3.webp",[124,238],{"alt":239,"src":240},"Cấu hình phân quyền vai trò tùy chỉnh cho tích hợp NetSuite MCP - Phần 4","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-custom-role-mcp-permissions-4.webp",[65,242,244],{"id":243},"cách-tích-hợp-netsuite-mcp-với-chatgpt","Cách tích hợp NetSuite MCP với ChatGPT",[100,246,247,254,261,268,279,286,293],{},[103,248,249,250],{},"Nhấp vào 'Settings' (Cài đặt).\n",[124,251],{"alt":252,"src":253},"Điều hướng đến mục Cài đặt trong giao diện người dùng của ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-settings-navigation.webp",[103,255,256,257],{},"Nhấp vào 'Apps' > 'Advanced settings' (Cài đặt nâng cao).\n",[124,258],{"alt":259,"src":260},"Điều hướng đến mục Ứng dụng và Cài đặt nâng cao trong cấu hình ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-apps-advanced-settings.webp",[103,262,263,264],{},"Bật 'Developer mode' (Chế độ nhà phát triển), sau đó nhấp vào 'Create app' (Tạo ứng dụng).\n",[124,265],{"alt":266,"src":267},"Bật Chế độ nhà phát triển và nhấp vào Tạo ứng dụng trong cài đặt ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-developer-mode-create-app.webp",[103,269,270,271,143,275],{},"Nhập các thông tin chi tiết. Đối với mục Connection, nhập ",[272,273,274],"code",{},"https:\u002F\u002F\u003Caccount_id>.suitetalk.api.netsuite.com\u002Fservices\u002Fmcp\u002Fv1\u002Fall",[124,276],{"alt":277,"src":278},"Nhập chi tiết URL kết nối NetSuite MCP để tạo ứng dụng trong ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-create-app-netsuite-mcp-connection.webp",[103,280,281,282],{},"Nhấp vào 'Create'. Sau khi được tích hợp, bạn sẽ thấy cửa sổ bật lên sau.\n",[124,283],{"alt":284,"src":285},"Thông báo xác nhận hiển thị NetSuite MCP đã được tích hợp thành công vào ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-netsuite-mcp-integrated-popup.webp",[103,287,288,289],{},"Nhấp vào 'Sign in with NetSuite MCP' (Đăng nhập bằng NetSuite MCP).\n",[124,290],{"alt":291,"src":292},"Yêu cầu từ ChatGPT để đăng nhập bằng các công cụ tiêu chuẩn của NetSuite MCP","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-sign-in-with-netsuite-mcp.webp",[103,294,295,296],{},"Nhấp vào nút 'Continue' để cấp quyền.\n",[124,297],{"alt":298,"src":299},"Cấp quyền kết nối cho NetSuite MCP trên màn hình ủy quyền của ChatGPT","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-grant-permissions-netsuite-mcp.webp",[65,301,303],{"id":302},"cách-tích-hợp-netsuite-mcp-với-claude-ai","Cách tích hợp NetSuite MCP với Claude AI",[100,305,306,313,320,327,342,349],{},[103,307,308,309],{},"Nhấp vào 'Customize' (Tùy chỉnh).\n",[124,310],{"alt":311,"src":312},"Nhấp vào tùy chọn Tùy chỉnh trong giao diện người dùng của Claude AI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-customize-navigation.webp",[103,314,315,316],{},"Nhấp vào 'Connect your apps' (Kết nối ứng dụng của bạn).\n",[124,317],{"alt":318,"src":319},"Nhấp vào Kết nối ứng dụng của bạn trong cài đặt tùy chỉnh của Claude AI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-connect-your-apps.webp",[103,321,322,323],{},"Tìm kiếm từ khóa 'NetSuite'.\n",[124,324],{"alt":325,"src":326},"Tìm kiếm ứng dụng NetSuite trong danh sách ứng dụng kết nối của Claude AI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-search-netsuite-app.webp",[103,328,329,330,333,334,337,338],{},"Nhấp vào 'NetSuite' và nhập URL máy chủ: ",[272,331,332],{},"https:\u002F\u002F\u003Caccount_id>.suitetalk.api.netsuite.com\u002Fservices\u002Fmcp\u002Fv1\u002Fsuiteapp\u002Fcom.netsuite.mcpstandardtools",". Thay thế ",[272,335,336],{},"\u003Caccount_id>"," bằng ID tài khoản thực tế của bạn.\n",[124,339],{"alt":340,"src":341},"Nhập URL kết nối máy chủ NetSuite MCP trong cài đặt của Claude AI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-netsuite-mcp-server-url-setup.webp",[103,343,344,345],{},"Nhấp vào nút 'Continue'.\n",[124,346],{"alt":347,"src":348},"Nhấp vào Tiếp tục để xác thực kết nối máy chủ NetSuite MCP trong Claude","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-netsuite-mcp-continue-authentication.webp",[103,350,351,352],{},"Nhấp 'Continue' để xác thực trình kết nối.\n",[124,353],{"alt":354,"src":355},"Xác thực cuối cùng để kích hoạt trình kết nối NetSuite MCP trong Claude AI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-netsuite-mcp-authenticate-connector.webp",[65,357,359],{"id":358},"các-trường-hợp-sử-dụng-netsuite-ai-thực-tế","Các trường hợp sử dụng NetSuite AI thực tế",[361,362,364],"h3",{"id":363},"trường-hợp-sử-dụng-trên-chatgpt-hiển-thị-các-hóa-đơn-quá-hạn-trên-30-ngày-trong-netsuite","Trường hợp sử dụng trên ChatGPT: Hiển thị các hóa đơn quá hạn trên 30 ngày trong NetSuite",[45,366,367],{},[124,368],{"alt":369,"src":370},"ChatGPT chạy truy vấn SuiteQL để lọc và hiển thị các hóa đơn quá hạn trên NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-netsuite-overdue-invoices-query-result.webp",[136,372,373],{},[103,374,375],{},"ChatGPT đã tạo truy vấn SuiteQL và chạy nó. Điều này rất tiện lợi và tiết kiệm nhiều thời gian so với việc tự tạo báo cáo bằng giao diện web NetSuite.",[361,377,379],{"id":378},"trường-hợp-sử-dụng-trên-chatgpt-và-claude-bạn-có-thể-vẽ-doanh-số-của-30-ngày-qua-bằng-biểu-đồ-đường-không","Trường hợp sử dụng trên ChatGPT và Claude: Bạn có thể vẽ doanh số của 30 ngày qua bằng biểu đồ đường không?",[45,381,382],{},[124,383],{"alt":384,"src":385},"ChatGPT gặp lỗi không thể vẽ biểu đồ đường doanh số từ dữ liệu NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-failed-render-netsuite-sales-line-graph.webp",[136,387,388,391],{},[103,389,390],{},"ChatGPT đã không thể tạo biểu đồ đường trực tiếp.",[103,392,393,394],{},"Tôi đã thử trên Claude và nó hoạt động tốt. Sự khác biệt này có thể là do khả năng xử lý của mô hình ngôn ngữ lớn (LLM).\n",[124,395],{"alt":396,"src":397},"Claude AI vẽ thành công biểu đồ đường trực quan hóa doanh số bán hàng của NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-successfully-rendered-netsuite-sales-line-graph.webp",[361,399,401],{"id":400},"trường-hợp-sử-dụng-trên-claude-tạo-một-hồ-sơ-khách-hàng-mới","Trường hợp sử dụng trên Claude: Tạo một hồ sơ khách hàng mới",[45,403,404,408],{},[124,405],{"alt":406,"src":407},"Yêu cầu Claude AI tạo một hồ sơ khách hàng mới trực tiếp trên NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-create-netsuite-customer-record-prompt.webp",[124,409],{"alt":410,"src":411},"Claude AI phản hồi xác nhận đã tạo thành công hồ sơ khách hàng NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-create-netsuite-customer-record-success.webp",[136,413,414,421],{},[103,415,416,417],{},"Kiểm tra lại trên giao diện web của NetSuite xác nhận hồ sơ đã được tạo thành công.\n",[124,418],{"alt":419,"src":420},"Xác minh hồ sơ khách hàng mới tạo trên giao diện người dùng web của NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fnetsuite-ui-verify-new-customer-record-created.webp",[103,422,423,424],{},"Chạy kiểm tra trong ChatGPT cho thấy hồ sơ đã có sẵn:\n",[124,425],{"alt":426,"src":427},"ChatGPT xác nhận rằng hồ sơ khách hàng NetSuite mới tạo đã hiển thị sẵn","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fchatgpt-verify-netsuite-customer-record-available.webp",[361,429,431],{"id":430},"trường-hợp-sử-dụng-trên-claude-chạy-truy-vấn-suiteql-trực-tiếp","Trường hợp sử dụng trên Claude: Chạy truy vấn SuiteQL trực tiếp",[45,433,434],{},[124,435],{"alt":436,"src":437},"Claude AI trực tiếp thực thi và hiển thị kết quả truy vấn SuiteQL của NetSuite","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002Fclaude-ai-run-suiteql-query-result.webp",[136,439,440],{},[103,441,442],{},"Truy vấn SuiteQL có thể được thực thi trực tiếp.",[65,444,446],{"id":445},"đánh-giá-tổng-quan-về-netsuite-ai-connector","Đánh giá tổng quan về NetSuite AI Connector",[45,448,449,450,452],{},"Lợi ích lớn nhất khi sử dụng MCP là dành cho những người dùng không có nhiều chuyên môn kỹ thuật để tự tạo ra các báo cáo phức tạp. Họ có thể dùng ngôn ngữ tự nhiên để truy vấn dữ liệu và yêu cầu ",[52,451,77],{}," trình bày báo cáo chính xác theo cách họ mong muốn.",[45,454,455],{},"Để ngăn chặn các cuộc tấn công prompt injection và lạm dụng các thao tác ghi dữ liệu ('write'), chỉ nên cấp quyền ghi cho một số hồ sơ và giao dịch nhất định. Khi AI sử dụng MCP để cập nhật hoặc tạo hồ sơ, nó sẽ thực thi dưới dạng SuiteScript phía máy chủ, điều này hoàn toàn bỏ qua mọi tập lệnh phía máy khách (client-side) hoặc kiểm tra tính hợp lệ của biểu mẫu.",[65,457,459],{"id":458},"tài-liệu-tham-khảo","Tài liệu tham khảo:",[136,461,462,471,478],{},[103,463,464],{},[465,466,470],"a",{"href":467,"rel":468},"https:\u002F\u002Fdocs.oracle.com\u002Fen\u002Fcloud\u002Fsaas\u002Fnetsuite\u002Fns-online-help\u002Farticle_0902023450.html#subsect_90090238176",[469],"nofollow","Cài đặt MCP Standard Tools SuiteApp",[103,472,473],{},[465,474,477],{"href":475,"rel":476},"https:\u002F\u002Fdocs.oracle.com\u002Fen\u002Fcloud\u002Fsaas\u002Fnetsuite\u002Fns-online-help\u002Farticle_4160616848.html#subsect_0419123151",[469],"FAQ Dịch vụ NetSuite AI Connector",[103,479,480],{},[465,481,484],{"href":482,"rel":483},"https:\u002F\u002Fdocs.oracle.com\u002Fen\u002Fcloud\u002Fsaas\u002Fnetsuite\u002Fns-online-help\u002Fsection_0714082142.html#bridgehead_0804033331",[469],"Kết nối với Dịch vụ NetSuite AI Connector",{"title":486,"searchDepth":487,"depth":487,"links":488},"",2,[489,490,491,492,493,500,501],{"id":67,"depth":487,"text":68},{"id":97,"depth":487,"text":98},{"id":243,"depth":487,"text":244},{"id":302,"depth":487,"text":303},{"id":358,"depth":487,"text":359,"children":494},[495,497,498,499],{"id":363,"depth":496,"text":364},3,{"id":378,"depth":496,"text":379},{"id":400,"depth":496,"text":401},{"id":430,"depth":496,"text":431},{"id":445,"depth":487,"text":446},{"id":458,"depth":487,"text":459},"2026-06-13","Thiết lập NetSuite AI Connector (MCP) với ChatGPT và Claude. Khám phá cách truy vấn dữ liệu ERP trực quan và tự động hóa tác vụ bằng ngôn ngữ tự nhiên.","md","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSetup%20NetSuite%20MCP%20on%20ChatGPT%20%26%20Claude\u002FVI-Setup-NetSuite-MCP-on-ChatGPT-%26-Claude.webp","Hình thu nhỏ tích hợp AI NetSuite MCP có nền doanh nghiệp màu xanh đậm với logo ChatGPT và Claude được kết nối với cơ sở dữ liệu đám mây NetSuite",true,{"tags":509,"schemaOrg":513,"robots":516,"sitemap":517},[90,510,511,512,77],"MCP","ChatGPT","Claude",[514],{"@type":515,"headline":39,"description":503},"TechArticle","index, follow",{"lastmod":502},10,"\u002Fvi\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude",{"title":521,"description":503,"ogTitle":39,"ogDescription":503,"twitterTitle":39,"twitterDescription":503},"Tích hợp AI NetSuite MCP: Kết nối ChatGPT và Claude","vi\u002Farticle\u002Fsetup-netsuite-mcp-on-chatgpt-claude","SJB2rqfZVO39H9o7l5ul2mRGixwaOt6uvgNn9nqL37g",{"id":525,"title":526,"author":40,"body":527,"category":40,"date":720,"description":721,"extension":504,"image":722,"imageAlt":723,"isPublished":507,"meta":724,"minRead":732,"navigation":507,"path":733,"seo":734,"stem":735,"__hash__":736},"article\u002Fvi\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis.md","Đánh giá Claude Fable 5: Phân tích Tài chính Doanh nghiệp",{"type":42,"value":528,"toc":718},[529,540,551,554,560,577,587,593,599,605,627,636,650,658,676,679,690,699,702,715],[45,530,531,532,535,536],{},"Vào ngày 9 tháng 6 năm 2026, Anthropic đã phát hành ",[52,533,534],{},"Claude Fable 5",", một mô hình thuộc Lớp Mythos với các biện pháp bảo vệ tiên tiến trong một số lĩnh vực như an ninh mạng, chưng cất hóa học, hóa học và sinh học.\n",[124,537],{"alt":538,"src":539},"Thông báo ra mắt Anthropic Claude Fable 5 và các nâng cấp tính năng vượt trội của mô hình","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-launch-announcement.webp",[45,541,542,543,546,547],{},"Anthropic đã công bố các số liệu cho thấy Fable 5 vượt trội hơn Opus 4.8 và GPT-5.5 trên một số bài kiểm tra chuẩn (benchmark) chính. Trong ",[52,544,545],{},"GDPval-AA (công việc tri thức)",", mô hình này vượt xa Opus 4.8, GPT 5.5 và Gemini 3.1 Pro.\n",[124,548],{"alt":549,"src":550},"Bản đồ so sánh chuẩn hiệu năng Claude Fable 5 bao gồm điểm công việc tri thức GDPval-AA","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-benchmarks-gdpval-aa.webp",[45,552,553],{},"Theo Claude, \"Fable 5 cho thấy hiệu suất mạnh mẽ trong các tác vụ phân tích phức tạp\".",[45,555,556],{},[124,557],{"alt":558,"src":559},"Báo cáo khẳng định hiệu suất mạnh mẽ của Claude Fable 5 đối với các phân tích dữ liệu phức tạp","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-analytical-performance-statement.webp",[45,561,562,563,566,567,570,571,576],{},"Chúng tôi quyết định thử nghiệm ",[52,564,565],{},"Fable 5"," bằng cách chạy phân tích so sánh về 'Space Exploration Technologies Corporation (SpaceX)' cho mục đích nghiên cứu đầu tư, sử dụng kỹ năng '",[52,568,569],{},"comps-analysis","'. Tệp 'skill.md' được lấy từ ",[465,572,575],{"href":573,"rel":574},"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Ffinancial-services\u002Fblob\u002Fmain\u002Fplugins\u002Fagent-plugins\u002Fmarket-researcher\u002Fskills\u002Fcomps-analysis\u002FSKILL.md",[469],"kho lưu trữ GitHub dịch vụ tài chính của Anthropic",".",[45,578,579,583],{},[124,580],{"alt":581,"src":582},"Kích hoạt kỹ năng phân tích so sánh tài chính của SpaceX trong giao diện chat Claude","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fspacex-comps-analysis-skill-initiation.webp",[124,584],{"alt":585,"src":586},"Claude Fable 5 đang tự động thực hiện quy trình so sánh tài chính doanh nghiệp SpaceX","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fspacex-comps-analysis-running-progress.webp",[45,588,589],{},[124,590],{"alt":591,"src":592},"Kết quả phân tích tài chính so sánh SpaceX được hoàn thành tự động bởi quy trình của hệ thống","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fspacex-comps-analysis-skill-results-terminal.webp",[45,594,595,596,598],{},"Tác vụ này mất khoảng 25 phút. Claude không yêu cầu bất kỳ câu hỏi làm rõ nào ngoại trừ việc xin phép truy cập các trang web bên ngoài. Thật ấn tượng, ",[52,597,565],{}," có khả năng tự động tìm kiếm các công ty cùng ngành để so sánh.",[45,600,601],{},[124,602],{"alt":603,"src":604},"Claude Fable 5 yêu cầu sự đồng ý truy cập vào các nguồn thông tin mạng bên ngoài","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-external-site-access-permission.webp",[45,606,607,611,612,615,616,621,622,576],{},[124,608],{"alt":609,"src":610},"Danh sách các công ty cùng phân khúc SpaceX được Claude Fable 5 tự động tìm kiếm thành công","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-spacex-comps-excel-memo.webp","\n*",[52,613,614],{},"Xin lưu ý:"," Thử nghiệm này chỉ phục vụ mục đích nghiên cứu và giáo dục, không cấu thành lời khuyên đầu tư. Các tệp được tạo ban đầu có thể được tải xuống tại đây: tệp Excel ",[465,617,620],{"href":618,"rel":619},"https:\u002F\u002Ftechvoyage.dev\u002FSpaceX_Comps_Analysis_2026-06-10.xlsx",[469],"SpaceX_Comps_Analysis_2026-06-10.xlsx"," và báo cáo PDF ",[465,623,626],{"href":624,"rel":625},"https:\u002F\u002Ftechvoyage.dev\u002FSpaceX_Comps_Memo_2026-06-10.pdf",[469],"SpaceX_Comps_Memo_2026-06-10.pdf",[45,628,629,630,633,634,576],{},"Khi chúng tôi thử nghiệm cùng một kỹ năng bằng ",[52,631,632],{},"Qwen deep research",", chúng tôi phải nhập các công ty đối thủ theo cách thủ công. Các số liệu thống kê có sự khác biệt nhỏ so với ",[52,635,565],{},[45,637,638,642,646],{},[124,639],{"alt":640,"src":641},"Khởi động quy trình phân tích so sánh đầu tư SpaceX trong công cụ tìm kiếm Qwen deep research","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fqwen-deep-research-spacex-comps-initiation.webp",[124,643],{"alt":644,"src":645},"Cung cấp danh sách đối thủ thủ công trong Qwen deep research để phân tích doanh nghiệp SpaceX","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fqwen-deep-research-spacex-comps-running.webp",[124,647],{"alt":648,"src":649},"Xem trước báo cáo thống kê tăng trưởng tài chính của SpaceX được tổng hợp bởi mô hình Qwen","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fqwen-deep-research-spacex-comps-report-preview.webp",[45,651,652,653,576],{},"*Báo cáo do Qwen tạo ra có thể được tải xuống tại đây: ",[465,654,657],{"href":655,"rel":656},"https:\u002F\u002Ftechvoyage.dev\u002FThe_SpaceX_Comp_Analysis_A_Statistical_Benchmark_of_Growth_Efficiency_and_Valuation_Against_Public_Peers.pdf",[469],"The_SpaceX_Comp_Analysis_A_Statistical_Benchmark_of_Growth_Efficiency_and_Valuation_Against_Public_Peers.pdf",[45,659,660,661,664,665,143,668,672],{},"Mặc dù cả hai báo cáo từ Claude và Qwen đều được tạo ra dựa trên cùng một phương pháp được chỉ định trong kỹ năng, nhưng các con số có sự chênh lệch do Claude và Qwen lấy dữ liệu từ các nguồn khác nhau. Ví dụ, Claude Fable 5 đã sử dụng ",[52,662,663],{},"Stock Analysis"," trong khi Qwen sử dụng ",[52,666,667],{},"SEC.gov",[124,669],{"alt":670,"src":671},"Dữ liệu tài chính doanh nghiệp được trích xuất từ trang Stock Analysis bởi mô hình Claude Fable 5","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-data-source-stock-analysis.webp",[124,673],{"alt":674,"src":675},"Các hồ sơ SEC chính thức và hệ thống dữ liệu SEC.gov được thu thập bởi Qwen deep research","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fqwen-deep-research-data-source-sec-gov.webp",[45,677,678],{},"Báo cáo từ Qwen cũng chứa nhiều thông tin chi tiết hơn về mô hình kinh doanh, cơ cấu vốn và hoạt động vận hành của doanh nghiệp.",[45,680,681,682,685,686],{},"Sau khi so sánh các báo cáo, chúng tôi quyết định thử lại với lệnh ",[272,683,684],{},"\u002Fresearch"," trong ứng dụng Claude trên máy tính.\n",[124,687],{"alt":688,"src":689},"Thực hiện khảo sát thị trường sâu hơn với lệnh \u002Fresearch mới trong ứng dụng Claude cho máy tính","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-desktop-research-command-spacex.webp",[45,691,692,693,698],{},"Báo cáo phân tích mới được tạo, ",[465,694,697],{"href":695,"rel":696},"https:\u002F\u002Ftechvoyage.dev\u002FSpaceX_Analysis.pdf",[469],"SpaceX_Analysis.pdf",", bao gồm thêm các phần khuyến nghị và cảnh báo bổ sung. So với tính năng tìm kiếm sâu của Qwen, báo cáo này vẫn thiếu thông tin chi tiết về doanh nghiệp như hoạt động vận hành và cơ cấu vốn.",[45,700,701],{},"Liệu Fable 5 có xứng đáng với mức giá cao cấp của nó không? Nó có thể hữu ích cho các tác vụ khó khăn, kéo dài và lập trình tự động. Nhưng đối với một số công việc tri thức nhất định, chẳng hạn như phân tích công ty, nó có thể chưa phải là lựa chọn tối ưu nhất về mặt chi phí.",[45,703,704,705,707,708,143,711],{},"Cuối cùng, chúng tôi đã thử nghiệm khả năng dịch thuật của ",[52,706,565],{},". Thật kỳ lạ, mô hình đã tự động chuyển đổi trở lại ",[52,709,710],{},"Opus 4.8",[124,712],{"alt":713,"src":714},"Giao diện hệ thống tự động đổi từ mô hình Fable 5 sang Opus 4.8 khi xử lý tác vụ dịch thuật","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002Fclaude-fable-5-translation-opus-switching.webp",[45,716,717],{},"Liệu điều này có nghĩa là mọi chuyển đổi ngữ cảnh dài sẽ bị trả về Opus 4.8? Đây chỉ là một lỗi tạm thời trong quá trình sử dụng trước ngày 22 tháng 6? Hay chỉ đơn giản là hệ thống đủ thông minh để nhận biết rằng tác vụ dịch thuật không cần một mô hình mạnh mẽ đến vậy.",{"title":486,"searchDepth":487,"depth":487,"links":719},[],"2026-06-11","Chúng tôi thử nghiệm Claude Fable 5 của Anthropic với Qwen Deep Research để phân tích tài chính. Liệu bản nâng cấp mới này có thực sự xứng đáng với chi phí?","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FTesting%20Claude%20Fable%205%20in%20Financial%20Analysis\u002FVI-Testing-Claude-Fable-5-in-Financial-Analysis.webp","Claude Fable 5 vs Qwen: Thử Nghiệm Phân Tích Tài Chính AI",{"tags":725,"schemaOrg":729,"robots":516,"sitemap":731},[534,726,727,728],"Phân tích tài chính","Qwen Deep Research","Điểm chuẩn AI",[730],{"@type":515,"headline":526,"description":721},{"lastmod":720},7,"\u002Fvi\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis",{"title":723,"description":721,"ogTitle":526,"ogDescription":721,"twitterTitle":526,"twitterDescription":721},"vi\u002Farticle\u002Ftesting-claude-fable-5-in-financial-analysis","H8lSdzLPNX9pw9C-fzOBtIpJzIOdtv4fe_CwYPvNvk0",{"id":738,"title":739,"author":40,"body":740,"category":40,"date":953,"description":954,"extension":504,"image":955,"imageAlt":956,"isPublished":507,"meta":957,"minRead":961,"navigation":507,"path":962,"seo":963,"stem":964,"__hash__":965},"article\u002Fvi\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2.md","Hướng dẫn sử dụng Browser và Scheduler trong Antigravity 2",{"type":42,"value":741,"toc":948},[742,756,760,766,775,790,796,799,810,814,817,824,831,842,845,851,862,871,881,894,904,914,917,923,927,937],[45,743,744,745,109,748,751,752,755],{},"Các lệnh ",[272,746,747],{},"\u002Fbrowser",[272,749,750],{},"\u002Fschedule"," trong ",[52,753,754],{},"Google Antigravity 2"," định nghĩa lại cách chúng ta tương tác với AI. Hai lệnh này biến Antigravity thành một nền tảng tự động hóa chủ động, có thể tương tác trực tiếp với môi trường web thực tế và chạy các luồng công việc định kỳ.",[65,757,759],{"id":758},"browser-run","Browser Run",[45,761,762,763,765],{},"Lệnh ",[272,764,747],{}," bắt buộc sử dụng trình duyệt Chrome để hoàn thành tác vụ. Người dùng vẫn giữ quyền kiểm soát về thời điểm và cách thức các tác nhân truy cập web trong suốt luồng công việc. Ảnh chụp màn hình và video clip sẽ được ghi lại trong quá trình này.",[45,767,768,771],{},[52,769,770],{},"Trường hợp sử dụng:",[124,772],{"alt":773,"src":774},"Sử dụng lệnh \u002Fbrowser để gửi đơn xin nghỉ ốm","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-command-sick-leave-prompt.webp",[45,776,777,778,782,786],{},"Dưới đây là kết quả đầu ra từ tác nhân:\n",[124,779],{"alt":780,"src":781},"Tiểu tác nhân tự động hóa trình duyệt bắt đầu nhiệm vụ gửi đơn xin nghỉ ốm","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-automation-subagent-delegation.webp",[124,783],{"alt":784,"src":785},"Công cụ tự động hóa trình duyệt thiết lập Chrome với gỡ lỗi từ xa và quyền","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-automation-permissions-and-chrome-setup.webp",[124,787],{"alt":788,"src":789},"Tiểu tác nhân trình duyệt tạm dừng tại trang đăng nhập yêu cầu thông tin xác thực","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-automation-login-wall-encountered.webp",[45,791,792],{},[124,793],{"alt":794,"src":795},"Tiểu tác nhân trình duyệt đang đợi người dùng hoàn tất quá trình đăng nhập","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-automation-waiting-for-user-login.webp",[45,797,798],{},"Antigravity hoàn toàn có thể mở trang web và điền biểu mẫu tự động. Khi trang yêu cầu đăng nhập, tác nhân sẽ tạm dừng và đợi cho đến khi bạn hoàn tất đăng nhập.",[45,800,801,806,807,809],{},[802,803],"video",{"alt":804,"src":805,"controls":507},"Video của tiểu tác nhân trình duyệt thực hiện quá trình gửi đơn xin nghỉ ốm","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fbrowser-automation-sick-leave-process.webm","\nLệnh ",[272,808,747],{}," cực kỳ hữu ích khi chúng ta cần lấy tài liệu web mới nhất, xem lịch sử thay đổi (changelogs), kiểm thử ứng dụng web hoặc kiểm tra trạng thái API để hoàn thành công việc.",[65,811,813],{"id":812},"schedule-task","Schedule Task",[45,815,816],{},"Antigravity 2 tích hợp sẵn tính năng lập lịch tác vụ. Chúng ta sẽ thử nghiệm bằng cách tự động điền bảng chấm công (timesheet) sau mỗi 10 phút.",[45,818,819,820],{},"Nhấp vào mục 'Scheduled Tasks' (Tác vụ đã lập lịch):\n",[124,821],{"alt":822,"src":823},"Tùy chọn menu Nhiệm vụ đã lên lịch ở thanh bên","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-menu-item.webp",[45,825,826,827],{},"Nhấp vào nút '+ New' để tạo một tác vụ lập lịch mới:\n",[124,828],{"alt":829,"src":830},"Chế độ xem Nhiệm vụ đã lên lịch trống với nút nhiệm vụ mới","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-empty-state-new-button.webp",[45,832,833,834,838],{},"Điền thông tin vào biểu mẫu và lập lịch cho tác vụ chạy mỗi 10 phút:\n",[124,835],{"alt":836,"src":837},"Biểu mẫu nhiệm vụ đã lên lịch mới được điền để nhập bảng chấm công tự động","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-new-task-form.webp",[124,839],{"alt":840,"src":841},"Nhiệm vụ nhập bảng chấm công tự động đang hoạt động trong danh sách Nhiệm vụ đã lên lịch","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-active-task-list.webp",[45,843,844],{},"Tác vụ đã được kích hoạt, nhưng kết quả trả về bị lỗi.",[45,846,847],{},[124,848],{"alt":849,"src":850},"Thông báo lỗi cho biết không tìm thấy mô hình nào có sẵn cho cấp độ flash","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-error-no-models.webp",[45,852,853,854,857,858,861],{},"Chúng tôi đã thử thêm các giá trị 'env' vào tệp ",[272,855,856],{},"sidecar.json"," tại thư mục ",[272,859,860],{},".gemini\u002Fconfig\u002Fsidecars\u002Fauto-timesheet-entry",", nhưng lỗi tương tự vẫn tiếp diễn.",[863,864,869],"pre",{"className":865,"code":867,"language":868},[866],"language-text","    \"env\": {\n        \"GEMINI_MODEL\": \"gemini-3.5-flash\",\n        \"GOOGLE_CLOUD_PROJECT\": \"your-gcp-project-id\"\n    }\n","text",[272,870,867],{"__ignoreMap":486},[45,872,873,874,877,878,576],{},"Kiểm tra nhật ký tác vụ đã lập lịch trong ",[272,875,876],{},".gemini\u002Fantigravity\u002Fsidecar_data\u002F",", chúng tôi thấy dòng: ",[272,879,880],{},"[schedule] Triggering command: \"agentapi\" [new-conversation]",[45,882,883,884,889,890,893],{},"Phản hồi cho vấn đề của chúng tôi trên ",[465,885,888],{"href":886,"rel":887},"https:\u002F\u002Fdiscuss.ai.google.dev\u002Ft\u002Fscheduled-tasks-in-antigravity-2-ended-with-errors\u002F168013",[469],"Diễn đàn Build with Google AI Forum"," gợi ý rằng cần có API key cho ",[272,891,892],{},"agentapi",". Chúng tôi đã thử cấu hình API key nhưng vẫn không thành công.",[45,895,896,897,899,900],{},"Chúng tôi thử lại bằng cách nhập trực tiếp lệnh ",[272,898,750],{}," vào hộp thoại hội thoại.\n",[124,901],{"alt":902,"src":903},"Sử dụng lệnh \u002Fschedule để nhắc nhiệm vụ tự động hóa bảng chấm công","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fschedule-command-timesheet-prompt.webp",[45,905,906,907,909,910],{},"Các tác vụ được lập lịch bằng lệnh ",[272,908,750],{}," trực tiếp sẽ không xuất hiện trong danh mục menu 'Scheduled Tasks'.\n",[124,911],{"alt":912,"src":913},"Danh sách Nhiệm vụ đã lên lịch không hiển thị các nhiệm vụ được tạo qua lệnh CLI","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fscheduled-tasks-list-missing-cli-task.webp",[45,915,916],{},"Tác vụ cron thực tế đã được kích hoạt thành công.",[45,918,919],{},[124,920],{"alt":921,"src":922},"Nhật ký công việc cron xác nhận nó đã được kích hoạt","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002Fcron-job-triggered-log.webp",[65,924,926],{"id":925},"lời-kết","Lời kết",[45,928,744,929,109,931,933,934,936],{},[272,930,747],{},[272,932,750],{}," trong Antigravity 2 không chỉ là những tính năng riêng lẻ; việc kết hợp chúng sẽ tạo nên một công cụ vô cùng mạnh mẽ. Ví dụ, bạn có thể lập lịch cho một tác nhân sử dụng ",[272,935,747],{}," để truy cập các trang tin tức vào mỗi sáng thứ Hai lúc 6:00 sáng, tổng hợp thông tin và gửi lại cho bạn một bản tin tóm tắt hàng ngày đầy đủ.",[45,938,939,940,943,944,947],{},"Các lệnh khác, chẳng hạn như ",[272,941,942],{},"\u002Fgrill-me"," (được nhắc đến trong bài viết ",[465,945,946],{"href":34},"Antigravity 2 trong thực tế: Tác nhân AI, Kỹ năng và MCP","), có thể được tận dụng khi thiết kế các tác vụ lập lịch mới. Lệnh này thúc đẩy tác nhân chủ động đặt câu hỏi để làm rõ các điểm mơ hồ và phát hiện các trường hợp đặc biệt trước khi hoàn thiện thiết kế.",{"title":486,"searchDepth":487,"depth":487,"links":949},[950,951,952],{"id":758,"depth":487,"text":759},{"id":812,"depth":487,"text":813},{"id":925,"depth":487,"text":926},"2026-06-07","Khám phá cách các lệnh \u002Fbrowser và \u002Fschedule biến Google Antigravity 2 thành một nền tảng tự động hóa AI chủ động và cực kỳ mạnh mẽ.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FUse%20Browser%20and%20Scheduler%20in%20Antigravity%202\u002FVI-Use-Browser-and-Scheduler-in-Antigravity-2.webp","Google Antigravity 2: Tự động hóa với Browser và Schedule",{"schemaOrg":958,"robots":516,"sitemap":960},[959],{"@type":515,"headline":956,"description":954},{"lastmod":953},6,"\u002Fvi\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2",{"title":956,"description":954,"ogTitle":739,"ogDescription":954,"twitterTitle":739,"twitterDescription":954},"vi\u002Farticle\u002Fuse-browser-and-scheduler-in-antigravity-2","jx8guIs3QCWyp69gHwgc0JTtR80ZOlZquFGUugR3UXI",{"id":967,"title":946,"author":486,"body":968,"category":486,"date":1307,"description":1308,"extension":504,"image":1309,"imageAlt":1310,"isPublished":507,"meta":1311,"minRead":961,"navigation":507,"path":1315,"seo":1316,"stem":1317,"__hash__":1318},"article\u002Fvi\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2.md",{"type":42,"value":969,"toc":1297},[970,973,980,984,990,993,997,1003,1006,1012,1018,1024,1036,1041,1046,1054,1058,1064,1070,1076,1079,1085,1091,1096,1101,1104,1108,1118,1124,1128,1134,1140,1146,1149,1153,1156,1160,1166,1172,1178,1181,1268,1274,1286,1290,1293],[45,971,972],{},"Antigravity 2, với vai trò là một ứng dụng desktop ưu tiên tác nhân (agent-first), cho phép người dùng điều phối một nhóm tác nhân phụ (subagents) để tạo báo cáo tóm tắt hàng ngày từ email và lịch biểu, hoặc để xây dựng, kiểm thử và triển khai một ứng dụng. Nhưng điều này thực sự diễn ra như thế nào trong thực tế?",[45,974,975,976,979],{},"Hãy cùng khám phá những gì Antigravity 2 có thể làm cho bạn — từ các lệnh và kỹ năng tích hợp sẵn cho đến cách các tích hợp như máy chủ Firebase Model Context Protocol (MCP) đang biến các nhà phát triển thành những kiến trúc sư full-stack thực thụ. Vui lòng tham khảo bài viết này, ",[465,977,978],{"href":18},"Trải nghiệm Google Antigravity 2: Cài đặt và Ấn tượng đầu",", để biết cách cài đặt và cấu hình các kỹ năng cũng như máy chủ MCP.",[65,981,983],{"id":982},"các-lệnh-tích-hợp-sẵn","Các lệnh tích hợp sẵn",[361,985,987],{"id":986},"goal",[272,988,989],{},"\u002Fgoal",[45,991,992],{},"Dengan lệnh này, bạn yêu cầu tác nhân chạy liên tục cho đến khi một tác vụ cụ thể được hoàn thành một cách trọn vẹn.",[45,994,995],{},[52,996,770],{},[45,998,999],{},[124,1000],{"alt":1001,"src":1002},"Câu lệnh goal của Antigravity 2 để tạo trò chơi Textris","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-goal-command-prompt.webp",[45,1004,1005],{},"Khi chúng tôi yêu cầu các tác nhân phụ động, ba tác nhân sẽ được khởi tạo để hoàn thành tác vụ.",[45,1007,1008],{},[124,1009],{"alt":1010,"src":1011},"Antigravity 2 tạo các tác tử phụ để tự động hoàn thành nhiệm vụ","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-spawning-subagents-1.webp",[45,1013,1014],{},[124,1015],{"alt":1016,"src":1017},"Tiến độ chi tiết của các tác tử phụ Antigravity 2 khi thực hiện các bước","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-spawning-subagents-2.webp",[45,1019,1020],{},[124,1021],{"alt":1022,"src":1023},"Hoàn thành các nhiệm vụ tự động bởi các tác tử phụ Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-spawning-subagents-3.webp",[45,1025,1026,1027,1031,1032],{},"Để trải nghiệm trò chơi Textris được tạo bằng HTML, vui lòng nhấp vào ",[465,1028,1030],{"href":1029},"\u002Ftextris","liên kết"," này:\n",[802,1033],{"alt":1034,"src":1035,"controls":507},"AI generated Textris game in HTML","https:\u002F\u002Fpub-9791558bbefc4bb59834a03ae5c44137.r2.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fai-generated-textri-game-html.webm",[45,1037,762,1038,1040],{},[272,1039,989],{}," thiết lập một kế hoạch cụ thể, thực thi từng bước một và báo cáo tiến độ trực tiếp cho bạn ở từng giai đoạn. Ngoài ra, tác nhân sẽ tự động quản lý cửa sổ ngữ cảnh (context window) của chính nó mà không vượt quá giới hạn. Lệnh này cực kỳ phù hợp cho các tác vụ dài hơi, chẳng hạn như tối ưu hóa hiệu năng hoặc tái cấu trúc mô-đun (module refactoring), vốn đòi hỏi nhiều vòng lặp thử nghiệm.",[361,1042,1044],{"id":1043},"grill-me",[272,1045,942],{},[45,1047,1048,1049,1053],{},"Lệnh này kích hoạt kỹ năng ",[465,1050,1043],{"href":1051,"rel":1052},"https:\u002F\u002Fgithub.com\u002Fmattpocock\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fproductivity\u002Fgrill-me\u002FSKILL.md",[469],", được tạo bởi Matt Pocock. Lệnh này ngắn gọn nhưng vô cùng hiệu quả. Ý tưởng cốt lõi của nó là đặt câu hỏi cho bạn dưới nhiều khía cạnh khác nhau, làm rõ các trường hợp biên (edge cases), đồng bộ hóa cấu trúc và hoàn thiện kế hoạch chi tiết trước khi tiến hành triển khai.",[45,1055,1056],{},[52,1057,770],{},[45,1059,1060],{},[124,1061],{"alt":1062,"src":1063},"Kích hoạt lệnh grill-me cho kiến trúc Cloudflare trong Antigravity 2","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-grill-me-command-prompt.webp",[45,1065,1066],{},[124,1067],{"alt":1068,"src":1069},"Phiên hỏi đáp tương tác sử dụng kỹ năng grill-me","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-grill-me-interaction-1.webp",[45,1071,1072],{},[124,1073],{"alt":1074,"src":1075},"Làm rõ các trường hợp ngoại lệ và cấu trúc kế hoạch với grill-me","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-grill-me-interaction-2.webp",[45,1077,1078],{},"Nó hỗ trợ khả năng chọn nhiều mục cùng lúc:",[45,1080,1081],{},[124,1082],{"alt":1083,"src":1084},"Sử dụng tính năng chọn nhiều mục trong quá trình grill-me","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-grill-me-multi-select-1.webp",[45,1086,1087],{},[124,1088],{"alt":1089,"src":1090},"Hoàn tất các lựa chọn với tính năng chọn nhiều mục của grill-me","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-grill-me-multi-select-2.webp",[45,1092,762,1093,1095],{},[272,1094,942],{}," thực sự rất ấn tượng. Nó bao quát hầu như mọi khía cạnh của thiết kế kiến trúc để triển khai lên Cloudflare. Điều này làm cho nó cực kỳ phù hợp cho việc thiết kế kiến trúc ứng dụng, tái cấu trúc trên nhiều lĩnh vực và các tác vụ phức tạp khác.",[361,1097,1098],{"id":486},[272,1099,1100],{},"@\u002F ",[45,1102,1103],{},"Lệnh này không xuất hiện trong danh sách tính năng công khai, nhưng đôi khi chúng ta cần dùng đến nó để quản lý cửa sổ ngữ cảnh. Nó được sử dụng để thêm một thư mục hoặc tệp tin (ngoài định dạng đa phương tiện) trực tiếp vào hộp thoại hội thoại.",[65,1105,1107],{"id":1106},"skills-kỹ-năng","Skills (Kỹ năng)",[45,1109,1110,1111,1114,1115,576],{},"Chúng ta có thể gõ ",[272,1112,1113],{},"\u002F"," để kích hoạt hộp thoại pop-up và chọn một kỹ năng. Hãy cùng thử nghiệm kỹ năng ",[272,1116,1117],{},"excalidraw-diagram",[45,1119,1120],{},[124,1121],{"alt":1122,"src":1123},"Chọn kỹ năng sơ đồ Excalidraw từ hộp bật lên Antigravity","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-skill-selection-excalidraw.webp",[45,1125,1126],{},[52,1127,770],{},[45,1129,1130],{},[124,1131],{"alt":1132,"src":1133},"Cung cấp hướng dẫn để tạo sơ đồ Excalidraw","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-excalidraw-diagram-prompt.webp",[45,1135,1136],{},[124,1137],{"alt":1138,"src":1139},"Tạo thành công sơ đồ kiến trúc Excalidraw","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-excalidraw-diagram-generation.webp",[45,1141,1142],{},[124,1143],{"alt":1144,"src":1145},"Antigravity architecture diagram","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-architecture.webp",[45,1147,1148],{},"Kỹ năng đã được thực thi thành công sau một vài vòng xác nhận cấp quyền hệ thống.",[65,1150,1152],{"id":1151},"máy-chủ-mcp","Máy chủ MCP",[45,1154,1155],{},"Khi tác nhân xây dựng một hệ thống backend, thông thường bạn sẽ phải mở bảng điều khiển web, tạo cơ sở dữ liệu, sao chép khóa API rồi dán ngược trở lại. Bằng cách tận dụng các máy chủ MCP trực tiếp trong Antigravity, tác nhân có thêm \"đôi tay\" để tự mình thao tác và quản lý hạ tầng đám mây của bạn.",[45,1157,1158],{},[52,1159,770],{},[45,1161,1162],{},[124,1163],{"alt":1164,"src":1165},"Hướng dẫn máy chủ MCP tạo ứng dụng web Firebase","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-mcp-server-firebase-prompt.webp",[45,1167,1168],{},[124,1169],{"alt":1170,"src":1171},"Antigravity sử dụng máy chủ MCP để thao tác hạ tầng Firebase","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-mcp-server-firebase-execution-1.webp",[45,1173,1174],{},[124,1175],{"alt":1176,"src":1177},"Tạo thành công ứng dụng Firebase qua máy chủ MCP của Antigravity","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-mcp-server-firebase-execution-2.webp",[45,1179,1180],{},"Tác nhân đã thiết lập thành công ứng dụng web trong Firebase thông qua các máy chủ MCP. Hãy cùng kiểm tra kho lưu trữ (repository).",[863,1182,1186],{"className":1183,"code":1184,"language":1185,"meta":486,"style":486},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","Create a new public GitHub repository called ‘to-do-app-techvoyage’. Then push all the current project files to it with the commit message ‘Initial commit — to-do-app’.\n","bash",[272,1187,1188],{"__ignoreMap":486},[1189,1190,1193,1197,1201,1204,1207,1210,1213,1216,1219,1222,1225,1228,1231,1234,1237,1240,1243,1246,1249,1251,1254,1257,1260,1262,1265],"span",{"class":1191,"line":1192},"line",1,[1189,1194,1196],{"class":1195},"sBMFI","Create",[1189,1198,1200],{"class":1199},"sfazB"," a",[1189,1202,1203],{"class":1199}," new",[1189,1205,1206],{"class":1199}," public",[1189,1208,1209],{"class":1199}," GitHub",[1189,1211,1212],{"class":1199}," repository",[1189,1214,1215],{"class":1199}," called",[1189,1217,1218],{"class":1199}," ‘to-do-app-techvoyage’.",[1189,1220,1221],{"class":1199}," Then",[1189,1223,1224],{"class":1199}," push",[1189,1226,1227],{"class":1199}," all",[1189,1229,1230],{"class":1199}," the",[1189,1232,1233],{"class":1199}," current",[1189,1235,1236],{"class":1199}," project",[1189,1238,1239],{"class":1199}," files",[1189,1241,1242],{"class":1199}," to",[1189,1244,1245],{"class":1199}," it",[1189,1247,1248],{"class":1199}," with",[1189,1250,1230],{"class":1199},[1189,1252,1253],{"class":1199}," commit",[1189,1255,1256],{"class":1199}," message",[1189,1258,1259],{"class":1199}," ‘Initial",[1189,1261,1253],{"class":1199},[1189,1263,1264],{"class":1199}," —",[1189,1266,1267],{"class":1199}," to-do-app’.\n",[45,1269,1270],{},[124,1271],{"alt":1272,"src":1273},"Tác tử tự động đẩy các tệp dự án lên kho lưu trữ GitHub mới","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002Fantigravity-github-repository-push.webp",[45,1275,1276,1277,1280,1281,1285],{},"Kho lưu trữ ",[272,1278,1279],{},"to-do-app-techvoyage"," hiện đã có mặt trên GitHub thông qua ",[465,1282,1030],{"href":1283,"rel":1284},"https:\u002F\u002Fgithub.com\u002FTech-Voyage-Dev\u002Fto-do-app-techvoyage",[469]," này.",[65,1287,1289],{"id":1288},"suy-nghĩ-cuối-cùng","Suy nghĩ cuối cùng",[45,1291,1292],{},"Mặc dù MCP và Kỹ năng (Skills) trên Antigravity 2 — được vận hành bởi Gemini 3.5 Flash — mang lại tốc độ xử lý nhanh như chớp, nhưng luồng làm việc của tác nhân hiện tại vẫn bị thắt cổ chai bởi các yêu cầu xác nhận quyền liên tục và sự thiếu vắng tính năng lưu điểm khôi phục (checkpoints) để hoàn tác (rollback). Cho đến khi tính năng checkpoint được cập nhật, việc commit Git thường xuyên chính là lưới bảo hộ an toàn bắt buộc dành cho bạn.",[1294,1295,1296],"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);}",{"title":486,"searchDepth":487,"depth":487,"links":1298},[1299,1304,1305,1306],{"id":982,"depth":487,"text":983,"children":1300},[1301,1302,1303],{"id":986,"depth":496,"text":989},{"id":1043,"depth":496,"text":942},{"id":486,"depth":496,"text":1100},{"id":1106,"depth":487,"text":1107},{"id":1151,"depth":487,"text":1152},{"id":1288,"depth":487,"text":1289},"2026-06-06","Khám phá Antigravity 2, ứng dụng desktop ưu tiên tác nhân. Học cách điều phối tác nhân phụ AI, dùng kỹ năng và máy chủ MCP để xây dựng ứng dụng.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FWhat%20can%20we%20do%20with%20Antigravity%202\u002FVI-What-can-we-do-with-Antigravity-2.webp","Hướng dẫn Antigravity 2: Tác nhân AI, Kỹ năng & Máy chủ MCP",{"schemaOrg":1312,"robots":516,"sitemap":1314},[1313],{"@type":515,"headline":946,"description":1308},{"lastmod":1307},"\u002Fvi\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2",{"title":1310,"description":1308,"ogTitle":946,"ogDescription":1308,"twitterTitle":946,"twitterDescription":1308},"vi\u002Farticle\u002Fwhat-can-we-do-with-antigravity-2","3iHn0CsGmX1lMf6yawvOeskRRrswErlT-5jC8gKfQ5I",{"id":1320,"title":978,"author":40,"body":1321,"category":40,"date":2054,"description":2055,"extension":504,"image":2056,"imageAlt":2057,"isPublished":507,"meta":2058,"minRead":1620,"navigation":507,"path":2062,"seo":2063,"stem":2064,"__hash__":2065},"article\u002Fvi\u002Farticle\u002Fsetup-antigravity-2.md",{"type":42,"value":1322,"toc":2045},[1323,1334,1338,1341,1352,1355,1359,1368,1374,1381,1387,1394,1404,1406,1410,1417,1423,1426,1432,1437,1440,1454,1468,1475,1488,1498,1512,1514,1518,1521,1536,1539,1884,1895,1901,1911,1917,1923,1929,1931,1935,1945,1959,1965,1971,1978,1997,2000,2006,2008,2012,2015,2021,2024,2030,2032,2036,2039,2042],[45,1324,1325,1326,1329,1330,1333],{},"Tại sự kiện Google I\u002FO 2026, Google đã công bố ",[52,1327,1328],{},"Antigravity 2",", một ứng dụng máy tính độc lập coi ",[52,1331,1332],{},"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.",[361,1335,1337],{"id":1336},"yêu-cầu-hệ-thống","Yêu cầu hệ thống",[45,1339,1340],{},"Trước khi bắt đầu, bạn sẽ cần:",[136,1342,1343,1346,1349],{},[103,1344,1345],{},"Một máy tính (hướng dẫn này sử dụng macOS)",[103,1347,1348],{},"Một trình duyệt web hiện đại",[103,1350,1351],{},"Một tài khoản Gmail",[1353,1354],"hr",{},[65,1356,1358],{"id":1357},"_1-cài-đặt-antigravity-2","1. Cài đặt Antigravity 2",[45,1360,1361,1362,1367],{},"Tải xuống Antigravity 2 từ ",[465,1363,1366],{"href":1364,"rel":1365},"https:\u002F\u002Fantigravity.google\u002Fdownload",[469],"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.",[45,1369,1370],{},[124,1371],{"alt":1372,"src":1373},"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",[45,1375,1376,1377,1380],{},"Sau khi đăng nhập thành công, bạn sẽ thấy một ",[52,1378,1379],{},"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.",[45,1382,1383],{},[124,1384],{"alt":1385,"src":1386},"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",[45,1388,1389,1390,1393],{},"Antigravity 2 cũng giới thiệu khái niệm ",[52,1391,1392],{},"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.",[45,1395,1396,1400],{},[124,1397],{"alt":1398,"src":1399},"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",[124,1401],{"alt":1402,"src":1403},"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",[1353,1405],{},[65,1407,1409],{"id":1408},"_2-thiết-lập-máy-chủ-mcp-và-plugin","2. Thiết lập máy chủ MCP và Plugin",[45,1411,1412,1413,1416],{},"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 ",[52,1414,1415],{},"Customizations (Tùy chỉnh)"," thuộc menu Cài đặt:",[45,1418,1419],{},[124,1420],{"alt":1421,"src":1422},"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",[45,1424,1425],{},"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.",[45,1427,1428],{},[124,1429],{"alt":1430,"src":1431},"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",[1433,1434,1436],"h4",{"id":1435},"thêm-một-máy-chủ-mcp-có-sẵn","Thêm một Máy chủ MCP có sẵn",[45,1438,1439],{},"Để cài đặt một máy chủ MCP đã được cấu hình trước (ví dụ: GitHub):",[100,1441,1442,1448],{},[103,1443,1444,1445,576],{},"Nhấn vào ",[52,1446,1447],{},"Add MCP+",[103,1449,1450,1451,576],{},"Chọn ",[52,1452,1453],{},"GitHub MCP Server",[45,1455,1456,1460,1464],{},[124,1457],{"alt":1458,"src":1459},"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",[124,1461],{"alt":1462,"src":1463},"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",[124,1465],{"alt":1466,"src":1467},"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",[45,1469,1470,1471],{},"Quá trình cài đặt GitHub MCP Server đã kết thúc với thông báo lỗi:\n",[124,1472],{"alt":1473,"src":1474},"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",[45,1476,1477,1478,1481,1482,1484,1485,1487],{},"Vì máy của chúng ta đã có sẵn ",[272,1479,1480],{},"git"," 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 ",[272,1483,1480],{}," 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 ",[272,1486,1480],{}," một cách rõ ràng trong cài đặt phân quyền của Antigravity.",[45,1489,1490,1494],{},[124,1491],{"alt":1492,"src":1493},"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",[124,1495],{"alt":1496,"src":1497},"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",[45,1499,1500,1501,1503,1504,1508],{},"Hãy thử kiểm tra xem lệnh ",[272,1502,1480],{}," hiện tại đã hoạt động bình thường chưa:\n",[124,1505],{"alt":1506,"src":1507},"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",[124,1509],{"alt":1510,"src":1511},"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",[1353,1513],{},[65,1515,1517],{"id":1516},"_3-thêm-máy-chủ-mcp-tùy-chỉnh","3. Thêm Máy chủ MCP tùy chỉnh",[45,1519,1520],{},"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 ở:",[863,1522,1524],{"className":1183,"code":1523,"language":1185,"meta":486,"style":486},"~\u002F.gemini\u002Fconfig\u002Fmcp_config.json\n",[272,1525,1526],{"__ignoreMap":486},[1189,1527,1528,1532],{"class":1191,"line":1192},[1189,1529,1531],{"class":1530},"sMK4o","~",[1189,1533,1535],{"class":1534},"sTEyZ","\u002F.gemini\u002Fconfig\u002Fmcp_config.json\n",[45,1537,1538],{},"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:",[863,1540,1544],{"className":1541,"code":1542,"language":1543,"meta":486,"style":486},"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",[272,1545,1546,1563,1588,1602,1618,1624,1631,1644,1663,1670,1683,1703,1716,1729,1734,1741,1755,1775,1788,1801,1806,1813,1827,1847,1860,1873,1878],{"__ignoreMap":486},[1189,1547,1548,1551,1554,1557,1560],{"class":1191,"line":1192},[1189,1549,1550],{"class":1530},"    \"",[1189,1552,1553],{"class":1199},"cloudflare-api",[1189,1555,1556],{"class":1530},"\"",[1189,1558,1559],{"class":1534},": ",[1189,1561,1562],{"class":1530},"{\n",[1189,1564,1565,1568,1572,1574,1577,1580,1583,1585],{"class":1191,"line":487},[1189,1566,1567],{"class":1530},"      \"",[1189,1569,1571],{"class":1570},"spNyl","serverUrl",[1189,1573,1556],{"class":1530},[1189,1575,1576],{"class":1530},":",[1189,1578,1579],{"class":1530}," \"",[1189,1581,1582],{"class":1199},"https:\u002F\u002Fmcp.cloudflare.com\u002Fmcp",[1189,1584,1556],{"class":1530},[1189,1586,1587],{"class":1530},",\n",[1189,1589,1590,1592,1595,1597,1599],{"class":1191,"line":496},[1189,1591,1567],{"class":1530},[1189,1593,1594],{"class":1570},"oauth",[1189,1596,1556],{"class":1530},[1189,1598,1576],{"class":1530},[1189,1600,1601],{"class":1530}," {\n",[1189,1603,1605,1608,1611,1613,1615],{"class":1191,"line":1604},4,[1189,1606,1607],{"class":1530},"        \"",[1189,1609,1610],{"class":1195},"enabled",[1189,1612,1556],{"class":1530},[1189,1614,1576],{"class":1530},[1189,1616,1617],{"class":1530}," true\n",[1189,1619,1621],{"class":1191,"line":1620},5,[1189,1622,1623],{"class":1530},"      }\n",[1189,1625,1626,1629],{"class":1191,"line":961},[1189,1627,1628],{"class":1530},"    }",[1189,1630,1587],{"class":1534},[1189,1632,1633,1635,1638,1640,1642],{"class":1191,"line":732},[1189,1634,1550],{"class":1530},[1189,1636,1637],{"class":1199},"cloudflare-docs",[1189,1639,1556],{"class":1530},[1189,1641,1559],{"class":1534},[1189,1643,1562],{"class":1530},[1189,1645,1647,1649,1651,1653,1655,1657,1660],{"class":1191,"line":1646},8,[1189,1648,1567],{"class":1530},[1189,1650,1571],{"class":1570},[1189,1652,1556],{"class":1530},[1189,1654,1576],{"class":1530},[1189,1656,1579],{"class":1530},[1189,1658,1659],{"class":1199},"https:\u002F\u002Fdocs.mcp.cloudflare.com\u002Fmcp",[1189,1661,1662],{"class":1530},"\"\n",[1189,1664,1666,1668],{"class":1191,"line":1665},9,[1189,1667,1628],{"class":1530},[1189,1669,1587],{"class":1534},[1189,1671,1672,1674,1677,1679,1681],{"class":1191,"line":518},[1189,1673,1550],{"class":1530},[1189,1675,1676],{"class":1199},"cloudflare-bindings",[1189,1678,1556],{"class":1530},[1189,1680,1559],{"class":1534},[1189,1682,1562],{"class":1530},[1189,1684,1686,1688,1690,1692,1694,1696,1699,1701],{"class":1191,"line":1685},11,[1189,1687,1567],{"class":1530},[1189,1689,1571],{"class":1570},[1189,1691,1556],{"class":1530},[1189,1693,1576],{"class":1530},[1189,1695,1579],{"class":1530},[1189,1697,1698],{"class":1199},"https:\u002F\u002Fbindings.mcp.cloudflare.com\u002Fmcp",[1189,1700,1556],{"class":1530},[1189,1702,1587],{"class":1530},[1189,1704,1706,1708,1710,1712,1714],{"class":1191,"line":1705},12,[1189,1707,1567],{"class":1530},[1189,1709,1594],{"class":1570},[1189,1711,1556],{"class":1530},[1189,1713,1576],{"class":1530},[1189,1715,1601],{"class":1530},[1189,1717,1719,1721,1723,1725,1727],{"class":1191,"line":1718},13,[1189,1720,1607],{"class":1530},[1189,1722,1610],{"class":1195},[1189,1724,1556],{"class":1530},[1189,1726,1576],{"class":1530},[1189,1728,1617],{"class":1530},[1189,1730,1732],{"class":1191,"line":1731},14,[1189,1733,1623],{"class":1530},[1189,1735,1737,1739],{"class":1191,"line":1736},15,[1189,1738,1628],{"class":1530},[1189,1740,1587],{"class":1534},[1189,1742,1744,1746,1749,1751,1753],{"class":1191,"line":1743},16,[1189,1745,1550],{"class":1530},[1189,1747,1748],{"class":1199},"cloudflare-builds",[1189,1750,1556],{"class":1530},[1189,1752,1559],{"class":1534},[1189,1754,1562],{"class":1530},[1189,1756,1758,1760,1762,1764,1766,1768,1771,1773],{"class":1191,"line":1757},17,[1189,1759,1567],{"class":1530},[1189,1761,1571],{"class":1570},[1189,1763,1556],{"class":1530},[1189,1765,1576],{"class":1530},[1189,1767,1579],{"class":1530},[1189,1769,1770],{"class":1199},"https:\u002F\u002Fbuilds.mcp.cloudflare.com\u002Fmcp",[1189,1772,1556],{"class":1530},[1189,1774,1587],{"class":1530},[1189,1776,1778,1780,1782,1784,1786],{"class":1191,"line":1777},18,[1189,1779,1567],{"class":1530},[1189,1781,1594],{"class":1570},[1189,1783,1556],{"class":1530},[1189,1785,1576],{"class":1530},[1189,1787,1601],{"class":1530},[1189,1789,1791,1793,1795,1797,1799],{"class":1191,"line":1790},19,[1189,1792,1607],{"class":1530},[1189,1794,1610],{"class":1195},[1189,1796,1556],{"class":1530},[1189,1798,1576],{"class":1530},[1189,1800,1617],{"class":1530},[1189,1802,1804],{"class":1191,"line":1803},20,[1189,1805,1623],{"class":1530},[1189,1807,1809,1811],{"class":1191,"line":1808},21,[1189,1810,1628],{"class":1530},[1189,1812,1587],{"class":1534},[1189,1814,1816,1818,1821,1823,1825],{"class":1191,"line":1815},22,[1189,1817,1550],{"class":1530},[1189,1819,1820],{"class":1199},"cloudflare-observability",[1189,1822,1556],{"class":1530},[1189,1824,1559],{"class":1534},[1189,1826,1562],{"class":1530},[1189,1828,1830,1832,1834,1836,1838,1840,1843,1845],{"class":1191,"line":1829},23,[1189,1831,1567],{"class":1530},[1189,1833,1571],{"class":1570},[1189,1835,1556],{"class":1530},[1189,1837,1576],{"class":1530},[1189,1839,1579],{"class":1530},[1189,1841,1842],{"class":1199},"https:\u002F\u002Fobservability.mcp.cloudflare.com\u002Fmcp",[1189,1844,1556],{"class":1530},[1189,1846,1587],{"class":1530},[1189,1848,1850,1852,1854,1856,1858],{"class":1191,"line":1849},24,[1189,1851,1567],{"class":1530},[1189,1853,1594],{"class":1570},[1189,1855,1556],{"class":1530},[1189,1857,1576],{"class":1530},[1189,1859,1601],{"class":1530},[1189,1861,1863,1865,1867,1869,1871],{"class":1191,"line":1862},25,[1189,1864,1607],{"class":1530},[1189,1866,1610],{"class":1195},[1189,1868,1556],{"class":1530},[1189,1870,1576],{"class":1530},[1189,1872,1617],{"class":1530},[1189,1874,1876],{"class":1191,"line":1875},26,[1189,1877,1623],{"class":1530},[1189,1879,1881],{"class":1191,"line":1880},27,[1189,1882,1883],{"class":1530},"    }\n",[45,1885,1886,1887,1890,1891,1894],{},"Quay lại mục ",[52,1888,1889],{},"Customizations"," trong ứng dụng và nhấn nút ",[52,1892,1893],{},"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).",[45,1896,1897],{},[124,1898],{"alt":1899,"src":1900},"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",[45,1902,1444,1903,1906,1907,1910],{},[52,1904,1905],{},"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 (",[52,1908,1909],{},"auth code",") sẽ được tạo ra.",[45,1912,1913],{},[124,1914],{"alt":1915,"src":1916},"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",[45,1918,1919,1920,576],{},"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 ",[52,1921,1922],{},"Submit",[45,1924,1925],{},[124,1926],{"alt":1927,"src":1928},"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",[1353,1930],{},[65,1932,1934],{"id":1933},"_4-thêm-kỹ-năng-tùy-chỉnh","4. Thêm Kỹ năng tùy chỉnh",[45,1936,1937,1938,1941,1942,576],{},"Hiện tại, bạn ",[52,1939,1940],{},"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 ",[272,1943,1944],{},"~\u002F.gemini\u002Fconfig\u002Fskills",[45,1946,1947,1948,1951,1952],{},"Nhờ việc sử dụng CLI ",[272,1949,1950],{},"npx skills"," để 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. ",[119,1953,1954,1955,1958],{},"(Để tìm hiểu sâu hơn về nội dung này, vui lòng tham khảo bài viết: ",[465,1956,1957],{"href":6},"Giải quyết sự phân mảnh kỹ năng của Agent AI với npx skills",").",[45,1960,1961,1962,1964],{},"Ban đầu, khi gõ ",[272,1963,1113],{}," trong khung trò chuyện, danh sách kỹ năng hoàn toàn trống rỗng:",[45,1966,1967],{},[124,1968],{"alt":1969,"src":1970},"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",[45,1972,1973,1974,1977],{},"Có vẻ như Antigravity 2 không tự động nhận diện từ thư mục kỹ năng toàn cục (",[272,1975,1976],{},"~\u002F.agents\u002Fskills","). Để 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:",[863,1979,1981],{"className":1183,"code":1980,"language":1185,"meta":486,"style":486},"ln -s ~\u002F.agents\u002Fskills\u002Fexcalidraw-diagram ~\u002F.gemini\u002Fconfig\u002Fskills\u002Fexcalidraw-diagram\n",[272,1982,1983],{"__ignoreMap":486},[1189,1984,1985,1988,1991,1994],{"class":1191,"line":1192},[1189,1986,1987],{"class":1195},"ln",[1189,1989,1990],{"class":1199}," -s",[1189,1992,1993],{"class":1199}," ~\u002F.agents\u002Fskills\u002Fexcalidraw-diagram",[1189,1995,1996],{"class":1199}," ~\u002F.gemini\u002Fconfig\u002Fskills\u002Fexcalidraw-diagram\n",[45,1998,1999],{},"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!",[45,2001,2002],{},[124,2003],{"alt":2004,"src":2005},"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",[1353,2007],{},[65,2009,2011],{"id":2010},"_5-thử-nghiệm-một-tác-vụ-đơn-giản","5. Thử nghiệm một tác vụ đơn giản",[45,2013,2014],{},"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.",[45,2016,2017],{},[124,2018],{"alt":2019,"src":2020},"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",[45,2022,2023],{},"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.",[45,2025,2026],{},[124,2027],{"alt":2028,"src":2029},"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",[1353,2031],{},[65,2033,2035],{"id":2034},"đánh-giá-tổng-quan","Đánh giá tổng quan",[45,2037,2038],{},"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.",[45,2040,2041],{},"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.",[1294,2043,2044],{},"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":486,"searchDepth":487,"depth":487,"links":2046},[2047,2048,2049,2050,2051,2052,2053],{"id":1336,"depth":496,"text":1337},{"id":1357,"depth":487,"text":1358},{"id":1408,"depth":487,"text":1409},{"id":1516,"depth":487,"text":1517},{"id":1933,"depth":487,"text":1934},{"id":2010,"depth":487,"text":2011},{"id":2034,"depth":487,"text":2035},"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":2059,"robots":516,"sitemap":2061},[2060],{"@type":515,"headline":2057,"description":2055},{"lastmod":2054},"\u002Fvi\u002Farticle\u002Fsetup-antigravity-2",{"title":2057,"description":2055,"ogTitle":978,"ogDescription":2055,"twitterTitle":978,"twitterDescription":2055},"vi\u002Farticle\u002Fsetup-antigravity-2","6lCXi5Qz5o7DcAxu-YcfRoNPT8GFWg2tFt3rxwEiKqA",{"id":2067,"title":1957,"author":40,"body":2068,"category":40,"date":2492,"description":2493,"extension":504,"image":2494,"imageAlt":2495,"isPublished":507,"meta":2496,"minRead":961,"navigation":507,"path":2502,"seo":2503,"stem":2504,"__hash__":2505},"article\u002Fvi\u002Farticle\u002Fcentralised-the-skills-for-agents.md",{"type":42,"value":2069,"toc":2482},[2070,2081,2084,2107,2123,2127,2137,2153,2163,2169,2172,2197,2203,2214,2233,2243,2253,2257,2264,2285,2288,2294,2304,2310,2313,2333,2342,2346,2352,2427,2433,2437,2473,2479],[45,2071,2072,2073,2076,2077,2080],{},"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: ",[52,2074,2075],{},"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 ",[272,2078,2079],{},"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ý.",[45,2082,2083],{},"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:",[136,2085,2086,2092,2098],{},[103,2087,2088,2091],{},[52,2089,2090],{},"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.",[103,2093,2094,2097],{},[52,2095,2096],{},"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.",[103,2099,2100,2103,2104,2106],{},[52,2101,2102],{},"Khó khăn trong quản lý",": Phải lùng sục từng thư mục ",[272,2105,2079],{}," 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.",[45,2108,2109,2110,2112,2113,2115,2116,576],{},"CLI ",[272,2111,1950],{},", 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 ",[272,2114,2079],{}," 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 ",[465,2117,2120,2121],{"href":2118,"rel":2119},"https:\u002F\u002Fgithub.com\u002Fvercel-labs\u002Fskills",[469],"kho lưu trữ GitHub của ",[272,2122,1950],{},[65,2124,2126],{"id":2125},"thư-mục-tập-trung","Thư mục tập trung",[45,2128,2129,2130,2132,2133,2136],{},"Khái niệm này rất đơn giản: nếu chúng ta trỏ thư mục ",[272,2131,2079],{}," của mọi Agent về ",[52,2134,2135],{},"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.",[45,2138,2139,2140,2142,2143,2145,2146,2149,2150,2152],{},"Khi bạn cài đặt một kỹ năng bằng CLI ",[272,2141,1950],{},", kỹ năng đó sẽ được tải xuống thư mục tập trung trên máy của bạn (",[272,2144,1976],{},"). Sau đó, CLI sẽ tạo một ",[52,2147,2148],{},"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 ",[272,2151,2079],{}," của từng Agent về lại thư mục tập trung đó.",[45,2154,2155,2156,2159,2160,2162],{},"Ví dụ, khi Claude Code tìm kiếm các kỹ năng trong ",[272,2157,2158],{},"~\u002F.claude\u002Fskills\u002F",", nó sẽ được tự động chuyển hướng một cách mượt mà đến ",[272,2161,1976],{},". 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.",[65,2164,166,2166,2168],{"id":2165},"cài-đặt-npx-skills-và-thêm-kỹ-năng",[272,2167,1950],{}," và Thêm Kỹ năng",[45,2170,2171],{},"Chạy lệnh sau để bắt đầu và thêm kỹ năng đầu tiên của chúng ta:",[863,2173,2175],{"className":1183,"code":2174,"language":1185,"meta":486,"style":486},"npx skills add https:\u002F\u002Fgithub.com\u002Fcoleam00\u002Fexcalidraw-diagram-skill --skill excalidraw-diagram\n",[272,2176,2177],{"__ignoreMap":486},[1189,2178,2179,2182,2185,2188,2191,2194],{"class":1191,"line":1192},[1189,2180,2181],{"class":1195},"npx",[1189,2183,2184],{"class":1199}," skills",[1189,2186,2187],{"class":1199}," add",[1189,2189,2190],{"class":1199}," https:\u002F\u002Fgithub.com\u002Fcoleam00\u002Fexcalidraw-diagram-skill",[1189,2192,2193],{"class":1199}," --skill",[1189,2195,2196],{"class":1199}," excalidraw-diagram\n",[45,2198,2199],{},[124,2200],{"alt":2201,"src":2202},"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",[45,2204,2205,2206,2209,2210],{},"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 ",[52,2207,2208],{},"global"," để tất cả các Agent được hỗ trợ đều có thể truy cập:\n",[124,2211],{"alt":2212,"src":2213},"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",[45,2215,2216,2217,2220,2221,2224,2225,2229],{},"Tiếp theo, hãy chắc chắn chọn ",[272,2218,2219],{},"Symlink"," để đảm bảo một ",[52,2222,2223],{},"nguồn dữ liệu chân lý duy nhất"," (single source of truth):\n",[124,2226],{"alt":2227,"src":2228},"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",[124,2230],{"alt":2231,"src":2232},"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",[45,2234,2235,2236,2238,2239],{},"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 ",[272,2237,1976],{}," chưa:\n",[124,2240],{"alt":2241,"src":2242},"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",[45,2244,2245,2246,2248,2249],{},"Mở Kimi CLI (hoặc bất kỳ Agent nào khác), kỹ năng ",[272,2247,1117],{}," đã sẵn sàng và hoạt động mượt mà!\n",[124,2250],{"alt":2251,"src":2252},"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",[65,2254,2256],{"id":2255},"tạo-kỹ-năng-từ-con-số-0","Tạo Kỹ năng từ con số 0",[45,2258,2259,2260,2263],{},"Để 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ụ ",[272,2261,2262],{},"skill-creator"," của Anthropic. Hãy cài đặt nó như thế này:",[863,2265,2267],{"className":1183,"code":2266,"language":1185,"meta":486,"style":486},"npx skills add https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills --skill skill-creator\n",[272,2268,2269],{"__ignoreMap":486},[1189,2270,2271,2273,2275,2277,2280,2282],{"class":1191,"line":1192},[1189,2272,2181],{"class":1195},[1189,2274,2184],{"class":1199},[1189,2276,2187],{"class":1199},[1189,2278,2279],{"class":1199}," https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills",[1189,2281,2193],{"class":1199},[1189,2283,2284],{"class":1199}," skill-creator\n",[45,2286,2287],{},"Bây giờ, trong Kimi hoặc bất kỳ Agent nào khác, nhập prompt sau:",[863,2289,2292],{"className":2290,"code":2291,"language":868},[866],"Use the skill-creator to help me build a skill for creating a product landing page\n",[272,2293,2291],{"__ignoreMap":486},[45,2295,2296,2297,2299,2300],{},"Kimi hoặc Agent của bạn sẽ tự động nhận diện ",[272,2298,2262],{}," và hướng dẫn bạn từng bước thực hiện:\n",[124,2301],{"alt":2302,"src":2303},"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",[65,2305,744,2307,2309],{"id":2306},"các-lệnh-npx-skills-hữu-ích-khác",[272,2308,1950],{}," hữu ích khác",[45,2311,2312],{},"Dưới đây là một số lệnh tiện lợi khác:",[136,2314,2315,2321,2327],{},[103,2316,2317,2320],{},[272,2318,2319],{},"npx skills ls -g",": Liệt kê tất cả các kỹ năng được cài đặt toàn cục",[103,2322,2323,2326],{},[272,2324,2325],{},"npx skills update",": Cập nhật tất cả các kỹ năng bằng một lệnh duy nhất",[103,2328,2329,2332],{},[272,2330,2331],{},"npx skills remove",": Gỡ cài đặt\u002Fxóa một kỹ năng theo cách tương tác trực quan",[45,2334,2335,2336,2341],{},"Vui lòng tham khảo ",[465,2337,2120,2339],{"href":2118,"rel":2338},[469],[272,2340,1950],{}," để biết thêm các lệnh và tài liệu tham khảo khác.",[65,2343,2345],{"id":2344},"nâng-cấp-hơn-nữa","Nâng cấp hơn nữa",[45,2347,2348,2349,2351],{},"Vì tất cả các kỹ năng hiện đã ở cùng một nơi (",[272,2350,1976],{},"), 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.",[863,2353,2355],{"className":1183,"code":2354,"language":1185,"meta":486,"style":486},"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",[272,2356,2357,2366,2373,2382,2398,2413],{"__ignoreMap":486},[1189,2358,2359,2363],{"class":1191,"line":1192},[1189,2360,2362],{"class":2361},"s2Zo4","cd",[1189,2364,2365],{"class":1199}," ~\u002F.agents\u002Fskills\n",[1189,2367,2368,2370],{"class":1191,"line":487},[1189,2369,1480],{"class":1195},[1189,2371,2372],{"class":1199}," init\n",[1189,2374,2375,2377,2379],{"class":1191,"line":496},[1189,2376,1480],{"class":1195},[1189,2378,2187],{"class":1199},[1189,2380,2381],{"class":1199}," .\n",[1189,2383,2384,2386,2388,2391,2393,2396],{"class":1191,"line":1604},[1189,2385,1480],{"class":1195},[1189,2387,1253],{"class":1199},[1189,2389,2390],{"class":1199}," -m",[1189,2392,1579],{"class":1530},[1189,2394,2395],{"class":1199},"Initial skills folder",[1189,2397,1662],{"class":1530},[1189,2399,2400,2402,2405,2407,2410],{"class":1191,"line":1620},[1189,2401,1480],{"class":1195},[1189,2403,2404],{"class":1199}," remote",[1189,2406,2187],{"class":1199},[1189,2408,2409],{"class":1199}," origin",[1189,2411,2412],{"class":1199}," https:\u002F\u002Fgithub.com\u002FTech-Voyage-Dev\u002Fskills\n",[1189,2414,2415,2417,2419,2422,2424],{"class":1191,"line":961},[1189,2416,1480],{"class":1195},[1189,2418,1224],{"class":1199},[1189,2420,2421],{"class":1199}," -u",[1189,2423,2409],{"class":1199},[1189,2425,2426],{"class":1199}," main\n",[45,2428,2429,2430,576],{},"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 ",[272,2431,2432],{},"git pull",[65,2434,2436],{"id":2435},"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)",[136,2438,2439,2445,2451,2461,2467],{},[103,2440,2441,2444],{},[52,2442,2443],{},"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.",[103,2446,2447,2450],{},[52,2448,2449],{},"Tin tưởng nguồn",": Chỉ cài đặt các kỹ năng từ những nguồn đáng tin cậy.",[103,2452,2453,2456,2457,2460],{},[52,2454,2455],{},"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 ",[272,2458,2459],{},"scripts\u002F",") trước khi cho phép Agent của bạn chạy nó.",[103,2462,2463,2466],{},[52,2464,2465],{},"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.",[103,2468,2469,2472],{},[52,2470,2471],{},"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.",[45,2474,2475,2476,2478],{},"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 ",[272,2477,1950],{}," đã 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!",[1294,2480,2481],{},"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":486,"searchDepth":487,"depth":487,"links":2483},[2484,2485,2487,2488,2490,2491],{"id":2125,"depth":487,"text":2126},{"id":2165,"depth":487,"text":2486},"Cài đặt npx skills và Thêm Kỹ năng",{"id":2255,"depth":487,"text":2256},{"id":2306,"depth":487,"text":2489},"Các lệnh npx skills hữu ích khác",{"id":2344,"depth":487,"text":2345},{"id":2435,"depth":487,"text":2436},"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.","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",{"schemaOrg":2497,"robots":516,"sitemap":2500},[2498],{"@type":515,"headline":2499,"description":2493},"Cách giải quyết sự phân mảnh kỹ năng của Agent AI bằng npx skills",{"lastmod":2501},"2026-06-03","\u002Fvi\u002Farticle\u002Fcentralised-the-skills-for-agents",{"title":2499,"description":2493,"ogTitle":1957,"ogDescription":2493,"twitterTitle":1957,"twitterDescription":2493},"vi\u002Farticle\u002Fcentralised-the-skills-for-agents","OSP5xirx5WJAy5knsX8a7NTTW1ZmjY85mRZMmq9jXZU",{"id":2507,"title":2508,"author":40,"body":2509,"category":40,"date":2738,"description":2739,"extension":504,"image":2740,"imageAlt":2741,"isPublished":507,"meta":2742,"minRead":1646,"navigation":507,"path":2746,"seo":2747,"stem":2748,"__hash__":2749},"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":42,"value":2510,"toc":2734},[2511,2514,2517,2531,2535,2542,2544,2548,2551,2555,2585,2589,2592,2659,2663,2666,2729,2731],[45,2512,2513],{},"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.",[45,2515,2516],{},"Để bảo mật NodeWarden, bạn có thể sử dụng một trong hai tính năng của Cloudflare:",[136,2518,2519,2525],{},[103,2520,2521,2524],{},[52,2522,2523],{},"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ể.",[103,2526,2527,2530],{},[52,2528,2529],{},"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.",[1433,2532,2534],{"id":2533},"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",[45,2536,2537,2538,2541],{},"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 ",[52,2539,2540],{},"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.",[1353,2543],{},[65,2545,2547],{"id":2546},"hướng-dẫn-cấu-hình","Hướng dẫn cấu hình",[45,2549,2550],{},"Hãy làm theo các bước sau để cấu hình Cloudflare Zero Trust cho NodeWarden.",[1433,2552,2554],{"id":2553},"giai-đoạn-1-bắt-đầu","Giai đoạn 1: Bắt đầu",[100,2556,2557,2564,2571,2578],{},[103,2558,2559,2560],{},"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",[124,2561],{"alt":2562,"src":2563},"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",[103,2565,2566,2567],{},"Nhấp vào 'Access controls', sau đó nhấp vào 'Applications'.\n",[124,2568],{"alt":2569,"src":2570},"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",[103,2572,2573,2574],{},"Hệ thống có thể yêu cầu bạn chọn gói ('Choose a plan').\n",[124,2575],{"alt":2576,"src":2577},"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",[103,2579,2580,2581],{},"Nhấp vào nút 'Choose a plan' và chọn gói 'Zero Trust Free'.\n",[124,2582],{"alt":2583,"src":2584},"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",[1433,2586,2588],{"id":2587},"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",[45,2590,2591],{},"Đầ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.",[100,2593,2594,2601,2608,2615,2622,2629,2636,2639,2646,2649],{},[103,2595,2596,2597],{},"Nhấp vào 'Create new application' để tạo ứng dụng đầu tiên.\n",[124,2598],{"alt":2599,"src":2600},"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",[103,2602,2603,2604],{},"Chọn 'Self-hosted and private'.\n",[124,2605],{"alt":2606,"src":2607},"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",[103,2609,2610,2611],{},"Nhập tên miền (domain) của NodeWarden.\n",[124,2612],{"alt":2613,"src":2614},"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",[103,2616,2617,2618],{},"Nhấp vào 'Create new policy' để tạo một chính sách.\n",[124,2619],{"alt":2620,"src":2621},"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",[103,2623,2624,2625],{},"Chọn 'Emails' và nhập một email vào mục 'Policy rules'.\n",[124,2626],{"alt":2627,"src":2628},"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",[103,2630,2631,2632],{},"Nhập tên và chọn 'Allow' trong mục 'Policy details'.\n",[124,2633],{"alt":2634,"src":2635},"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",[103,2637,2638],{},"Nhấp 'Save Policy' để lưu chính sách.",[103,2640,2641,2642],{},"Nhập tên và chọn '1 month' trong phần 'Details'.\n",[124,2643],{"alt":2644,"src":2645},"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",[103,2647,2648],{},"Nhấp vào 'Create' để tạo ứng dụng.",[103,2650,2651,2654,2655],{},[52,2652,2653],{},"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",[124,2656],{"alt":2657,"src":2658},"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",[1433,2660,2662],{"id":2661},"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)",[45,2664,2665],{},"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.",[100,2667,2668,2678,2693,2698,2705,2712,2715,2722],{},[103,2669,2670,2671,2674,2675,576],{},"Quay lại phần Applications và nhấp vào ",[52,2672,2673],{},"Create new application",", chọn lại ",[52,2676,2677],{},"Self-hosted and private",[103,2679,2680,2681,2684,2685,2688,2689],{},"Nhập 'api\u002F",[119,2682,2683],{},"', 'identity\u002F","', 'notifications\u002F",[119,2686,2687],{},"' và 'icons\u002F","' vào phần Destinations.\n",[124,2690],{"alt":2691,"src":2692},"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",[103,2694,2695,2696],{},"Nhấp vào 'Create new policy' để tạo chính sách.\n",[124,2697],{"alt":2620,"src":2621},[103,2699,2700,2701],{},"Chọn 'Everyone' trong mục 'Policy rules'.\n",[124,2702],{"alt":2703,"src":2704},"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",[103,2706,2707,2708],{},"Nhập tên và chọn 'Bypass' trong mục 'Policy details'.\n",[124,2709],{"alt":2710,"src":2711},"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",[103,2713,2714],{},"Nhấp 'Save Policy' để lưu lại.",[103,2716,2717,2718],{},"Nhập tên và chọn '1 month' cho 'Session Duration'.\n",[124,2719],{"alt":2720,"src":2721},"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",[103,2723,2724,2725],{},"Bạn sẽ thấy có 2 ứng dụng đã được tạo thành công.\n",[124,2726],{"alt":2727,"src":2728},"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",[65,2730,926],{"id":925},[45,2732,2733],{},"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":486,"searchDepth":487,"depth":487,"links":2735},[2736,2737],{"id":2546,"depth":487,"text":2547},{"id":925,"depth":487,"text":926},"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":2743,"robots":516,"sitemap":2745},[2744],{"@type":515,"headline":2508,"description":2739},{"lastmod":2738},"\u002Fvi\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare",{"title":2508,"description":2739,"ogTitle":2508,"ogDescription":2739,"twitterTitle":2508,"twitterDescription":2739},"vi\u002Farticle\u002Fhow-to-secure-nodewarden-at-cloudflare","ANwPHG2X3YN4N5KzblULOTfXWVmJrMIqYgywBOjKPlk",{"id":2751,"title":2752,"author":40,"body":2753,"category":40,"date":3358,"description":3359,"extension":504,"image":3360,"imageAlt":3361,"isPublished":507,"meta":3362,"minRead":1665,"navigation":507,"path":3367,"seo":3368,"stem":3369,"__hash__":3370},"article\u002Fvi\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare.md","Cách tự host kho mật khẩu tương thích BitWarden",{"type":42,"value":2754,"toc":3347},[2755,2758,2764,2768,3000,3004,3023,3027,3053,3057,3087,3091,3118,3122,3165,3169,3205,3209,3212,3216,3245,3249,3272,3276,3279,3296,3301,3304,3307,3321,3325,3338,3342],[45,2756,2757],{},"Mật khẩu là tài sản kỹ thuật số quan trọng nhất của bạn, và giữ an toàn cho chúng đồng nghĩa với việc bạn phải tự mình kiểm soát. Bằng cách tự host (self-host) trình quản lý mật khẩu của mình, bạn sẽ làm chủ hoàn toàn bảo mật của bản thân.",[45,2759,2760,2763],{},[52,2761,2762],{},"BitWarden"," được đánh giá rộng rãi là một trong những giải pháp đáng tin cậy nhất trong lĩnh vực quản lý mật khẩu và mã nguồn của nó được phát hành theo giấy phép AGPL-3.0. Một máy chủ không chính thức tương thích với BitWarden là NodeWarden, được viết bằng Typescript và có thể được triển khai (deploy) miễn phí trên nền tảng Cloudflare.",[1433,2765,2767],{"id":2766},"so-sánh-tính-năng-với-máy-chủ-bitwarden-chính-thức","So sánh tính năng với Máy chủ BitWarden Chính thức",[2769,2770,2771,2830],"table",{},[2772,2773,2774],"thead",{},[2775,2776,2777,2792,2804,2817],"tr",{},[2778,2779,2780],"th",{},[52,2781,2782,2785,2787,2788,2790],{},[2783,2784],"br",{},[2783,2786],{},"Tính năng",[2783,2789],{},[2783,2791],{},[2778,2793,2794],{},[52,2795,2796,2798,2762,2800,2802],{},[2783,2797],{},[2783,2799],{},[2783,2801],{},[2783,2803],{},[2778,2805,2806],{},[52,2807,2808,2810,2812,2813,2815],{},[2783,2809],{},[2783,2811],{},"NodeWarden",[2783,2814],{},[2783,2816],{},[2778,2818,2819],{},[52,2820,2821,2823,2825,2826,2828],{},[2783,2822],{},[2783,2824],{},"Ghi chú",[2783,2827],{},[2783,2829],{},[2831,2832,2833,2850,2865,2877,2889,2905,2922,2937,2952,2964,2976,2989],"tbody",{},[2775,2834,2835,2839,2842,2844],{},[2836,2837,2838],"td",{},"Web Vault (Kho lưu trữ Web)",[2836,2840,2841],{},"✅",[2836,2843,2841],{},[2836,2845,2846,2849],{},[52,2847,2848],{},"Giao diện Web Vault nguyên bản","​",[2775,2851,2852,2858,2860,2862],{},[2836,2853,2854,2855],{},"Đồng bộ hóa đầy đủ ",[272,2856,2857],{},"\u002Fapi\u002Fsync",[2836,2859,2841],{},[2836,2861,2841],{},[2836,2863,2864],{},"Tối ưu hóa tính tương thích cho các client chính thức",[2775,2866,2867,2870,2872,2874],{},[2836,2868,2869],{},"Upload \u002F tải xuống tệp đính kèm",[2836,2871,2841],{},[2836,2873,2841],{},[2836,2875,2876],{},"Cloudflare R2 hoặc KV",[2775,2878,2879,2882,2884,2886],{},[2836,2880,2881],{},"Send (Gửi)",[2836,2883,2841],{},[2836,2885,2841],{},[2836,2887,2888],{},"Hỗ trợ Send cả dạng văn bản và tệp",[2775,2890,2891,2894,2896,2898],{},[2836,2892,2893],{},"Nhập \u002F Xuất (Import\u002FExport)",[2836,2895,2841],{},[2836,2897,2841],{},[2836,2899,2900,2901,2904],{},"Hỗ trợ nhập (import) JSON \u002F CSV \u002F ",[52,2902,2903],{},"ZIP kèm tệp đính kèm","​ của BitWarden",[2775,2906,2907,2912,2915,2917],{},[2836,2908,2909,2849],{},[52,2910,2911],{},"Trung tâm Sao lưu Đám mây",[2836,2913,2914],{},"❌",[2836,2916,2841],{},[2836,2918,2919,2849],{},[52,2920,2921],{},"Sao lưu định kỳ lên WebDAV \u002F S3",[2775,2923,2924,2927,2930,2932],{},[2836,2925,2926],{},"Gợi ý mật khẩu (web)",[2836,2928,2929],{},"⚠️ Hạn chế",[2836,2931,2841],{},[2836,2933,2934,2849],{},[52,2935,2936],{},"Không yêu cầu email",[2775,2938,2939,2942,2944,2946],{},[2836,2940,2941],{},"TOTP \u002F Steam TOTP",[2836,2943,2841],{},[2836,2945,2841],{},[2836,2947,2948,2949],{},"Bao gồm hỗ trợ ",[272,2950,2951],{},"steam:\u002F\u002F",[2775,2953,2954,2957,2959,2961],{},[2836,2955,2956],{},"Nhiều người dùng (Multi-user)",[2836,2958,2841],{},[2836,2960,2841],{},[2836,2962,2963],{},"Đăng ký theo hình thức thư mời",[2775,2965,2966,2969,2971,2973],{},[2836,2967,2968],{},"Tổ chức \u002F Bộ sưu tập \u002F Phân quyền",[2836,2970,2841],{},[2836,2972,2914],{},[2836,2974,2975],{},"Chưa được triển khai",[2775,2977,2978,2981,2983,2986],{},[2836,2979,2980],{},"Đăng nhập 2FA",[2836,2982,2841],{},[2836,2984,2985],{},"⚠️ Một phần",[2836,2987,2988],{},"Hiện tại chỉ hỗ trợ TOTP cấp người dùng",[2775,2990,2991,2994,2996,2998],{},[2836,2992,2993],{},"SSO \u002F SCIM \u002F Danh bạ doanh nghiệp",[2836,2995,2841],{},[2836,2997,2914],{},[2836,2999,2975],{},[361,3001,3003],{"id":3002},"những-gì-chúng-ta-cần","Những gì chúng ta cần:",[100,3005,3006,3011,3017],{},[103,3007,3008],{},[52,3009,3010],{},"Một tài khoản GitHub",[103,3012,3013,3016],{},[52,3014,3015],{},"Một tài khoản Cloudflare"," (Miễn phí) đã kích hoạt Cloudflare R2 Storage.",[103,3018,3019,3022],{},[119,3020,3021],{},"Tùy chọn:"," Một tên miền tùy chỉnh (custom domain) được quản lý trong Cloudflare.",[361,3024,3026],{"id":3025},"giai-đoạn-1-chuẩn-bị-code","Giai đoạn 1: Chuẩn bị Code",[100,3028,3029,3046],{},[103,3030,3031,3032,3036,3037,3041,3042],{},"Fork kho lưu trữ NodeWarden từ ",[465,3033,3034],{"href":3034,"rel":3035},"https:\u002F\u002Fgithub.com\u002FTech-Voyage-Dev\u002Fnodewarden",[469]," hoặc kho lưu trữ gốc ",[465,3038,3039],{"href":3039,"rel":3040},"https:\u002F\u002Fgithub.com\u002Fshuaiplus\u002Fnodewarden",[469]," trên GitHub.\n",[124,3043],{"alt":3044,"src":3045},"Fork kho lưu trữ NodeWarden trên GitHub","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Ffork-nodewarden-repo.webp",[103,3047,3048,3049],{},"Bật Workflow \"Sync Upstream\".\n",[124,3050],{"alt":3051,"src":3052},"Bật quy trình Sync Upstream trong GitHub Actions","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fenable-sync-upstream.webp",[361,3054,3056],{"id":3055},"giai-đoạn-2-triển-khai-deploy-lên-cloudflare","Giai đoạn 2: Triển khai (Deploy) lên Cloudflare",[100,3058,3059,3068,3081],{},[103,3060,3061,3062,3064],{},"Tạo một ứng dụng Worker trong Cloudflare.",[2783,3063],{},[124,3065],{"alt":3066,"src":3067},"Tạo ứng dụng Worker mới trong bảng điều khiển Cloudflare","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fcreate-cloudflare-worker.webp",[103,3069,3070,3071,3073,3077],{},"Chọn 'Continue with GitHub' để deploy ứng dụng.",[2783,3072],{},[124,3074],{"alt":3075,"src":3076},"Triển khai ứng dụng NodeWarden bằng cách kết nối với GitHub","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fdeploy-github-repo.webp",[124,3078],{"alt":3079,"src":3080},"Tiến trình xây dựng và triển khai Cloudflare Worker","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-deploy-status.webp",[103,3082,3083,3084,576],{},"Chờ một vài phút để Cloudflare build và deploy ứng dụng của bạn. Nó sẽ cung cấp cho bạn một URL mặc định có đuôi ",[272,3085,3086],{},"worker.dev",[361,3088,3090],{"id":3089},"tùy-chọn-thêm-tên-miền-tùy-chỉnh","(Tùy chọn) Thêm Tên miền Tùy chỉnh:",[136,3092,3093,3099,3105],{},[103,3094,3095,3096,576],{},"Trong cài đặt Cloudflare Worker của bạn, hãy vào tab ",[52,3097,3098],{},"Settings",[103,3100,3101,3102,576],{},"Nhấp vào ",[52,3103,3104],{},"+ Add",[103,3106,3107,3108,3110,3114],{},"Nhập tên miền bạn muốn và làm theo hướng dẫn.",[2783,3109],{},[124,3111],{"alt":3112,"src":3113},"Điều hướng đến cài đặt tên miền tùy chỉnh trong Cloudflare Worker","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fworker-settings-custom-domain.webp",[124,3115],{"alt":3116,"src":3117},"Thêm tên miền tùy chỉnh vào Cloudflare Worker","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fadd-custom-domain.webp",[361,3119,3121],{"id":3120},"giai-đoạn-3-bảo-mật-máy-chủ-của-bạn-khóa-bảo-mật-jwt","Giai đoạn 3: Bảo mật Máy chủ của bạn (Khóa bảo mật JWT)",[100,3123,3124,3127,3139,3159],{},[103,3125,3126],{},"Mở trình duyệt web và nhập tên miền tùy chỉnh của bạn hoặc tên miền 'worker.dev' vừa được tạo.",[103,3128,3129,3130,576,3133,3135],{},"Bạn sẽ nhận được thông báo '",[52,3131,3132],{},"JWT_SECRET is missing'",[2783,3134],{},[124,3136],{"alt":3137,"src":3138},"Thông báo lỗi JWT_SECRET is missing trên máy chủ NodeWarden","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fjwt-secret-missing-error.webp",[103,3140,3141,3142,3144,3145,3148,3149,3151,3155],{},"Sao chép secret key (khóa bí mật) được tạo ra và quay lại tab Settings trên NodeWarden Worker của bạn, sau đó nhấp vào nút '",[52,3143,3104],{},"' trong phần '",[52,3146,3147],{},"Variables and Secrets","'.",[2783,3150],{},[124,3152],{"alt":3153,"src":3154},"Phần Biến và Bí mật trong cài đặt Cloudflare Worker","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fworker-variables-secrets.webp",[124,3156],{"alt":3157,"src":3158},"Thêm bí mật JWT đã tạo vào các biến Cloudflare Worker","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fadd-jwt-secret.webp",[103,3160,3161,3162,3148],{},"Dán chuỗi bí mật vừa tạo vào và nhấp vào nút '",[52,3163,3164],{},"Deploy \u002F Save",[361,3166,3168],{"id":3167},"giai-đoạn-4-tạo-tài-khoản-admin-của-bạn","Giai đoạn 4: Tạo Tài khoản Admin của bạn",[100,3170,3171,3180,3193,3202],{},[103,3172,3173,3174,3176],{},"Quay lại trình duyệt web và tải lại (refresh) trang, bạn sẽ thấy trang đăng nhập như sau.",[2783,3175],{},[124,3177],{"alt":3178,"src":3179},"Trang đăng nhập máy chủ NodeWarden","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fnodewarden-login.webp",[103,3181,3182,3183,3186,3187,3189],{},"Nhấp vào '",[52,3184,3185],{},"Create Account","' để tạo tài khoản quản trị (admin).",[2783,3188],{},[124,3190],{"alt":3191,"src":3192},"Nhấp vào nút Create Account trên trang đăng nhập NodeWarden","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fcreate-account-button.webp",[103,3194,3195,3196,3198],{},"Đăng nhập vào bảng điều khiển (Dashboard) bằng tài khoản admin vừa được tạo.",[2783,3197],{},[124,3199],{"alt":3200,"src":3201},"Tổng quan về bảng điều khiển quản trị NodeWarden","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fnodewarden-dashboard.webp",[103,3203,3204],{},"Bây giờ máy chủ của chúng ta đã được deploy và đang hoạt động. Chúng ta sẽ bắt đầu thiết lập các client BitWarden.",[361,3206,3208],{"id":3207},"giai-đoạn-5-kết-nối-các-thiết-bị-của-bạn","Giai đoạn 5: Kết nối Các Thiết bị của bạn",[45,3210,3211],{},"Bạn có thể sử dụng các ứng dụng BitWarden chính thức trên tất cả thiết bị của mình.",[361,3213,3215],{"id":3214},"tiện-ích-mở-rộng-trên-chrome","Tiện ích mở rộng trên Chrome",[100,3217,3218,3221,3224,3233,3242],{},[103,3219,3220],{},"Cài đặt tiện ích mở rộng BitWarden cho Chrome.",[103,3222,3223],{},"Mở tiện ích mở rộng lên.",[103,3225,3226,3227,3229],{},"Nhấp vào đường link bên cạnh chữ 'Accessing:' ở dưới cùng của cửa sổ popup.",[2783,3228],{},[124,3230],{"alt":3231,"src":3232},"Chọn tùy chọn tự lưu trữ trong tiện ích mở rộng Bitwarden Chrome","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fbitwarden-extension-self-hosted.webp",[103,3234,3235,3236,3238],{},"Nhập tên miền của máy chủ NodeWarden của bạn vào.",[2783,3237],{},[124,3239],{"alt":3240,"src":3241},"Nhập URL máy chủ trong tiện ích mở rộng Bitwarden Chrome","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fbitwarden-extension-domain.webp",[103,3243,3244],{},"Lưu các cài đặt và đăng nhập bằng tài khoản của bạn.",[1433,3246,3248],{"id":3247},"ứng-dụng-ios","Ứng dụng iOS",[100,3250,3251,3254,3263],{},[103,3252,3253],{},"Cài đặt ứng dụng BitWarden từ App Store.",[103,3255,3256,3257,3259],{},"Mở ứng dụng và nhấp vào '' bên cạnh phần 'Logging in on:'.",[2783,3258],{},[124,3260],{"alt":3261,"src":3262},"Truy cập cài đặt tự lưu trữ trong ứng dụng Bitwarden iOS","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fbitwarden-ios-self-hosted.webp",[103,3264,3265,3266,3268],{},"Nhập tên miền của máy chủ NodeWarden và nhấp vào nút '✓'.",[2783,3267],{},[124,3269],{"alt":3270,"src":3271},"Cấu hình URL máy chủ trong ứng dụng Bitwarden iOS","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fbitwarden-ios-domain.webp",[361,3273,3275],{"id":3274},"các-client-khác","Các Client Khác",[45,3277,3278],{},"NodeWarden đã được thử nghiệm và xác nhận tương thích với các client BitWarden chính thức sau:",[136,3280,3281,3284,3287,3290,3293],{},[103,3282,3283],{},"✅ Windows desktop",[103,3285,3286],{},"✅ Ứng dụng di động Android\u002FiOS",[103,3288,3289],{},"✅ Tiện ích mở rộng trình duyệt",[103,3291,3292],{},"✅ Linux desktop",[103,3294,3295],{},"⚠️ macOS desktop (chưa xác minh hoàn toàn)",[3297,3298,3300],"h1",{"id":3299},"sao-lưu-kho-lưu-trữ-vault-backup","Sao lưu Kho lưu trữ (Vault Backup)",[45,3302,3303],{},"NodeWarden cho phép bạn sao lưu vault của mình vào một máy tính cục bộ hoặc lưu trữ từ xa (remote storage hỗ trợ S3 hoặc WebDAV).",[45,3305,3306],{},"Để tự động hóa sao lưu từ xa:",[136,3308,3309,3312],{},[103,3310,3311],{},"Cấu hình thông tin lưu trữ từ xa ngay trong bảng điều khiển của NodeWarden.",[103,3313,3314,3315,3317],{},"Đảm bảo rằng Cron task đã được thiết lập trên cài đặt của Cloudflare Worker để tự động sao lưu từ xa.",[2783,3316],{},[124,3318],{"alt":3319,"src":3320},"Cấu hình trình kích hoạt Cron để sao lưu kho tiền tự động trong Cloudflare","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Fcloudflare-worker-cron.webp",[3297,3322,3324],{"id":3323},"lưu-ý-bảo-mật-cuối-cùng","Lưu ý Bảo mật Cuối cùng",[136,3326,3327,3330,3333],{},[103,3328,3329],{},"Bảo mật quyền truy cập vào tài khoản Cloudflare của bạn, nếu không dữ liệu có thể bị đánh cắp. Hãy kích hoạt Xác thực Hai Yếu tố (2FA) hoặc Passkey trên tài khoản Cloudflare của bạn ngay lập tức.",[103,3331,3332],{},"Hãy host NodeWarden trên một tài khoản Cloudflare chuyên dụng. Không chia sẻ tài nguyên với các ứng dụng web khác để giảm thiểu các rủi ro về mặt an ninh.",[103,3334,3335],{},[465,3336,3337],{"href":10},"Bảo mật NodeWarden với Cloudflare",[3297,3339,3341],{"id":3340},"tham-khảo","Tham khảo",[136,3343,3344],{},[103,3345,3346],{},"Hướng dẫn Bắt đầu NodeWarden Chính thức",{"title":486,"searchDepth":487,"depth":487,"links":3348},[3349,3350,3351,3352,3353,3354,3355,3356,3357],{"id":3002,"depth":496,"text":3003},{"id":3025,"depth":496,"text":3026},{"id":3055,"depth":496,"text":3056},{"id":3089,"depth":496,"text":3090},{"id":3120,"depth":496,"text":3121},{"id":3167,"depth":496,"text":3168},{"id":3207,"depth":496,"text":3208},{"id":3214,"depth":496,"text":3215},{"id":3274,"depth":496,"text":3275},"2026-05-25","Mật khẩu là tài sản kỹ thuật số quan trọng nhất của bạn, và giữ an toàn cho chúng đồng nghĩa với việc bạn phải tự mình kiểm soát.","https:\u002F\u002Finimages.techvoyage.dev\u002Farticles\u002FSelf%20hosting%20NodeWarden%20at%20Cloudflare\u002Ftu-host-may-chu-bitwarden.webp","Thumbnail hướng dẫn tự host máy chủ tương thích BitWarden, hiển thị két sắt kỹ thuật số và tủ máy chủ bảo mật.",{"schemaOrg":3363,"robots":516,"sitemap":3366},[3364],{"@type":515,"headline":3365,"description":3359},"Cách bảo mật mật khẩu trong kho lưu trữ riêng bằng cách tự host máy chủ tương thích BitWarden",{"lastmod":3358},"\u002Fvi\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare",{"title":3365,"description":3359,"ogTitle":3365,"ogDescription":3359,"twitterTitle":3365,"twitterDescription":3359},"vi\u002Farticle\u002Fself-hosting-nodewarden-at-cloudflare","Sz_ZV4VEDrf2LiTjgg5PqoqIhvdoIdz5W_mMCwtqSLQ",1781435115650]