跳至主要內容
DataTug.ai
GitHub

← 使用 DataTug 與 AI 的三種方式

CLI 命令

你的代理可以執行的命令 無論有無技能。

AI 程式碼代理可以在 shell 中執行任何 datatug 命令。這些是值得了解的:每個命令都在公開範例資料上執行過,且每個在 datatug.io 上都有真實輸出。

代理常問的四件事 。

每個命令的功能、代理如何讀取結果,以及此外掛目前是否有對應的技能。

  • datatug compare可用

    比較兩個資料庫

    讀取兩個資料庫副本的結構描述和每一行,並報告新增、移除或變更的內容。

    加上 --json:一個包含摘要、結構描述變更和每個差異記錄的文件。即使資料庫不同,結束狀態也是 0,因此代理會讀取摘要來判斷。

    尚無技能閱讀包含真實輸出的頁面

  • datatug db copy · datatug db export可用

    備份、還原和移動沒有日期欄位的資料表

    在資料庫之間複製資料表,或將資料庫匯出為適合納入 Git 的純文字檔案。將結果與來源比較以證明。

    這些命令在 stderr 上列印進度和錯誤,目前沒有 --json。最後使用 datatug compare --json 獲得代理可以讀取的判定結果。日期和外部鍵有已知限制,列在頁面上。

    尚無技能閱讀包含真實輸出的頁面

  • datatug query run可用

    執行查詢,取回資料列

    針對資料庫 URL 執行查詢,並在 stdout 上將資料列列印為 JSON、JSONL、CSV 或 YAML。除非關閉,否則會套用存取原則。

    使用 --format json 並讀取 stdout。套用的原則會報告在 stderr 上,因此代理可以看到哪些內容被保留。

    尚無技能閱讀包含真實輸出的頁面

  • datatug scan · datatug show可用

    讀取資料庫的結構

    將資料庫掃描到 DataTug 專案中,然後列印其結構描述、資料表、欄位和主鍵。

    datatug show --format json 會將相同的清單列印為單一 JSON 文件;文字格式是穩定的,因此可以比較兩次執行。

    scan 有技能;show 沒有閱讀包含真實輸出的頁面

代理從 compare 讀取什麼。

在 datatug.io 上執行 compare 所產生的 JSON:兩個 Northwind 副本,右邊的副本中有兩個價格變更、新增了一個類別、刪除了一個貨運商並新增了一個欄位。下方顯示一個貨運商。

命令

datatug compare northwind-sqlite northwind-sqlite \
  --project ./datatug-demo-project/demo-project-1 \
  --left-environment dev --right-environment dev \
  --left-source env:LEFT_DB --right-source env:RIGHT_DB \
  --json --details --limit 20 > compare.json
jq -c '.summary, .schemaChanges' compare.json
jq '.relations[] | select(.name == "Shippers")' compare.json

輸出

{"added":1,"removed":1,"changed":6,"unchanged":3303}
["Regions.Note exists only in right"]
{
  "name": "Shippers",
  "kind": "relation",
  "identity": "primary-key",
  "leftRows": 3,
  "rightRows": 2,
  "counts": {
    "added": 0,
    "removed": 1,
    "changed": 0,
    "unchanged": 2
  },
  "details": [
    {
      "id": "ShipperID=3",
      "status": "removed",
      "fields": [
        {
          "name": "CompanyName",
          "before": "Federal Shipping",
          "after": null,
          "afterAbsent": true
        },
        {
          "name": "Phone",
          "before": "(503) 555-9931",
          "after": null,
          "afterAbsent": true
        },
        {
          "name": "ShipperID",
          "before": "3",
          "after": null,
          "afterAbsent": true
        }
      ]
    }
  ]
}

使用 datatug 0.78.0 於 2026-10-15 執行,僅限公開範例資料。此處不針對其他資料庫、速度和規模做出陳述。

外掛的不足之處。 目前。

此外掛具有 install、init、projects、scan、validate 和 serve 的技能。compare、copy 和 export、query run 以及 show 沒有技能,因此代理會在 shell 中執行它們。為每個命令提供技能是後續工作,目前不應依賴。

查看每個技能及其狀態