Talk to Control Center from a GitHub PR
این محتوا هنوز به زبان شما در دسترس نیست.
This guide shows you how to work with Control Center without leaving GitHub: request an AI review from the PR page, ask the bot a question in a comment, and keep the conversation going in its review threads.
The bot is your server’s own GitHub App — the same one that already signs people in and runs background work. Nothing new is registered, and nothing has to be reachable from the internet: the server discovers what was said on GitHub by polling, so a laptop behind NAT behaves exactly like a public deploy.
Prerequisites
Section titled “Prerequisites”- The server has its GitHub App registered and installed, with Pull requests: read and write (for comments, threads and reactions) and Issues: read (for the comment search). Both are already in that guide’s permission list
- The repository is linked to a workspace in Control Center
- No webhook URL, no tunnel, no callback — there is nothing to configure on the network side
Find your bot’s name
Section titled “Find your bot’s name”The bot’s login is <appslug>[bot], where appslug is the name you gave the
app when registering it.
- Go to Settings → Server → Single sign-on and scroll to the Provider apps card
- Open the GitHub block and click Test
- Copy Bot login when it fills in. If it still shows the empty hint, the
login is always
<appslug>[bot]— type that, or the short@appslug
GitHub does not offer app accounts in its @ autocomplete, so the login has to
be typed — that is why the settings card makes it one click to copy. The
[bot] suffix is optional: @myapp and @myapp[bot] both address the bot.
Request a review from GitHub
Section titled “Request a review from GitHub”Two ways, both starting the same seeded pr_review pipeline the Ask AI
button starts:
- Add the
ai-reviewlabel to the PR. This is the closest thing GitHub offers to assigning the bot as a reviewer — app accounts cannot hold the native requested-reviewer slot. There is no comment to react to, so nothing is posted on GitHub; the review starts in Control Center - Comment
@myapp review(or just@myapp) on the PR conversation. The bot reacts with 👀, then replies when the review has started (or that one is already running)
The reviewers work in the PR’s review space; read and publish the findings as in Use AI-powered review. Publishing back to GitHub stays a decision you make in Control Center — starting a review from GitHub does not publish anything to GitHub on its own.
The label fires once per PR: adding it is the ask, and it is not re-armed when removed and re-added. To run a review again — after a push, say — mention the bot.
Ask a question
Section titled “Ask a question”Comment on the PR conversation:
@myapp why does the flaky test in runner_test.dart fail on CI but not locally?What happens, in order:
- The bot reacts with 👀 so you know the comment was seen
- The question is posted into the PR’s review space as you — same attribution as if you had typed it in Control Center
- An agent answers in the space, and the answer is posted back on the PR as a comment that @-mentions you
A question on a PR with no review yet wakes the workspace’s CEO agent; once a review has run, the agent that spoke last answers, so follow-ups land with whoever has the context.
Follow up in a review thread
Section titled “Follow up in a review thread”Reply inside an inline review thread the bot is part of — a diff comment it left, or an answer it posted in that thread. No mention is needed; the thread is the addressing:
> @myapp the retry loop looks O(n²) to me
what would the complexity be with the bounded queue instead?Multi-turn works the same way: each reply is another question in the same conversation, with the review space as context, and the answer comes back in the thread.
A follow-up on the PR conversation timeline is a new top-level comment, so it still needs an @mention.
Who the bot talks to
Section titled “Who the bot talks to”A GitHub comment arrives as little more than a login, so the bot resolves the author before doing anything:
- Your GitHub account must be linked to your identity in Control Center — sign in with GitHub, or paste a token, from Settings → Workspace → Profile & identity → Code hosting
- You must be a member with a write role (
member,admin, orowner) in the workspace that links the repository
Anyone else gets one polite reply explaining what is missing — an unknown
login (unlinked, or linked but not a member here) and a read-only role are
the two cases — and their words never enter the workspace. The ai-review
label is not gated this way: it has no author, so it starts the review in
the workspace that already links the repo.
What to expect
Section titled “What to expect”| Thing | Behaviour |
|---|---|
| Acknowledgement | 👀 on a comment within about a minute — the sweep interval. The ai-review label has no comment to react to |
| Answers | Posted as the bot (the app), in the lane the question was asked in |
| In-space attribution | The question is yours; the agent runs on your behalf, under the space’s autonomy settings |
| Reviews | Findings land in the review space; publishing to GitHub is manual |
The roughly-one-minute latency is the trade for needing no inbound network access at all. Nothing about the sweep is urgent, and nothing is lost while the server is offline — a comment that arrives during downtime is caught on the next sweep.
Troubleshooting
Section titled “Troubleshooting”Nothing happens for a comment that mentions the bot.
- Is the app installed on the account that owns the repo, and the repo linked to a workspace? An unlinked repo is skipped before anything is recorded, so linking it later still delivers
- Is your GitHub account linked, and are you a member with a write role? Check the PR for the bot’s refusal reply — it says which
- Still nothing? The server log names the sweep and the PR when something
fails; look for
pr_conversation:(the poller) andgithub_pr_conversation:(the bridge)
The label does not start a review.
It fires once per PR. If a review already ran, or the label was added before
the server ever saw the PR (the first sweep records the backlog silently
rather than storming it), mention the bot instead — @myapp review always
starts one unless a review is already in flight.
The bot’s answer never arrived on GitHub.
The answer itself is never lost — it is in the PR’s review space in Control Center. A posting failure (GitHub down, permissions changed) is logged and the reply is not retried; ask again in the thread if it matters.
Related guides
Section titled “Related guides”- Create the GitHub App: the registration the bot is born from
- Use AI-powered review: reading the findings a mention-started review produces
- Set up GitHub integration: linking your own GitHub account, which is what the bot resolves you by
- Use spaces: the room all of this lands in