An AI teammate that takes care of your GitHub work.
Project description
Robert
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、并发限制和路由覆盖。
- 内置
codex、tcodex、cbc和通用commandWorker 适配器。 - 按路由配置 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 run
默认模式只读且仅监听本机。写入模式必须显式开启:
robert web run --writable --operator "$USER"
非回环地址还必须使用 --allow-remote,并部署经过认证的反向代理。
OpenClaw 集成
robert openclaw install
robert openclaw status
插件只提供 Robert 状态、任务、运行和产物查询,不会启动 Robert,也不会创建 定时任务。
故障排查
先运行 robert doctor --output json 和 robert 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26b64dfbb858468c9d7c1e1a661af2c641c208ec394ca71076eadeec7f639ffa
|
|
| MD5 |
3d92f94c67cfbdc8e2e5389541abf580
|
|
| BLAKE2b-256 |
5c06be4a2b043b2ae4d5a8237a31f530787e220ad774615a6be67bd2bb98d0e8
|
Provenance
The following attestation bundles were made for robert_github_agent-0.1.0b2.tar.gz:
Publisher:
release.yml on wklken/Robert
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
robert_github_agent-0.1.0b2.tar.gz -
Subject digest:
26b64dfbb858468c9d7c1e1a661af2c641c208ec394ca71076eadeec7f639ffa - Sigstore transparency entry: 2233809463
- Sigstore integration time:
-
Permalink:
wklken/Robert@989fefd6f6b06f0f33d67e71d4d7ce65e4ec28f9 -
Branch / Tag:
refs/tags/v0.1.0b2 - Owner: https://github.com/wklken
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@989fefd6f6b06f0f33d67e71d4d7ce65e4ec28f9 -
Trigger Event:
push
-
Statement type:
File details
Details for the file robert_github_agent-0.1.0b2-py3-none-any.whl.
File metadata
- Download URL: robert_github_agent-0.1.0b2-py3-none-any.whl
- Upload date:
- Size: 282.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fd29696b3440df5de2f55ed9cb1a900543a4fff9fd552bdbced97ff7e8ae07b7
|
|
| MD5 |
e20a59ed4fd007792c7a8e0191f7da2d
|
|
| BLAKE2b-256 |
a54d98d635fbbb2bc6bedc190523d1f54de86f314e04c6f3a4fe15ac24d85b60
|
Provenance
The following attestation bundles were made for robert_github_agent-0.1.0b2-py3-none-any.whl:
Publisher:
release.yml on wklken/Robert
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
robert_github_agent-0.1.0b2-py3-none-any.whl -
Subject digest:
fd29696b3440df5de2f55ed9cb1a900543a4fff9fd552bdbced97ff7e8ae07b7 - Sigstore transparency entry: 2233809962
- Sigstore integration time:
-
Permalink:
wklken/Robert@989fefd6f6b06f0f33d67e71d4d7ce65e4ec28f9 -
Branch / Tag:
refs/tags/v0.1.0b2 - Owner: https://github.com/wklken
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@989fefd6f6b06f0f33d67e71d4d7ce65e4ec28f9 -
Trigger Event:
push
-
Statement type: