# 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.

### Pull requests

#### All pull requests
- #2681 fix(frontend): change the icon during thinking to a solid icon.
- #2685 fix(sandbox): pass no_change_timeout to exec_command to prevent 120s premature termination
- #2586 Make loop detection configurable
- #2444 fix(channels): preserve clarification conversation history across follow-up turns
- #1989 fix(tracing): unify Langfuse traces per conversation and add Langfuse config to .env.example
- #2528 fix: restrict public sandbox and artifact boundaries
- #2583 fix(subagents): make subagent timeout terminal state atomic
- #2642 fix(harness): resolve runtime paths from project root
- #2641 fix(subagents): use model override for tools and middleware
- #1844 feat(memory): Add layered context management safeguards
- #2001 fix(tracing): group Langfuse spans under one trace per agent run
- #1525 fix: prevent setup_agent concurrent write corruption
- #2599 fix(gateway): return ISO 8601 timestamps from threads endpoints
- #2582 fix(runtime): make rollback restore checkpoint supersede newer checkpoints
- #2588 fix(config): reset config-backed singletons on hot reload
- #2585 fix(models): record Codex token usage in usage_metadata
- #2584 fix(packaging): add postgres extra for store/checkpointer support
- #2590 fix(loop-detection): detect alternating tool-name cycles
- #2626 fix(skills): enforce allowed-tools metadata
- #2646 Refresh custom-agent UI agents_api setup guidance
- #2665 fix(backend): handle UnicodeDecodeError and validate str_replace count
- #2666 refactor: thread app_config through lead prompt
- #2106 fix: strip unsupported thinking key for Gemini OpenAI-compatible endpoint (#1515)
- #2556 Fix env resolution in MCP config lists
- #2623 [security] fix(upload): reject symlinked upload destinations
- #2587 fix(runtime): clean up terminal run records with stream retention
- #2605 fix: install harness package in langgraph config
- #2667 fix(security): mask sensitive values in MCP config API responses
- #2663 fix(docker,docs): improve production Docker config and update docs
- #2415 feat(backend): add gated Mem0 OSS integration for per-user memory
- #2664 fix(frontend): fix multiple UI bugs and improve robustness
- #2630 feat(community): add Serper web search provider
- #2655 docs: Add Kubernetes Deployment Guide (#2654)
- #2487 fix(sandbox): support extra mounts in provisioner mode
- #2404 Feature/multiple feishu bot support
- #63 feat: Add Dockerfile and docker-compose.yaml
- #2645 R241-20G3: apply CAND-017 lead agent summarization config
- #2428 refactor: layered architecture — runtime kernel, storage package, plugin system
- #2624 feat(runtime): add built-in cron scheduler MVP
- #2013 feat(runtime): add built-in cron scheduler MVP
- #1471 fix: improve PPT generation skill loading for agent
- #2406 feat: add self-evolving background reviewer to auto-extract skills from conversations
- #2527 fix(mcp): gracefully handle individual server failures in get_tools()
- #2608 feat: Apify community integration — Actor execution and web search, web fetch
- #2602 feat(sandbox): attach sandbox containers to a Docker network
- #2495 fix: the docker sandbox provisioner exposes four res... in app.py
- #2184 feat: provides card-based interaction for the ask_clarification tool.
- #2598 fix(runs): serialize run rollback to prevent state overwrites
- #2592 fix(memory): scope queue merge key to (thread_id, agent_name) and skip idle reschedule
- #2591 feat(loop-detection): add escape hatches for legitimate batch tool calls

### Deployments

Connect your GitHub account to start asking repository-aware questions in the deployments tab.

### Issues

#### All issues
- #2425 智能体调用ask_clarification工具后，丢失了之前的对话历史
- #2625 Enforce skill allowed-tools metadata
- #2616 [Enhance] Agent 创建好后在该agent里开启chat 进行更新Agent的描述无效
- #2636 fix: harden public sandbox and artifact file boundaries
- #2521 main 分支目前可用吗，windows 可以正常使用吗
- #2634 [RFC] Static security scanning for skills
- #2647 memory.json文件不更新可能是什么情况？
- #2662 [runtime] 执行长任务中途失败无法继续
- #2648 创建智能体报错 token_invalid
- #2668 [runtime] 容器沙箱连续120s代码无输出会被agent认为整个任务无输出，但实际任务还在执行
- #2672 [runtime] 无法创建账号
- #2512 写文件是否有长度限制，生成的HTML总会被截断
- #2684 LLM request failed: 'ascii' codec can't encode characters
- #2683 一些关于RAG的疑问
- #2517 RFC: Reassess LoopDetectionMiddleware before it becomes a workflow blocker
- #2660 provisioner 根本没有适配 userid的场景，extra_mounts根本没有被消费
- #2606 如何前置安装python的依赖库，如图
- #2547 [harness][memory] Memory queue merges pending updates across agents
- #2548 [harness][memory] Memory queue can spin zero-delay timers while busy
- #2538 [harness][uploads] Duplicate upload filenames overwrite previous files
- #2539 [harness][sandbox] AIO sandbox deterministic IDs use only 32 bits
- #2542 [harness][packaging] langgraph.json installs backend instead of harness package
- #2552 [harness][packaging] Postgres store/checkpointer support lacks a postgres extra
