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 提供了一个简洁且类型安全的解决方案。