AI News HubLIVE
站内改写1 分鐘閱讀

Show HN: theta_py — Theta CLI 的 Python 繫結

theta_py 是 Theta 命令列工具的 Python 繫結,使開發者能夠以程式設計方式建立和管理 AI 代理專案,包括新增規則、工具和技能,同步專案狀態,以及將專案部署到 Claude Code 等平臺。專案提供了高階的 ThetaProject 類和低階函式,幷包含錯誤處理和版本鎖定功能。

來源Hacker News AI作者: ivanbelenky

Theta 是一種用於構建和配置 AI 代理的工具,而 theta_py 是它的 Python 繫結,旨在讓開發者透過程式碼而非命令列來管理 Theta 專案。該專案在 GitHub 上以開源形式釋出,採用 Apache-2.0、MIT 等許可證。

核心功能:ThetaProject 類

ThetaProject 是主要介面,用於在臨時目錄中建立物化的 Theta 專案。開發者可以透過 Python 上下文管理器輕鬆完成 CLI 工作流的等價操作,例如:

  1. 初始化專案:ThetaProject.create(name="my-agent")
  2. 新增規則:proj.add.rule("python-types")
  3. 新增工具:proj.add.tool("fetch", command="uvx mcp-server-fetch")
  4. 新增技能:proj.add.skill("vercel-labs/agent-skills/skills/web-design-guidelines@main")
  5. 驗證:proj.check()(驗證失敗會丟擲 ThetaCommandError
  6. 部署:proj.cast.to("claude-code") 會生成 CLAUDE.md.mcp.json 等檔案
  7. 同步:proj.sync() 將專案寫入磁碟

此外,ThetaProject.from_manifest() 允許以只讀方式開啟現有專案,並預設同步(除非設定 no_sync=True)。專案還提供了同步新鮮度檢查,例如 needs_sync()is_synced 屬性。

低階 API

除了高階類,theta_py 還提供了扁平函式和 theta 單例,方便快速呼叫。例如:

from theta_py import theta
theta.init(name="my-agent")
theta.add.rule("safety")
listing = theta.list.rules()

所有操作都返回 Pydantic 模型,失敗時丟擲 ThetaCommandError,其中包含詳細的診斷資訊。

版本與相容性

每個 theta_py 發行版都繫結一個特定的 theta 二進位制版本,可透過 theta_py.THETA_VERSION 檢視。這確保了 API 與底層 CLI 的一致性。

專案狀態

該專案在 GitHub 上擁有 1 顆星、0 個分支,最近釋出了 v0.0.4 版本(2026 年 6 月 13 日)。主要語言為 Python(99.7%),其餘為 Just 檔案(0.3%)。

對於需要以程式設計方式管理多個 AI 代理配置的開發者而言,theta_py 提供了一個簡潔且型別安全的解決方案。