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