Show HN: theta_py — Theta CLI 的 Python 綁定
theta_py 是 Theta 命令行工具的 Python 綁定,使開發者能夠以編程方式創建和管理 AI 代理項目,包括添加規則、工具和技能,同步項目狀態,以及將項目部署到 Claude Code 等平台。項目提供了高級的 ThetaProject 類和低階函數,幷包含錯誤處理和版本鎖定功能。
Theta 是一種用於構建和配置 AI 代理的工具,而 theta_py 是它的 Python 綁定,旨在讓開發者通過代碼而非命令行來管理 Theta 項目。該項目在 GitHub 上以開源形式發佈,採用 Apache-2.0、MIT 等許可證。
核心功能:ThetaProject 類
ThetaProject 是主要接口,用於在臨時目錄中創建物化的 Theta 項目。開發者可以通過 Python 上下文管理器輕鬆完成 CLI 工作流的等價操作,例如:
- 初始化項目:
ThetaProject.create(name="my-agent") - 添加規則:
proj.add.rule("python-types") - 添加工具:
proj.add.tool("fetch", command="uvx mcp-server-fetch") - 添加技能:
proj.add.skill("vercel-labs/agent-skills/skills/web-design-guidelines@main") - 驗證:
proj.check()(驗證失敗會拋出ThetaCommandError) - 部署:
proj.cast.to("claude-code")會生成CLAUDE.md、.mcp.json等文件 - 同步:
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 提供了一個簡潔且類型安全的解決方案。