Blog

Kỹ năng Hermes Agent: Cài đặt và tự tạo kỹ năng

Markdown

Thư mục và GitHub, định dạng SKILL.md, /learn, cách kiểm tra, cập nhật và gỡ kỹ năng Hermes Agent với các ví dụ lệnh đầy đủ.

Đọc toàn bộ bài viết

Kỹ năng là một chỉ dẫn được lưu cho tác nhân: bạn mô tả cách thực hiện một tác vụ một lần, từ đó Hermes sẽ áp dụng chỉ dẫn ấy khi bạn gọi /skill-name, không cần giải thích lặp lại. Bạn có thể cài đặt một kỹ năng có sẵn bằng một lệnh, và tự tạo kỹ năng theo hai cách: viết SKILL.md thủ công hoặc dùng /learn.

Nếu chưa cài đặt Hermes, hãy bắt đầu với hướng dẫn tác nhân này là gì và cách cài đặt, rồi chuyển sang phần kỹ năng.

Hướng dẫn thực hành cách sử dụng Ailoot có trong tài liệu.

Kỹ năng trong Hermes Agent là gì?

Điểm chính

Kỹ năng là một tệp chứa chỉ dẫn cho tác nhân: cần làm gì, sử dụng lệnh nào, cần chú ý điều gì và những lỗi nào thường xảy ra. Tệp được lưu trong thư mục ~/.hermes/skills/ dưới dạng SKILL.md, cùng với các tài liệu đi kèm. Sau khi cài đặt, kỹ năng tự động trở thành lệnh /name trong mọi cuộc trò chuyện với tác nhân.

Bạn viết một lời nhắc trong tin nhắn gửi tác nhân. Kỹ năng được lưu trong một tệp riêng, và Hermes có thể sử dụng chỉ dẫn đó cho các tác vụ sau này. Tác nhân có quyền truy cập vào danh sách tên và mô tả, đồng thời tải toàn bộ nội dung kỹ năng khi nội dung đó phù hợp với tác vụ. Cách này tiết kiệm không gian ngữ cảnh: không phải tải tất cả chỉ dẫn cùng lúc.

Bản thân kỹ năng không cấp cho tác nhân công cụ hoặc quyền truy cập mới; nó mô tả cách sử dụng những công cụ mà tác nhân đã có. Tích hợp mới với dịch vụ bên ngoài được xử lý qua MCP, một chủ đề riêng. Nếu tác vụ yêu cầu logic chương trình chính xác, quyền hạn đặc biệt hoặc xử lý luồng sự kiện, thì cần có công cụ dành cho tác nhân; chỉ kỹ năng thôi là chưa đủ.

Hãy chọn kỹ năng có sẵn cho một tác vụ tiêu chuẩn nếu chỉ dẫn của kỹ năng phù hợp và nguồn đã được kiểm tra. Tự viết kỹ năng khi bạn cần lưu lại trình tự thao tác, các ràng buộc và định dạng đầu ra riêng. Hãy dùng /learn nếu bạn đã có tài liệu hoặc vừa hoàn thành một quy trình và không muốn tự viết tệp.

Kỹ năng là các tài liệu chứa thông tin mà tác nhân cần và chỉ tải khi cần thiết.

— Tài liệu Hermes Agent (dịch từ tiếng Anh), https://hermes-agent.nousresearch.com/docs/user-guide/features/skills

Định dạng này mở và tương thích với đặc tả Agent Skills, vì vậy kỹ năng từ các danh mục khác thường hoạt động trong Hermes mà không cần thay đổi định dạng, dù một kỹ năng cụ thể có thể yêu cầu công cụ hoặc khóa riêng. Bạn cũng có thể chia sẻ kỹ năng của mình nếu muốn.

Những kỹ năng nào đã được cài đặt và chúng được lưu ở đâu?

Điểm chính

Theo mặc định, kỹ năng được lưu trong thư mục ~/.hermes/skills/ và sắp xếp theo các thư mục con theo danh mục (nếu bạn dùng hồ sơ không chuẩn hoặc biến HERMES_HOME, đường dẫn sẽ khác; hermes config path sẽ hiển thị đường dẫn đó). Sau khi cài đặt, Hermes đã có hàng chục kỹ năng tích hợp sẵn, từ tìm kiếm arXiv đến làm việc với GitHub và tài liệu. Lệnh hermes skills list hiển thị danh sách, và bạn có thể hỏi tác nhân trong cuộc trò chuyện xem nó có những kỹ năng nào.

Thư mục được sắp xếp như sau:

~/.hermes/skills/
├── research/
│   └── arxiv/
│       ├── SKILL.md
│       └── scripts/
├── productivity/
│   └── pdf/
│       ├── SKILL.md
│       └── references/
└── .hub/

SKILL.md là tệp duy nhất bắt buộc. Mọi thứ khác được thêm khi cần: references/ chứa tài liệu dài hơn, scripts/ chứa chương trình hỗ trợ, còn templates/ và assets/ chứa mẫu và tệp.

Danh mục tích hợp sẵn có các kỹ năng cho công việc hằng ngày: tìm GIF, làm việc với PDF, bảng tính, YouTube, GitHub và ghi chú. Danh sách đầy đủ kèm mô tả có trên trang danh mục kỹ năng tích hợp sẵn. Mỗi khi chạy hermes update, Hermes cũng cập nhật các kỹ năng tích hợp sẵn đồng thời giữ lại những thay đổi bạn đã thực hiện.

Cài đặt kỹ năng có sẵn từ danh mục như thế nào?

Điểm chính

Mở danh mục bằng hermes skills browse, tìm nội dung cần thiết bằng hermes skills search, xem thẻ kỹ năng bằng hermes skills inspect và cài đặt bằng hermes skills install. Mỗi kỹ năng đều được kiểm tra bảo mật trước khi cài đặt, và kỹ năng chính thức không làm xuất hiện cảnh báo về nguồn bên thứ ba.

  1. Tìm trong danh mục

    hermes skills search pdf
    

    Tìm kiếm trên tất cả nguồn đã kết nối. Để xem toàn bộ danh mục mà không lọc, hãy chạy hermes skills browse.

  2. Xem thẻ kỹ năng

    hermes skills inspect skills-sh/anthropics/skills/pdf
    

    Thẻ hiển thị mô tả, nguồn và mức độ tin cậy. Đừng cài đặt kỹ năng của người khác nếu chưa đọc thẻ của kỹ năng đó.

  3. Cài đặt kỹ năng

    hermes skills install skills-sh/anthropics/skills/pdf
    

    Hermes tải SKILL.md và các tệp đi kèm, kiểm tra bảo mật rồi đặt tất cả vào ~/.hermes/skills/. Kỹ năng có thể dùng ngay dưới dạng lệnh /pdf. Nếu kỹ năng cần thêm công cụ hoặc khóa, chúng sẽ được liệt kê trong SKILL.md và Hermes sẽ thông báo cho bạn trong quá trình cài đặt.

Kiểm tra bảo mật tìm các hành vi cố gửi dữ liệu ra bên ngoài, chỉ dẫn được chèn vào cho tác nhân và lệnh có thể xóa hoặc làm hỏng tệp. Các nguồn có mức độ tin cậy khác nhau:

Mức độNguồn kỹ năngĐiều gì xảy ra khi cài đặt
Tích hợp sẵnĐược đưa vào HermesĐã có sẵn; không cần cài đặt
Chính thứcThư mục optional-skills trong kho lưu trữ HermesCài đặt mà không có cảnh báo về nguồn bên thứ ba: hermes skills install official/security/1password
Đáng tin cậyCác kho lưu trữ openai/skills, anthropics/skills, huggingface/skills và NVIDIA/skillsKiểm tra ít nghiêm ngặt hơn
KhácDanh mục, kho GitHub của người khác, liên kết trực tiếpCó cảnh báo và kiểm tra đầy đủ

Nếu kiểm tra đưa ra cảnh báo, bạn có thể tiếp tục cài đặt bằng cờ --force, nhưng trước tiên hãy đọc rủi ro mà hệ thống phát hiện. Không thể bỏ qua kết luận “nguy hiểm”. Bản thân việc kiểm tra không đảm bảo an toàn: trước khi chạy kỹ năng của người khác lần đầu, hãy đọc chỉ dẫn và các lệnh đi kèm.

Cài đặt kỹ năng từ GitHub hoặc liên kết như thế nào?

Điểm chính

Cài đặt kỹ năng từ GitHub bằng hermes skills install owner/repository/path hoặc dùng liên kết trực tiếp đến tệp SKILL.md; Hermes sẽ tải các tệp đi kèm. Bạn có thể kết nối nguồn kỹ năng của riêng mình bằng hermes skills tap add, sau đó nguồn này hoạt động như mọi danh mục khác.

Có ba cách cài đặt:

# 1. A specific skill from a GitHub repository (the path inside the repository comes after its name)
hermes skills install anthropics/skills/skills/pdf

# 2. A direct link to a SKILL.md on any site (share this skill in a chat)
hermes skills install '<OFFICIAL_URL>'

# 3. Connect an entire repository as a source (replace with your owner and repository)
hermes skills tap add myorg/skills-repo
hermes skills install myorg/skills-repo/deploy-runbook

Với liên kết trực tiếp, Hermes tải SKILL.md và chỉ tải các tệp được nhắc đến trong đó từ những thư mục dịch vụ; Hermes không tải các tệp không liên quan khác trên trang web. Liên kết được ghi nhớ như một nguồn, và hermes skills update sẽ cập nhật kỹ năng sau này từ cùng địa chỉ đó.

Ngoài GitHub, có thể kết nối các danh mục kỹ năng bên ngoài. Bạn có thể tìm kỹ năng từ những danh mục đó bằng cùng lệnh hermes skills search, đồng thời chỉ định nguồn.

Lưu ý

GitHub giới hạn các yêu cầu chưa xác thực ở mức 60 yêu cầu mỗi giờ. Nếu gặp lỗi giới hạn tốc độ khi cài đặt hoặc tìm kiếm, hãy thêm GITHUB_TOKEN vào tệp ~/.hermes/.env; giới hạn sẽ tăng lên 5000 yêu cầu mỗi giờ.

Sử dụng kỹ năng sau khi cài đặt như thế nào?

Điểm chính

Kỹ năng đã cài đặt tự động trở thành một lệnh: nhập /skill-name và tác vụ trên cùng một dòng. Không cần kích hoạt riêng. Kỹ năng hoạt động trong thiết bị đầu cuối, giao diện web và ứng dụng nhắn tin thông qua gateway. Bạn có thể gọi tối đa năm kỹ năng trong một tin nhắn, hoặc biến một tổ hợp thường dùng thành một lệnh.

Nhập các lệnh hermes ... trong thiết bị đầu cuối, còn lệnh gọi /skill-name thì nhập trong cuộc trò chuyện với tác nhân (trong cùng thiết bị đầu cuối, giao diện web hoặc ứng dụng nhắn tin):

/gif-search funny cats
/github-pr-workflow create a PR for the authorization rewrite

Nếu nhập /skill-name mà không kèm tác vụ, Hermes sẽ tải chỉ dẫn rồi hỏi bạn muốn nó làm gì. Bạn có thể gọi nhiều kỹ năng trên một dòng, tối đa năm kỹ năng; phần văn bản còn lại sẽ trở thành tác vụ:

/github-pr-workflow /test-driven-development close issue 123 and open a PR

Với các tổ hợp bạn thường xuyên sử dụng, có các nhóm kỹ năng, trong thuật ngữ của Hermes gọi là bundles: hermes bundles create backend-dev --skill github-pr-workflow --skill test-driven-development gom nhiều kỹ năng vào một lệnh ngắn /backend-dev. Nhóm này hoạt động như một bí danh; các kỹ năng trong nhóm phải được cài đặt trước.

Lệnh gạch chéo cũng hoạt động trong Telegram nếu gateway đã kết nối; hướng dẫn thiết lập nằm trong bài cách kết nối Hermes Agent với Telegram. Đây cũng là cách tiện lợi để chạy kỹ năng trên điện thoại.

Tự tạo kỹ năng như thế nào: cần viết gì trong SKILL.md?

Điểm chính

Kỹ năng của riêng bạn là một thư mục trong ~/.hermes/skills/ với một tệp bắt buộc là SKILL.md: phần đầu ngắn có tên và mô tả, tiếp theo là các chỉ dẫn được chia thành từng mục—khi nào dùng, trình tự thao tác, lỗi thường gặp và cách xác minh. Tệp được viết bằng văn bản thuần; không cần lập trình. Với một phiên bản đơn giản, chỉ cần một thư mục và một tệp.

Kỹ năng là cách chính để bổ sung khả năng mới cho Hermes Agent: chúng dễ tạo hơn công cụ, không yêu cầu sửa mã của tác nhân và có thể chia sẻ với cộng đồng.

— Tài liệu Hermes Agent (dịch từ tiếng Anh), https://hermes-agent.nousresearch.com/docs/developer-guide/creating-skills

Bạn có thể sao chép kỹ năng này rồi điều chỉnh cho phù hợp với mình:

---
name: weekly-review
description: Weekly review: what got done, what stalled, plan for next week
version: 1.0.0
metadata:
  hermes:
    tags: [planning, review]
---

# Weekly review

## When to Use
When the user asks to review the week or put together a plan for the next one.

## Procedure
1. Get the week's task list from the file the user provided, or ask them for it.
2. Sort the tasks into three groups: done, stalled, and new.
3. Name three priorities for the coming week.

## Pitfalls
- Don't invent tasks that aren't in the original list.

## Verification
Ask the user to confirm that the tasks are correctly sorted into “done,” “stalled,” and “new.”

Phần đầu nằm giữa ba dấu gạch ngang là siêu dữ liệu. Các trường chính là name (viết bằng chữ cái Latin, các từ được ngăn cách bằng dấu gạch nối và dùng để gọi kỹ năng dưới dạng lệnh) và description. Tác nhân dùng trường mô tả để quyết định kỹ năng có phù hợp với tác vụ hiện tại và nên được tải hay không. Nếu mô tả mơ hồ, kỹ năng có thể không được tải khi cần.

Sau phần đầu là các mục chỉ dẫn. When to Use nêu thời điểm tải kỹ năng. Procedure đưa ra các bước. Pitfalls đề cập những lỗi tác nhân thường mắc và cách tránh. Verification giải thích cách kiểm tra kết quả. Nếu chỉ dẫn dài, hãy chuyển nội dung chính vào các tệp trong references/; chúng chỉ được tải khi cần, còn chương trình hỗ trợ thì đặt trong scripts/.

Mẹo

Đặt tình huống thường gặp nhất ở đầu tệp và các trường hợp hiếm ở cuối. Hermes đọc kỹ năng từ trên xuống dưới; thứ tự này giúp tiết kiệm không gian ngữ cảnh.

Nếu kỹ năng cần khóa API, hãy khai báo trong phần đầu bằng required_environment_variables; không đặt chính khóa đó trong tệp, chỉ khai báo tên biến. Hermes sẽ hỏi giá trị một lần khi gọi đầu tiên trong thiết bị đầu cuối cục bộ, rồi tự động cung cấp giá trị đó (trong ứng dụng nhắn tin, Hermes sẽ nhắc bạn cấu hình khóa tại máy). Các trường platforms, config, blueprint và những trường khác được mô tả trên trang tài liệu chính thức Creating Skills.

Khi đã chuẩn bị xong tệp, hãy làm theo các bước sau:

  1. Tạo thư mục kỹ năng

    mkdir -p ~/.hermes/skills/weekly-review
    

    Tên thư mục trùng với trường name trong phần đầu.

  2. Lưu SKILL.md

    Đặt tệp tên SKILL.md chứa chỉ dẫn vào thư mục; bạn có thể dùng ví dụ phía trên rồi viết lại cho tác vụ của mình.

  3. Gọi và kiểm tra kỹ năng

    Nhập /weekly-review và yêu cầu tác nhân đánh giá tuần của bạn. Nếu tác nhân làm theo các bước trong chỉ dẫn, kỹ năng hoạt động đúng.

Tạo kỹ năng từ tài liệu có sẵn bằng /learn như thế nào?

Điểm chính

Lệnh /learn tạo kỹ năng từ tài liệu có sẵn: cung cấp cho lệnh này một thư mục tài liệu, liên kết trang, ghi chú của bạn hoặc mô tả bằng lời về một quy trình, rồi Hermes sẽ viết SKILL.md theo các quy ước được chấp nhận để bạn xem lại. Sách hoặc kho lưu trữ lớn sẽ tạo ra kỹ năng có các tệp riêng theo từng chủ đề.

/learn documentation for the demo API in ~/projects/example-docs, especially the section on authentication
/learn https://hermes-agent.nousresearch.com/docs/user-guide/features/skills
/learn how I just published a site to hosting

Nếu vừa hoàn thành một quy trình phức tạp cùng tác nhân, hãy yêu cầu /learn lưu quy trình đó thành kỹ năng khi các bước vẫn còn trong cuộc trò chuyện. Lần sau, Hermes sẽ lặp lại quy trình bằng chỉ dẫn đã chuẩn bị sẵn.

Nguồn lớn như sách, đặc tả hoặc kho lưu trữ tài liệu không thể chứa gọn trong một tệp. Hermes sẽ tạo SKILL.md cô đọng cùng bản đồ chủ đề và chuyển các chi tiết vào references/. Các tệp này không chiếm không gian ngữ cảnh cho đến khi tác nhân tải chúng để trả lời câu hỏi. Gọi lại /learn cho cùng chủ đề sẽ bổ sung vào kỹ năng hiện có thay vì tạo bản trùng lặp.

Kiểm tra kỹ năng có hoạt động không như thế nào?

Điểm chính

Để kiểm tra, hãy chạy hermes chat --toolsets skills -q và đưa cho tác nhân một yêu cầu liên quan đến kỹ năng, chẳng hạn yêu cầu đánh giá một tuần dựa trên danh sách công việc. Nếu tác nhân xếp các công việc vào các nhóm trong chỉ dẫn của bạn, kỹ năng hoạt động đúng. Nếu tác nhân trả lời như bình thường, hãy kiểm tra tên tệp, mô tả trong phần đầu và vị trí thư mục.

hermes chat --toolsets skills -q "review my week using the weekly-review skill: done - report and calls, stalled - hosting payment"

Đây là cách kiểm tra được tài liệu khuyến nghị: chạy kỹ năng và xác nhận tác nhân làm theo chỉ dẫn. Nếu không, hãy kiểm tra ba nguyên nhân có thể xảy ra. Thứ nhất, tên thư mục hoặc trường name trong phần đầu có thể không khớp với tên bạn gọi. Thứ hai, mô tả có thể chưa nêu rõ khi nào cần dùng kỹ năng; hãy viết lại mô tả bằng chính những từ ngữ của tác vụ. Thứ ba, thư mục có thể không nằm trong ~/.hermes/skills/, nên Hermes không tìm thấy. Lưu ý rằng cờ --toolsets skills giới hạn bộ công cụ dùng trong bài kiểm tra: cờ này cho thấy tác nhân làm việc với chỉ dẫn ra sao, nhưng không kiểm tra các phần phụ thuộc của kỹ năng, chẳng hạn chương trình bên ngoài.

Lệnh hermes skills list trong thiết bị đầu cuối hiển thị chính xác những gì đã cài đặt.

Cập nhật và gỡ kỹ năng như thế nào?

Điểm chính

hermes skills check cho biết những kỹ năng đã cài đặt nào được cập nhật ở nguồn, hermes skills update tải phiên bản mới và hermes skills uninstall name gỡ một kỹ năng. Những chỉnh sửa của bạn đối với kỹ năng của người khác được giữ lại khi cập nhật: Hermes bỏ qua các tệp đã thay đổi. Bạn có thể khôi phục bản gốc: với kỹ năng từ hub, dùng hermes skills update name --force; với kỹ năng tích hợp sẵn, dùng hermes skills reset name --restore.

hermes skills check      # what changed at the sources
hermes skills update     # download new versions
hermes skills uninstall pdf   # remove a skill from the hub

Để gỡ một kỹ năng bạn tự tạo, hãy xóa thư mục của kỹ năng đó khỏi ~/.hermes/skills/. Nếu bạn tùy chỉnh kỹ năng của người khác, update sẽ để nguyên kỹ năng đó: Hermes so sánh mã băm và bỏ qua các tệp đã thay đổi để tránh ghi đè công việc của bạn. Để khôi phục bản gốc của kỹ năng từ hub, dùng hermes skills update name --force; với kỹ năng tích hợp sẵn, dùng hermes skills reset name --restore. Cả hai lệnh đều ghi đè các thay đổi của bạn, vì vậy hãy lưu phiên bản của mình trước.

Nếu không cần kỹ năng tích hợp sẵn và chúng làm danh sách thêm rối, hermes skills opt-out sẽ tắt việc thêm chúng trong các lần cập nhật. Lệnh opt-out --remove cũng gỡ những kỹ năng bạn chưa chỉnh sửa.

Nên làm gì nếu không cài đặt được hoặc không dùng được kỹ năng?

Điểm chính

Ba vấn đề thường gây trở ngại nhất là giới hạn 60 yêu cầu mỗi giờ của GitHub, quá trình cài đặt bị kiểm tra bảo mật chặn và tệp được đặt sai thư mục. Nếu gặp giới hạn tốc độ, hãy thêm GITHUB_TOKEN. Nếu bước kiểm tra chặn cài đặt, hãy đọc kết luận. Nếu Hermes không tìm thấy kỹ năng, hãy kiểm tra xem kỹ năng có nằm trong ~/.hermes/skills/ không.

Triệu chứngNguyên nhânCách xử lý
Lỗi giới hạn tốc độ khi tìm kiếm hoặc cài đặtKhông có token, GitHub cho phép tối đa 60 yêu cầu mỗi giờThêm GITHUB_TOKEN vào ~/.hermes/.env
Cài đặt bị chặnQuá trình kiểm tra phát hiện rủi ro trong mã của kỹ năngĐọc kết quả kiểm tra khi cài đặt; để kiểm tra lại kỹ năng đã cài, chạy hermes skills audit. Nếu đó là cảnh báo, bạn có thể tiếp tục bằng --force; nếu kết luận là “nguy hiểm”, bạn không thể tiếp tục
Đã cài kỹ năng nhưng /name không hoạt độngTên không khớp hoặc thư mục đặt sai chỗChạy hermes skills list và kiểm tra thư mục ~/.hermes/skills/
Kỹ năng thậm chí không có trong danh sáchSKILL.md có giới hạn về nền tảng hoặc công cụ cần thiếtMở SKILL.md và kiểm tra các trường platforms và requires_*
Không tải được phiên bản kỹ năng mới sau khi cập nhậtBạn đã thay đổi tệp cục bộ và Hermes giữ lại các chỉnh sửa của bạnNếu cần bản gốc, dùng update name --force cho kỹ năng từ hub hoặc reset --restore cho kỹ năng tích hợp sẵn; nếu phiên bản của bạn quan trọng hơn thì không cần làm gì
Không tải được kỹ năng từ kho lưu trữ khácKho lưu trữ cần được đánh dấu là đáng tin cậyChạy hermes skills trust bên trong kho lưu trữ đó

Hermes tìm kỹ năng trong các thư mục .hermes/skills/ và .agents/skills/ bên trong một kho lưu trữ git. Trước khi tải chúng, bạn phải đánh dấu kho lưu trữ là đáng tin cậy: các tệp này chứa chỉ dẫn mà tác nhân sẽ làm theo. Sau đó, kỹ năng từ kho lưu trữ chỉ hoạt động bên trong kho đó và trải qua cùng một bước kiểm tra bảo mật. Bạn chỉ cần đánh dấu kho lưu trữ là đáng tin cậy một lần.

Nên bắt đầu từ đâu?

Điểm chính

Hãy cài đặt một kỹ năng có sẵn từ danh mục; việc cài đặt chỉ cần một lệnh. Sau đó, lấy một chỉ dẫn bạn thường xuyên lặp lại, đưa cho /learn và kiểm tra kết quả bằng một tác vụ thực tế trong công việc của bạn.

Tiếp theo về chủ đề này: cách kết nối Hermes Agent với Telegram để gọi kỹ năng từ điện thoại, và cách giữ tác nhân chạy trên máy chủ suốt ngày đêm nếu bạn muốn dùng kỹ năng theo lịch. Nếu đang chọn một tác nhân, hãy xem bài so sánh OpenClaw hay Hermes Agent.

Bạn có thể tiếp tục khám phá Ailoot tại ailoot.ai.

Xem thêm chi tiết

Câu hỏi thường gặp

Vì sao skill đã cài không hiện như slash command?

Xem danh sách skill, tên tệp SKILL.md, trường name và thư mục skill của profile đang dùng. Hạn chế nền tảng, công cụ bắt buộc hoặc độ tin cậy kho cũng có thể ngăn nạp.

Smoke-test skill giới hạn có xác minh mọi dependency không?

Không. Thử riêng skill kiểm việc tác nhân nạp và theo hướng dẫn. Kiểm công cụ, chương trình, khóa riêng rồi xác minh một kết quả thật có giới hạn trước dùng toàn quy trình.

Tất cả bài viết