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

Hãy để một tác nhân AI viết và xuất bản tài liệu API của bạn bằng Apidog CLI: tạo các endpoint, viết hướng dẫn bằng Markdown và xuất bản một trang tài liệu — với tính năng xác thực schema bảo vệ mọi thao tác ghi.

Ashley Innocent

Ashley Innocent

13 tháng 7 2026

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

Apidog cho doanh nghiệp

Triển khai tại chỗ

SSO & RBAC

Tuân thủ SOC 2

Khám phá Apidog Enterprise

Tài liệu API là công việc mà mọi người đều đồng ý là quan trọng nhưng không ai muốn chịu trách nhiệm. Một endpoint mới được triển khai, tài liệu tham khảo chậm hơn một tuần, và hướng dẫn bắt đầu lại mô tả một luồng xác thực mà bạn đã thay thế từ hai sprint trước. Công việc thì thật đấy, nhưng nó lặp đi lặp lại và dễ bị trì hoãn.

Sự kết hợp đó (quan trọng, lặp đi lặp lại, có thể trì hoãn) chính xác là những gì một tác nhân AI giỏi. Nếu tác nhân của bạn có thể chạy một lệnh terminal, nó có thể tạo các endpoint, viết các hướng dẫn bằng văn bản xung quanh chúng và xuất bản một trang tài liệu, tất cả chỉ từ một yêu cầu bằng ngôn ngữ tự nhiên. CLI của Apidog là thứ giúp điều đó trở thành hiện thực: mọi hành động tài liệu đều là một lệnh có thể script được với đầu ra JSON có cấu trúc mà tác nhân có thể đọc và thực hiện.

nút

Tại sao là CLI, không phải GUI hay máy chủ MCP

Có ba cách mà một tác nhân có thể tương tác với tài liệu API của bạn, và chúng giải quyết các vấn đề khác nhau. Nắm rõ sự khác biệt này là yếu tố quyết định giữa việc bạn phải vật lộn với các công cụ của mình và việc sử dụng công cụ phù hợp với công việc.

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

Một máy chủ MCP rất xuất sắc khi bạn muốn một tác nhân đọc định nghĩa API của bạn và tạo mã client dựa trên nó. Luồng tài liệu qua MCP của Cursor là một ví dụ điển hình. Nhưng đó lại là điều ngược lại với những gì chúng ta muốn ở đây. Chúng ta muốn tác nhân tạo ra tài liệu: tạo các endpoint, viết hướng dẫn Markdown và xuất bản một trang web.

Đối với điều đó, CLI thắng thế ở ba điểm. Nó mang tính xác định: cùng một lệnh tạo ra cùng một kết quả. Nó có thể script được: toàn bộ luồng có thể tích hợp vào CI. Và nó trả về JSON trong mỗi cuộc gọi, bao gồm một trường agentHints.nextSteps cho tác nhân biết nó có thể làm gì tiếp theo. Điểm cuối cùng đó quan trọng hơn những gì nghe thấy: nó có nghĩa là tác nhân không tự đoán đường đi mà đang tuân theo các gợi ý của chính CLI.

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

Cài đặt CLI và xác thực một lần. Hướng dẫn cài đặt của chúng tôi bao gồm các phiên bản Node và PATH; hướng dẫn xác thực bao gồm các token và bí mật CI.

npm install -g apidog-cli
apidog login --with-token <TOKEN>

Lấy token từ ứng dụng Apidog trong phần avatar người dùng → Cài đặt tài khoản (Account Settings) → Token truy cập API (API Access Token). Nó được lưu trữ cục bộ sau khi đăng nhập, vì vậy tác nhân không cần truyền nó trong mỗi cuộc gọi.

Mọi thao tác ghi đều được thực hiện dựa trên một ID dự án, bạn sẽ tìm thấy nó trong Cài đặt dự án (Project Settings) → Cài đặt cơ bản (Basic Settings), hoặc bằng cách chạy:

apidog project list

Bất kỳ tác nhân mã hóa nào có thể chạy lệnh shell đều hoạt động ở đây: Claude Code, Cursor, Codex và các tác nhân khác. CLI không quan tâm tác nhân nào gọi nó; nó chỉ quan tâm các lệnh và tải trọng là chính xác. Điều này đưa chúng ta đến một quy tắc duy nhất giúp toàn bộ quá trình trở nên đáng tin cậy.

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

Các lệnh tài liệu tạo tài nguyên nhận một tệp JSON. Tác nhân của bạn không bao giờ nên tự tạo JSON đó từ bộ nhớ. Tên trường do mô hình tự nghĩ ra là nguyên nhân số một gây ra các lần chạy thất bại. CLI cung cấp schema chính xác cho mọi thao tác ghi, và trình tự đúng luôn là bốn bước sau:

# 1. Hỏi CLI payload trông như thế nào
apidog cli-schema get doc-create

# 2. Tạo tệp JSON từ schema đó

# 3. Xác thực trước khi ghi (bắt lỗi trường bị thiếu cục bộ)
apidog cli-schema validate doc-create --file ./doc.json

# 4. Chỉ bây giờ mới chạy lệnh thực sự
apidog doc create --project <projectId> --file ./doc.json

Hãy đưa vòng lặp này vào hướng dẫn của tác nhân. Nó biến "mô hình tự tạo một trường" thành "bộ xác thực đã từ chối nó trên máy của tôi", đó là sự khác biệt giữa một lần chạy sạch và một bản dựng lỗi. Dưới đây là khối quy tắc bạn có thể dán trực tiếp vào lời nhắc hệ thống của tác nhân hoặc tệp CLAUDE.md / .cursorrules:

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ế.

Năm dòng đó là những gì phân biệt một tác nhân đáng tin cậy trong việc xuất bản tài liệu với một tác nhân chỉ đoán payload vào ngõ cụt.

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

Trong Apidog, tài liệu tham khảo API của bạn được tạo ra từ các endpoint và schema dữ liệu trong dự án. Vì vậy, công việc đầu tiên của tác nhân là tạo ra chúng. Giả sử bạn nói với nó:

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

Tác nhân tạo mô hình dữ liệu có thể tái sử dụng trước, sau đó là endpoint tham chiếu đến nó. Chạy apidog cli-schema get schema-create cho thấy một schema dữ liệu nhận một name và một đối tượng jsonSchema tiêu chuẩn. Vì vậy, tác nhân viết một cái gì đó tương tự như 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" }
    }
  }
}

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

apidog cli-schema validate schema-create --file ./refund-schema.json
apidog schema create --project <projectId> --file ./refund-schema.json

Bây giờ là endpoint. Schema endpoint-create yêu cầu methodpath, đồng thời cho phép bạn tham chiếu mô hình dữ liệu bạn vừa tạo với một $ref theo định dạng #/definitions/{schemaId}. Tác nhân viết refunds-endpoint.json:

{
  "name": "Create refund",
  "method": "post",
  "path": "/refunds",
  "status": "developing",
  "requestBody": {
    "type": "application/json",
    "jsonSchema": { "$ref": "#/definitions/<refundSchemaId>" }
  }
}
apidog cli-schema validate endpoint-create --file ./refunds-endpoint.json
apidog endpoint create --project <projectId> --file ./refunds-endpoint.json

Tài liệu tham khảo cho /refunds hiện đã tồn tại, được hiển thị từ cùng một định nghĩa mà nhóm của bạn chỉnh sửa. Không có bước "xuất tài liệu" riêng biệt cho tài liệu tham khảo; nó hoạt động trực tiếp trong dự án ngay khi endpoint được triển khai. Đó là lợi ích của một nguồn ưu tiên schema: tài liệu tham khảo không thể bị lệch, bởi vì nó chính là schema.

Bước 2: Viết hướng dẫn, không chỉ tài liệu tham khảo

Một tài liệu tham khảo được tạo từ schema chỉ là một nửa của tài liệu tốt. Nửa còn lại là văn bản: một trang bắt đầu nhanh, hướng dẫn xác thực, ghi chú di chuyển. Trong Apidog, những tài liệu này nằm trong cây tài liệu của dự án dưới dạng tài liệu Markdown, được quản lý bởi nhóm lệnh doc.

Schema doc-create chỉ yêu cầu một name; content chứa Markdown, và folderId đặt nó vào cây tài liệu (0 là thư mục gốc). Vì vậy, một bản hướng dẫn nhanh mà tác nhân soạn thảo trở thành 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
}
apidog doc list --project <projectId>
apidog cli-schema validate doc-create --file ./quickstart.json
apidog doc create --project <projectId> --file ./quickstart.json

Đây là nơi tác nhân thể hiện giá trị của nó. Yêu cầu nó “viết một hướng dẫn nhanh giúp nhà phát triển mới từ khóa API đến khoản hoàn tiền đầu tiên,” và nó sẽ soạn thảo Markdown, đóng gói nó vào payload mà schema mong đợi, xác thực và tạo tài liệu. Không cần trình duyệt, không cần sao chép-dán. Bởi vì nội dung chỉ là một trường chuỗi, tác nhân có thể viết hướng dẫn dài hoặc chi tiết tùy theo yêu cầu của nhiệm vụ.

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

Với tài liệu tham khảo và hướng dẫn đã có sẵn, tác nhân cũng có thể xuất bản từ terminal. Hai nhóm lệnh xử lý việc này, và một sự phân biệt tên gọi thường xuyên làm mọi người bối rối:

apidog docs-site list --project <projectId>
apidog cli-schema get docs-site-create
apidog docs-site create --project <projectId> --file ./docs-site.json

Sử dụng docs-site khi bạn muốn một trang web công khai được định nghĩa từ terminal, và shared-doc khi bạn chỉ cần một liên kết để gửi cho ai đó. Bởi vì cả hai đều là lệnh, việc xuất bản trở thành một bước có thể script được mà tác nhân chạy sau mỗi lần thay đổi tài liệu; trang web được lưu trữ sẽ phản ánh cập nhật ngay khi lệnh trả về.

Bước 4 (tùy chọn): Xuất bản sao di động

Đôi khi bạn muốn tài liệu dưới dạng tệp: một trang HTML để lưu trữ ở nơi khác, Markdown cho trình tạo trang tĩnh, hoặc OpenAPI để chuyển cho các bên liên quan. Lệnh export tạo ra cả ba:

apidog export --project <projectId> --format html --output ./api-docs.html
apidog export --project <projectId> --format markdown --output ./api-docs.md
apidog export --project <projectId> --format openapi --oas-version 3.1 --output ./openapi.json

Nếu dự án của bạn chứa nhiều dịch vụ và bạn chỉ muốn tài liệu hóa một phần của nó, apidog export --help hiển thị các cờ --scope, --api-ids--folder-ids để thu hẹp phạm vi đầu ra. Một dự án duy nhất có thể xuất một tệp tài liệu cho mỗi dịch vụ theo cách đó.

Một ví dụ đầy đủ, từ đầu đến cuối

Dưới đây là toàn bộ vòng lặp dưới dạng một yêu cầu bằng ngôn ngữ tự nhiên và các lệnh mà tác nhân chạy để đáp ứng nó.

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, tuân theo các quy tắc của nó, sẽ chạy:

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

# Tạo cả hai endpoint
apidog endpoint create --project $PID --file ./post-refunds.json
apidog endpoint create --project $PID --file ./get-refund.json

# Soạn thảo hướng dẫn idempotency dưới dạng tài liệu Markdown
apidog doc create --project $PID --file ./idempotency-guide.json

# Xuất bản
apidog docs-site create --project $PID --file ./docs-site.json

Bạn xem xét sự khác biệt kết quả, và dịch vụ thanh toán đã được tài liệu hóa và hoạt động. Điều từng mất cả buổi chiều để chuyển đổi ngữ cảnh giờ chỉ là một yêu cầu và một lần xem xét.

Kết nối nó vào vòng lặp tác nhân hoặc CI

Bởi vì mỗi bước là một lệnh, toàn bộ luồng có thể tích hợp vào CI hoặc vòng lặp tác vụ của tác nhân. Một bước tối thiểu tái tạo và commit tài liệu tham khảo Markdown của bạn trong 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

Để có cái nhìn đầy đủ hơn về việc chạy một tác nhân với CLI từ đầu đến cuối, hãy xem Từ PRD đến vòng lặp thử nghiệmCách thiết lập 5 tác nhân AI để xây dựng một API hoàn chỉnh. Mẫu hình trong cả hai trường hợp đều giống như ở đây: mô tả ý định, để tác nhân dịch nó thành các lệnh gọi CLI đã được xác thực, xem xét kết quả.

Một lưu ý về quyền

Việc ghi vào một dự án thông qua một tác nhân có thể bị kiểm soát. Nếu một lệnh create bị chặn, dự án đã tắt Quyền chỉnh sửa AI bên ngoài (External AI Edit Permissions) cho nhánh đó. Bạn có hai lựa chọn thẳng thắn: bật quyền chỉnh sửa trực tiếp trong Cài đặt dự án (Project Settings) → Cài đặt tính năng (Feature Settings) → Cài đặt tính năng AI (AI Feature Settings) (client Apidog 2.8.32+), hoặc để tác nhân làm việc trên một nhánh AI biệt lập và mở một yêu cầu hợp nhất (merge request). Hướng dẫn đi kèm về cập nhật đặc tả API của bạn giải thích đầy đủ luồng nhánh AI, và nó cũng áp dụng tương tự khi tác nhân đang tạo tài liệu trên một nhánh được bảo vệ.

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

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

Tổng kết

Một tác nhân có thể chạy Apidog CLI có thể đảm nhiệm phần tài liệu mà mọi người luôn trì hoãn: nó tạo các endpoint, viết hướng dẫn xung quanh chúng và xuất bản trang web. Tất cả từ một yêu cầu bằng ngôn ngữ tự nhiên, với việc xác thực schema bảo vệ mọi thao tác ghi. Vai trò của bạn chuyển từ viết tài liệu sang xem xét sự khác biệt.

Quy tắc duy nhất làm cho nó đáng tin cậy là nghi thức ghi: lấy schema, xác thực, sau đó tạo. Cung cấp cho tác nhân của bạn vòng lặp đó, khối quy tắc năm dòng ở trên và một ID dự án, và việc tài liệu hóa sẽ không còn là một công việc vất vả đi sau mã nguồn nữa. Tải xuống Apidog để có CLI, hoặc đọc hướng dẫn đầy đủ về Apidog CLI để có tài liệu tham khảo lệnh đầy đủ.

nút

Thực hành thiết kế API trong Apidog

Khám phá cách dễ dàng hơn để xây dựng và sử dụng API