Skip to main content

An AI teammate that takes care of your GitHub work.

Project description

Robert

English | 简体中文

Your Repo Teammate

An AI teammate that takes care of your GitHub work.

Robert 是一个自托管的 GitHub 队友。它把可信的 Issue、提及、指派、评审和 后续评论转换为受控的编码代理任务,并通过 Git worktree、审计门禁和 SQLite 持久状态保证无人值守运行仍然可检查、可恢复。Robert 是运行在本机的 GitHub 协作控制面:它发现事件、校验信任关系、选择路由和 Worker、监督执行、审计 计划中的 GitHub 动作,并只发布路由允许的动作。

编码代理本身不能解决授权、并发、去重、失败恢复和证据留存。Robert 将这些 约束做成稳定协议,不需要 GitHub App,也不需要托管控制服务。Robert 0.1.0b2 是公开 Beta,当前只使用轮询获取 GitHub 事件,稳定版之前接口仍 可能调整。

核心能力

  • 处理可信的 Issue、PR、评审、指派和提及。
  • 使用 SQLite 管理多仓库工作流;每个仓库有独立 checkout、worktree 根目录、 可信 Actor、并发限制和路由覆盖。
  • 内置 codextcodexcbc 和通用 command Worker 适配器。
  • 按路由配置 Worker、必需 Skill 和推荐 Skill;缺少必需 Skill 时会在创建 worktree 和启动 Worker 前阻止任务。
  • 使用隔离的 Git worktree 进行分析、实现和源码评审。
  • 支持 systemd 用户服务和 macOS LaunchAgent。
  • 默认只读的本地 Web UI。
  • 可选的 OpenClaw 只读聊天命令。

工作流程

flowchart LR
    A[通过 gh 轮询 GitHub] --> B[规范化并校验授权]
    B --> C[创建或恢复 workstream]
    C --> D[选择路由和 Skill]
    D --> E[准备隔离 workspace]
    E --> F[运行配置的 Worker]
    F --> G[审计结构化结果]
    G -->|通过| H[去重并发布]
    G -->|阻止| I[保存失败证据]
    H --> J[(SQLite 状态)]
    I --> J

Robert 使用已认证的 gh CLI 轮询 GitHub,规范化事件,应用仓库级信任规则, 创建或恢复 workstream,准备任务目录,启动本地 Worker,审计结构化结果,并 在发布前执行去重。

环境要求

  • Linux 或 macOS;Windows 通过 WSL 使用。
  • Python 3.10 或更高版本。
  • Git 和已登录的 GitHub CLI。
  • 至少一个本地 Worker 命令。
  • 推荐使用 pipx 安装。

使用编码 Agent 安装

把下面的提示词复制给 Codex、Claude Code 或其他终端编码 Agent:

Install and fully configure Robert on this machine by following:
https://github.com/wklken/Robert/blob/main/docs/agent-install.md

Read the entire guide before executing. Ask me for required values and for
confirmation wherever the guide requires it.

配置

Robert 使用带版本号的 YAML。配置包括 GitHub 账号、Worker、Skill 搜索路径、 路由覆盖和一个或多个本地仓库。详见 docs/reference.md

守护进程

robert service install
robert service start
robert service status

无人值守运行使用 systemd 用户服务或 launchd。前台调试使用 robert daemon run

本地 Web UI

Robert Web UI 任务看板

robert web run

默认模式只读且仅监听本机。写入模式必须显式开启:

robert web run --writable --operator "$USER"

非回环地址还必须使用 --allow-remote,并部署经过认证的反向代理。

OpenClaw 集成

OpenClaw 中的 Robert 状态

robert openclaw install
robert openclaw status

插件只提供 Robert 状态、任务、运行和产物查询,不会启动 Robert,也不会创建 定时任务。

故障排查

先运行 robert doctor --output jsonrobert service status。需要提供诊断 信息时,生成经过脱敏的压缩包:

robert diagnostics export --output robert-diagnostics.zip

不要在公开 Issue 中上传凭证或私有仓库内容。

参与贡献

阅读 COMMUNITY.md,执行其中的验证命令,并使用 git commit -s 签署提交。首个 Beta 使用 DCO,不要求 CLA。

安全与信任模型

GitHub 文本始终按不可信输入处理。只有配置中的可信 Actor 能触发工作。仓库 覆盖不能改变路由的 GitHub 权限和 workspace 策略。Worker 环境变量采用白名单, 配置文件不保存 GitHub Token,所有对外文本都经过脱敏和审计。Web UI 默认绑定 127.0.0.1

许可证

Apache License 2.0,详见 LICENSE

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robert_github_agent-0.1.0b2.tar.gz (885.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robert_github_agent-0.1.0b2-py3-none-any.whl (282.5 kB view details)

Uploaded Python 3

File details

Details for the file robert_github_agent-0.1.0b2.tar.gz.

File metadata

  • Download URL: robert_github_agent-0.1.0b2.tar.gz
  • Upload date:
  • Size: 885.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for robert_github_agent-0.1.0b2.tar.gz
Algorithm Hash digest
SHA256 26b64dfbb858468c9d7c1e1a661af2c641c208ec394ca71076eadeec7f639ffa
MD5 3d92f94c67cfbdc8e2e5389541abf580
BLAKE2b-256 5c06be4a2b043b2ae4d5a8237a31f530787e220ad774615a6be67bd2bb98d0e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for robert_github_agent-0.1.0b2.tar.gz:

Publisher: release.yml on wklken/Robert

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file robert_github_agent-0.1.0b2-py3-none-any.whl.

File metadata

File hashes

Hashes for robert_github_agent-0.1.0b2-py3-none-any.whl
Algorithm Hash digest
SHA256 fd29696b3440df5de2f55ed9cb1a900543a4fff9fd552bdbced97ff7e8ae07b7
MD5 e20a59ed4fd007792c7a8e0191f7da2d
BLAKE2b-256 a54d98d635fbbb2bc6bedc190523d1f54de86f314e04c6f3a4fe15ac24d85b60

See more details on using hashes here.

Provenance

The following attestation bundles were made for robert_github_agent-0.1.0b2-py3-none-any.whl:

Publisher: release.yml on wklken/Robert

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page