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 提供了一個簡潔且類型安全的解決方案。