DEV Community

Cover image for Cách AI tạo tài liệu API bằng Apidog CLI
Sebastian Petrus
Sebastian Petrus

Posted on • Originally published at apidog.com

Cách AI tạo tài liệu API bằng Apidog CLI

Tài liệu API luôn quan trọng, nhưng thường bị chậm hơn code: endpoint đã triển khai, tài liệu tham khảo chưa cập nhật; hướng dẫn bắt đầu vẫn mô tả luồng xác thực đã bị thay thế từ vài sprint trước. Đây là công việc lặp lại, dễ trì hoãn và phù hợp để tự động hóa bằng tác nhân AI.

Dùng thử Apidog ngay hôm nay

Nếu tác nhân có thể chạy lệnh terminal, tác nhân có thể tạo endpoint, viết hướng dẫn Markdown và xuất bản trang tài liệu từ một yêu cầu ngôn ngữ tự nhiên. Apidog CLI cung cấp các lệnh có thể script cùng đầu ra JSON có cấu trúc để tác nhân đọc và quyết định bước tiếp theo.

Tại sao dùng CLI thay vì GUI hoặc máy chủ MCP?

Tác nhân có thể làm việc với tài liệu API theo ba cách, nhưng mỗi cách phục vụ một mục tiêu khác nhau.

Phương pháp Hướng Ai điều khiển Có thể xem sự khác biệt?
GUI Chỉnh sửa trong trình duyệt Con người, thao tác nhấp chuột Không
Máy chủ MCP Đọc đặc tả API → viết mã Tác nhân trong trình soạn thảo Trong kho mã, không phải tài liệu
CLI Tạo và xuất bản tài liệu Tác nhân trong terminal Có, mọi lệnh đều được ghi lại

Máy chủ MCP phù hợp khi bạn muốn tác nhân đọc định nghĩa API và tạo mã client. Ví dụ, luồng tài liệu MCP trong Cursor có thể dùng đặc tả API để hỗ trợ viết mã.

Trong bài này, mục tiêu là ngược lại: yêu cầu tác nhân tạo tài liệu — tạo endpoint, soạn hướng dẫn Markdown và xuất bản trang tài liệu.

CLI phù hợp hơn cho luồng này vì:

  1. Tính xác định: cùng một lệnh cho cùng một kết quả.
  2. Có thể script: dễ đưa vào CI/CD hoặc workflow của tác nhân.
  3. Phản hồi JSON: mỗi lệnh trả về dữ liệu có cấu trúc, bao gồm agentHints.nextSteps để tác nhân biết bước tiếp theo.

Thay vì đoán workflow, tác nhân có thể tuân theo gợi ý trực tiếp từ CLI.

Thiết lập môi trường cho tác nhân

Cài đặt CLI và đăng nhập một lần:

npm install -g apidog-cli
apidog login --with-token <TOKEN>
Enter fullscreen mode Exit fullscreen mode

Hướng dẫn cài đặt có thông tin về phiên bản Node và PATH. Hướng dẫn xác thực mô tả cách dùng token và bí mật CI.

Giao diện cài đặt Apidog

Lấy token trong ứng dụng Apidog qua Avatar người dùng → Account Settings → API Access Token. Sau khi đăng nhập, token được lưu cục bộ nên tác nhân không phải truyền token trong mọi lệnh gọi.

Vị trí API Access Token

Các thao tác ghi cần ID dự án. Bạn có thể tìm ID trong Project Settings → Basic Settings hoặc chạy:

apidog project list
Enter fullscreen mode Exit fullscreen mode

Bất kỳ tác nhân nào có thể chạy shell đều dùng được: Claude Code, Cursor, Codex hoặc các coding agent tương tự.

Apidog CLI trong môi trường tác nhân

Ví dụ workflow CLI

Nghi thức ghi mà tác nhân phải tuân theo

Các lệnh tạo hoặc cập nhật tài liệu nhận payload từ tệp JSON. Không để tác nhân tự đoán cấu trúc JSON từ bộ nhớ.

Thay vào đó, luôn dùng quy trình bốn bước:

# 1. Lấy schema payload chính xác từ CLI
apidog cli-schema get doc-create

# 2. Tạo tệp JSON dựa trên schema đó

# 3. Xác thực cục bộ trước khi ghi
apidog cli-schema validate doc-create --file ./doc.json

# 4. Chỉ chạy thao tác ghi khi payload hợp lệ
apidog doc create --project <projectId> --file ./doc.json
Enter fullscreen mode Exit fullscreen mode

Dán quy tắc sau vào system prompt, CLAUDE.md hoặc .cursorrules của tác nhân:

Quy tắc CLI của Apidog:
- Không bao giờ tự viết tay một payload JSON. Chạy `apidog cli-schema get <key>` trước và xây dựng từ schema đó.
- Xác thực mọi tệp với `apidog cli-schema validate <key> --file <path>` trước bất kỳ thao tác tạo hoặc cập nhật nào.
- Luôn truyền --project <id> trong các lệnh ghi.
- Đọc trường `agentHints.nextSteps` trong mỗi phản hồi JSON để chọn lệnh tiếp theo.
- Nếu một thao tác ghi bị chặn bởi quyền, hãy dừng lại và hỏi người dùng; không tự chọn giải pháp thay thế.
Enter fullscreen mode Exit fullscreen mode

Quy trình này giúp chuyển lỗi từ giai đoạn ghi từ xa sang xác thực cục bộ. Tác nhân không còn gửi payload với trường tự đoán rồi chờ lỗi từ API.

Bước 1: Tạo tài liệu tham khảo từ endpoint và schema

Trong Apidog, tài liệu tham khảo API được tạo từ endpoint và schema dữ liệu trong dự án. Vì vậy, tác nhân cần tạo các tài nguyên này trước.

Ví dụ, bạn yêu cầu:

“Thêm endpoint POST /refunds nhận ID đơn hàng và số tiền, đồng thời tài liệu hóa phản hồi thành công và lỗi xác thực.”

Tác nhân nên tạo schema dùng lại trước, sau đó tạo endpoint tham chiếu đến schema đó.

Đầu tiên, lấy schema cho thao tác tạo schema:

apidog cli-schema get schema-create
Enter fullscreen mode Exit fullscreen mode

Sau đó tạo refund-schema.json:

{
  "name": "Refund",
  "description": "A refund issued against an order",
  "jsonSchema": {
    "type": "object",
    "required": ["orderId", "amount"],
    "properties": {
      "orderId": { "type": "string" },
      "amount": { "type": "number" },
      "reason": { "type": "string" }
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Xác thực và tạo schema:

apidog cli-schema validate schema-create --file ./refund-schema.json
apidog schema create --project <projectId> --file ./refund-schema.json
Enter fullscreen mode Exit fullscreen mode

Tiếp theo, lấy schema cho endpoint:

apidog cli-schema get endpoint-create
Enter fullscreen mode Exit fullscreen mode

Tạo refunds-endpoint.json, sử dụng ID schema vừa tạo:

{
  "name": "Create refund",
  "method": "post",
  "path": "/refunds",
  "status": "developing",
  "requestBody": {
    "type": "application/json",
    "jsonSchema": {
      "$ref": "#/definitions/<refundSchemaId>"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Xác thực và tạo endpoint:

apidog cli-schema validate endpoint-create --file ./refunds-endpoint.json
apidog endpoint create --project <projectId> --file ./refunds-endpoint.json
Enter fullscreen mode Exit fullscreen mode

Tài liệu tham khảo cho /refunds hiện được tạo từ chính định nghĩa endpoint và schema mà nhóm của bạn quản lý. Không cần bước xuất tài liệu riêng cho phần API reference.

Điểm quan trọng là schema là nguồn ưu tiên duy nhất: tài liệu tham khảo không bị lệch khỏi API vì nó được tạo trực tiếp từ schema.

Bước 2: Viết hướng dẫn Markdown

Tài liệu tham khảo API không đủ để giúp người dùng bắt đầu. Bạn thường vẫn cần:

  • Hướng dẫn bắt đầu nhanh
  • Hướng dẫn xác thực
  • Giải thích idempotency
  • Ghi chú di chuyển
  • Ví dụ tích hợp

Trong Apidog, các tài liệu này nằm trong cây tài liệu của dự án dưới dạng Markdown và được quản lý bằng nhóm lệnh doc.

Lấy schema tạo tài liệu:

apidog cli-schema get doc-create
Enter fullscreen mode Exit fullscreen mode

Schema doc-create yêu cầu name; trường content chứa Markdown; folderId xác định vị trí trong cây tài liệu. Giá trị 0 là thư mục gốc.

Ví dụ quickstart.json:

{
  "name": "Quickstart: Your first refund",
  "content": "# Quickstart\n\nThis guide takes you from API key to your first refund in five minutes...",
  "folderId": 0
}
Enter fullscreen mode Exit fullscreen mode

Kiểm tra tài liệu hiện có, xác thực payload và tạo tài liệu:

apidog doc list --project <projectId>
apidog cli-schema validate doc-create --file ./quickstart.json
apidog doc create --project <projectId> --file ./quickstart.json
Enter fullscreen mode Exit fullscreen mode

Bạn có thể giao cho tác nhân một yêu cầu như:

“Viết hướng dẫn nhanh giúp lập trình viên mới đi từ API key đến khoản hoàn tiền đầu tiên.”

Tác nhân sẽ soạn Markdown, đóng gói nội dung vào payload hợp lệ, xác thực rồi tạo tài liệu. Không cần mở trình duyệt hoặc sao chép-dán nội dung.

Bước 3: Xuất bản trang tài liệu

Sau khi có API reference và các hướng dẫn Markdown, tác nhân có thể xuất bản tài liệu từ terminal.

Ba khái niệm dễ nhầm lẫn:

  • doc: tài liệu Markdown trong cây API của dự án.
  • docs-site: trang tài liệu công khai được lưu trữ.
  • shared-doc: liên kết chia sẻ cho đối tác hoặc người nhận cụ thể, không phải toàn bộ website tài liệu.

Để tạo trang tài liệu công khai:

apidog docs-site list --project <projectId>
apidog cli-schema get docs-site-create
apidog cli-schema validate docs-site-create --file ./docs-site.json
apidog docs-site create --project <projectId> --file ./docs-site.json
Enter fullscreen mode Exit fullscreen mode

Dùng docs-site khi cần trang web tài liệu công khai. Dùng shared-doc khi chỉ cần gửi một liên kết chia sẻ.

Vì đây đều là lệnh CLI, bạn có thể đưa bước xuất bản vào workflow sau mỗi lần thay đổi tài liệu.

Bước 4: Xuất bản bản sao di động

Nếu cần tài liệu dưới dạng tệp để lưu trữ hoặc dùng trong pipeline khác, dùng export.

# Xuất HTML
apidog export --project <projectId> --format html --output ./api-docs.html

# Xuất Markdown
apidog export --project <projectId> --format markdown --output ./api-docs.md

# Xuất OpenAPI 3.1
apidog export --project <projectId> --format openapi --oas-version 3.1 --output ./openapi.json
Enter fullscreen mode Exit fullscreen mode

Nếu dự án chứa nhiều dịch vụ, xem các tùy chọn lọc phạm vi:

apidog export --help
Enter fullscreen mode Exit fullscreen mode

Các cờ như --scope, --api-ids--folder-ids giúp chỉ xuất phần tài liệu cần thiết.

Ví dụ đầy đủ: từ yêu cầu đến xuất bản

Giả sử bạn gửi cho tác nhân yêu cầu sau:

Bạn: “Chúng tôi vừa thêm dịch vụ thanh toán với POST /refundsGET /refunds/{id}. Hãy tài liệu hóa cả hai, viết một hướng dẫn ngắn giải thích các khóa idempotency, và xuất bản nó lên trang tài liệu của chúng tôi.”

Tác nhân có thể chạy workflow sau:

# Tạo mô hình dữ liệu dùng chung
apidog cli-schema get schema-create
apidog cli-schema validate schema-create --file ./refund-schema.json
apidog schema create --project $PID --file ./refund-schema.json

# Tạo endpoint POST /refunds
apidog cli-schema get endpoint-create
apidog cli-schema validate endpoint-create --file ./post-refunds.json
apidog endpoint create --project $PID --file ./post-refunds.json

# Tạo endpoint GET /refunds/{id}
apidog cli-schema validate endpoint-create --file ./get-refund.json
apidog endpoint create --project $PID --file ./get-refund.json

# Tạo hướng dẫn idempotency
apidog cli-schema get doc-create
apidog cli-schema validate doc-create --file ./idempotency-guide.json
apidog doc create --project $PID --file ./idempotency-guide.json

# Xuất bản trang tài liệu
apidog cli-schema get docs-site-create
apidog cli-schema validate docs-site-create --file ./docs-site.json
apidog docs-site create --project $PID --file ./docs-site.json
Enter fullscreen mode Exit fullscreen mode

Sau đó, bạn chỉ cần xem xét các thay đổi. Công việc trước đây yêu cầu nhiều lần chuyển đổi ngữ cảnh giữa code, tài liệu và trình duyệt trở thành một yêu cầu cùng một lần review.

Tích hợp vào workflow tác nhân hoặc CI

Vì mỗi bước là lệnh CLI, bạn có thể chạy workflow này trong CI/CD.

Ví dụ GitHub Actions tối thiểu để tái tạo tài liệu Markdown sau mỗi lần push:

- name: Tái tạo tài liệu API
  run: |
    npm install -g apidog-cli
    apidog login --with-token ${{ secrets.APIDOG_TOKEN }}
    apidog export --project ${{ secrets.APIDOG_PROJECT }} --format markdown --output ./docs/api-docs.md
Enter fullscreen mode Exit fullscreen mode

Đặt token trong secret CI, không hard-code token trong repository.

Để xem workflow tác nhân đầy đủ hơn, tham khảo:

Mẫu chung là:

  1. Mô tả ý định.
  2. Để tác nhân chuyển ý định thành lệnh CLI có schema hợp lệ.
  3. Xem xét kết quả.

Lưu ý về quyền

Tác nhân có thể bị chặn khi ghi vào dự án. Nếu lệnh create không chạy do quyền, dự án có thể đã tắt External AI Edit Permissions cho nhánh đó.

Bạn có hai lựa chọn:

  1. Bật quyền chỉnh sửa trong Project Settings → Feature Settings → AI Feature Settings trên Apidog client 2.8.32+.
  2. Để tác nhân làm việc trên một nhánh AI riêng và mở merge request.

Hướng dẫn cập nhật đặc tả API bằng tác nhân mô tả luồng nhánh AI. Cách làm này cũng áp dụng khi tác nhân tạo tài liệu trên nhánh được bảo vệ.

Các lỗi thường gặp

Tác nhân tự viết JSON

Đây là lỗi phổ biến nhất. Luôn áp dụng thứ tự:

cli-schema get → cli-schema validate → create
Enter fullscreen mode Exit fullscreen mode

Tác nhân phải làm việc với schema thực tế từ CLI, không phải schema do mô hình tự đoán.

Thiếu ID dự án

Các lệnh doc, docs-siteexport cần:

--project <projectId>
Enter fullscreen mode Exit fullscreen mode

Sử dụng ID dự án từ phần cài đặt, không dùng tên dự án dễ đọc.

Nhầm lẫn giữa doc, docs-siteshared-doc

Ba loại tài nguyên này khác nhau:

  • doc: trang Markdown trong cây tài liệu.
  • docs-site: website tài liệu được lưu trữ.
  • shared-doc: liên kết chia sẻ.

Yêu cầu tác nhân xác định rõ loại đầu ra cần tạo trước khi chạy lệnh ghi.

Token chưa được đặt trong CI

apidog login lưu token trên máy chạy lệnh. Mỗi CI runner mới sẽ không có token đó.

Vì vậy, luôn đăng nhập trong cùng job trước khi chạy các lệnh khác:

apidog login --with-token ${{ secrets.APIDOG_TOKEN }}
Enter fullscreen mode Exit fullscreen mode

$ref không trỏ đến schema tồn tại

Khi endpoint tham chiếu schema qua:

{
  "$ref": "#/definitions/<schemaId>"
}
Enter fullscreen mode Exit fullscreen mode

Schema phải được tạo trước endpoint. Luôn tạo schema trước, lấy schemaId, sau đó mới tạo endpoint sử dụng nó.

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

Những tác nhân AI nào có thể điều khiển Apidog CLI?

Bất kỳ tác nhân nào có thể chạy lệnh shell, bao gồm Claude Code, Cursor, Codex và các coding agent tương tự. CLI không phụ thuộc vào loại tác nhân; nó cần lệnh đúng và payload hợp lệ.

Tôi có cần gói trả phí không?

Không. Apidog không phải mã nguồn mở, nhưng gói miễn phí cùng apidog-cli hỗ trợ luồng tạo và xuất bản được mô tả trong bài này.

Tác nhân có thể vô tình ghi đè tài liệu hiện có không?

Lệnh create thêm tài nguyên mới. Việc sửa tài nguyên hiện có dùng update và cần biện pháp bảo vệ riêng. Xem thêm hướng dẫn cập nhật đặc tả API.

Cách này khác gì với công cụ tạo tài liệu AI thông thường?

Công cụ tài liệu AI chung thường tạo văn bản từ code. Workflow này tạo tài liệu có cấu trúc trực tiếp trong nền tảng API: endpoint, schema, hướng dẫn Markdown và trang tài liệu đã xuất bản.

Tất cả cùng dựa trên một nguồn dữ liệu đang được nhóm chỉnh sửa, giúp giảm nguy cơ tài liệu lệch khỏi API.

Tổng kết

Một tác nhân chạy được Apidog CLI có thể tự động hóa phần tài liệu API thường bị trì hoãn:

  • Tạo schema và endpoint
  • Viết hướng dẫn Markdown
  • Xuất bản trang tài liệu
  • Xuất HTML, Markdown hoặc OpenAPI
  • Tích hợp vào CI/CD

Quy tắc cốt lõi là:

Lấy schema → xác thực payload → thực hiện thao tác ghi
Enter fullscreen mode Exit fullscreen mode

Cung cấp cho tác nhân quy trình này, ID dự án và quyền phù hợp. Khi đó, công việc của bạn chuyển từ viết tài liệu thủ công sang review các thay đổi mà tác nhân đã tạo.

Tải xuống Apidog để dùng CLI, hoặc xem hướng dẫn đầy đủ về Apidog CLI để tra cứu các lệnh.

Top comments (0)