ExplainGitHub API
ExplainGitHub API lets you build repo-aware AI features
Use repository context to power codebase chat, developer copilots, support tools, and internal workflows.
Customer-facing developer products
Add “ask this repository”, PR summaries, issue copilots, or codebase chat directly into your product experience.
Internal engineering and support tools
Help engineering, support, QA, or ops teams get answers from private repositories without manually searching code and docs.
Docs, onboarding, and automation
Power docs assistants, developer onboarding flows, CI helpers, or internal automation that needs repository context.
Agent
Sign in to use agent Connect your GitHub account to start asking repository-aware questions in the agent tab.
Pull requests
Connect your GitHub account to start asking repository-aware questions in the pull requests tab.
Pull request
- #4977 fix(docker): upgrade Node.js from 20 to 22 LTS
- #4982 fix: guard os.getcwd() against deleted CWD (FileNotFoundError)
- #4984 fix(security): validate RETAINDB_BASE_URL against SSRF before requests
- #4985 fix(gateway): rewrite transcripts atomically
- #18405 fix(tui): copy selection on Ctrl+C in approval overlay instead of denying
- #18406 fix(docker): expand ~ in user-configured volume mounts
- #18407 feat(moa): config-driven multi-provider routing for references and aggregator
- #18388 fix(weixin): add rewrite_markdown config option for text selection
- #18099 fix(gateway): harden internal background events
- #18381 feat(devops): add proxy-tester skill
- #17871 feat(cli): support multi-select in model picker
- #5175 feat(skills): add autoresearch — autonomous git-based experiment loop
- #4986 fix(security): validate HONCHO_BASE_URL against SSRF before requests
- #4989 fix(gateway): queue pending interrupt messages FIFO (#4947)
- #4990 feat(cli): add /resume interactive picker and numeric selection (#4988)
- #4995 feat(hermes_suite): add HermesSuite web command centre
- #18397 fix: harden Hermes observability instrumentation
- #18398 feat: support docker_env dict for container env vars
- #18399 feat: load base ~/.hermes/.env as fallback for profiles
- #18400 chore: increase default child agent timeout to 1 hour
- #18401 feat: add create_forum_thread Discord action
- #18403 feat(patch): hashline anchor-based editing mode
- #15971 fix(image-gen): preserve xAI API error status
- #18385 fix(feishu): keep topic replies in active threads
- #10061 fix(timezone): propagate configured timezone to agent prompt and terminals
- #17128 fix(tui): avoid creating chat sessions on dashboard mount
- #5007 feat: add Avian as LLM provider
- #5010 feat(tools): add Patchright as browser provider
- #5013 test(signal): cover /approve bypass during active session
- #18395 fix: dedupe BlueBubbles webhook deliveries
- #13377 feat(mem0): add self-hosted support via MEM0_HOST / host config
- #15672 feat(datagen): add optional TOON encoding for tool results
- #18389 fix(curator): defer first run and add --dry-run preview (#18373)
- #5020 feat: /browser connect auto-launches Chrome with persistent Hermes profile
- #5014 fix(signal): restore read receipts for direct messages
- #5015 feat: add RedPill as a supported inference provider
- #5018 fix(security): reject non-regular tar members in tirith installer + eliminate all shell=True usage in tools/
- #18391 fix(error_classifier): compress context on 500 when session is large
- #4870 feat(gateway): add SimpleX Chat adapter
- #8298 fix(gateway): add inactivity timeout for /background tasks
- #8290 fix(cron): protect tick loop from cascading mark_job_run failures
- #17471 fix(tools): support memory read and delimiter guard
- #5024 feat(approval): add structured approval provenance for gateway prompts
- #5025 fix: exclude infrastructure dirs from --clone-all when cloning default profile
- #5026 fix(profiles): #5022 prevent clone-all from copying full infrastructure
- #18383 fix(memory): keep inline memory-context mentions visible
- #18384 fix(cli): wrap long approval commands in prompt
- #15675 feat(cli): add affordance gap logging command
- #18166 fix(memory): respect toolsets and reconnect openviking
- #18157 fix: make memory and plugin encoding robust
Deployments
Connect your GitHub account to start asking repository-aware questions in the deployments tab.
Issues
Connect your GitHub account to start asking repository-aware questions in the issues tab.
Issue
- #4979 [Bug]: WhatsApp adapter missing send_voice() override — voice messages sent as text
- #18019 [Bug]: Stream stalled mid tool-call
- #4988 [Feature]: /resume with no arguments should show an interactive session picker
- #18402 [Feature]: hermes update should show what changed (skill names, config migration details, offer to reset user-modified skills)
- #18404 hermes memory status says "Built-in: always active" even when built-in store is disabled — confusing UX
- #18375 [Bug]: Security scan approval overlay: Ctrl+C treated as "deny" prevents copying command text
- #358 Feature: Hashline Editing — Content-Addressable Line Editing with CRC32 Anchors (inspired by OpenPlanter)
- #5000 Qodo AntiSlop scan found 27 issues across 10 recent PRs
- #5011 不支持图片和对话时光标不支持鼠标定位
- #18394 [Bug]: TUI backspace cannot delete newline characters in composer input
- #18396 [Feature]: Add reply_to_text support for Matrix platform
- #17992 DeepSeek V4 /anthropic: signed thinking blocks stripped, causing HTTP 400
- #15037 feat(config): support per-model max_tokens in custom_providers config