Skip to content
View he-yufeng's full-sized avatar
🎯
Focusing
🎯
Focusing

Highlights

  • Pro

Block or report he-yufeng

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
he-yufeng/README.md

Hey, I'm Yufeng He 👋

AI Agents & LLM Systems Engineer | Formerly @ Moonshot AI (Kimi) | MS CS @ HKU | Champion, Shanghai Global AI Contest | 3x ACM-ICPC Silver Medalist | Former Intern @ Baidu, Maimai, Kuaishou

  • 280+ merged upstream PRs, with fixes in vLLM (9 merged), Mooncake (24 merged), Qwen Code (51 merged), Microsoft Agent Framework (20 merged), AstrBot (30 merged), Google ADK (10 merged), Inspect AI (18 merged), Hugging Face Transformers (1 merged), and PyTorch (5 merged).
  • Selected public projects led by CoreCoder, FindJobs-Agent, RepoWiki, and ContractGuard.

Projects

Area Project Stars Notes
Coding agents / evals CoreCoder 1.5k+ 512K lines of Claude Code → 1,400 lines of Python. Every key architectural pattern, runnable. Any LLM. 7 architecture deep-dive articles.
Applied agents FindJobs-Agent 200+ LLM-powered job toolkit: skill gap analysis, mock interviews, resume optimization, and job structuring.
Codebase maps RepoWiki 200+ Open-source DeepWiki alternative: CLI/browser wiki generation, PageRank file ranking, Mermaid diagrams, and reading guides.
Applied agents ContractGuard 100+ AI agent that reviews contracts for red flags before you sign: unfair terms, missing protections, and plain-English explanations.
Codebase maps GitSense 100+ AI-powered contribution finder and repo radar: find matching issues, then check PR merge signals before spending a weekend.
Code understanding CodeABC new AI code reader for non-programmers: plain-language file guides, hover annotations, a terminology dictionary, Q&A, and natural-language edits.
Coding agents / evals AgentProbe new Pytest plugin for regression-testing AI agents: snapshot baselines, semantic comparison, and mock LLMs.
Coding agents / evals AnyCoder new AI coding agent CLI supporting 100+ LLMs via litellm, with dangerous command blocking, parallel tools, and session persistence.
Coding agents / evals CodeJoust new CLI arena for AI coding agents: isolated git worktree runs, test/cost/diff/time scoring, and pip install codejoust.
Coding agents / evals LiteBench new Pip-installable LLM/agent benchmark CLI + web dashboard, with agent mode, custom YAML, LLM-as-judge, and 100+ litellm models.
Agent tooling RuleForge new Auto-generate AI assistant rules (CLAUDE.md, .cursorrules, copilot-instructions) from codebase analysis.
LLM tooling PromptDiff new Semantic diff for LLM prompts: compare prompt versions like git diff.
LLM tooling TokenTracker new Drop-in LLM cost tracker: change one import line and see where the money goes. OpenAI, OpenRouter, Azure, Ollama.
LLM tooling BatchLLM new Batch processing for LLM APIs: CSV/JSONL in, results out, with concurrency, retries, checkpointing, and cost tracking.
Applied agents IslandEscape new 2D pixel-art survival game where four LLM agents play the islanders — each with a personality, negotiating trades in natural language and forming alliances; race them to 100 coins to escape.
Agent / MCP / CI tooling agentcikit new One CLI for AI-agent, MCP, and open-source work: diagnose CI failures into repro plans, pack issue-specific context for coding agents, gate and replay MCP servers, and test tool-call safety. Bundles ci-repro, patch-context, mcp-gate, mcp-replay, and tool-fence.
Coding agents / evals IssueBenchKit new Turn real GitHub issues and local bugs into small, reproducible coding-agent benchmark tasks with before/after scoring and HTML reports.
Agent observability FlightBox new Black-box flight recorder for AI agents: record, redact, replay, and diff local agent sessions.
Quant / RL DRL-MultiFactorTrading new Deep-RL trading: Double DQN with Transformer attention over a Fama-French-style multi-factor model, plus adaptive risk and volatility targeting.
Research adversarial-refinement-imputation new Companion code for the MiLeTS 2026 paper adapting R3GAN to multivariate time-series imputation — a clearly-scoped negative result.
Research TrajBias new A study of structural biases in LLM-as-judge evaluation of agent trajectories.

Open Source Contributions

AI infrastructure / model systems

Project PR What I Fixed
vLLM (86.2k★) #37884 RoBERTa's in-place position_ids accumulation bled into CUDA-graph padding, crashing BGE-M3 after ~4k requests.
vLLM (86.2k★) #38732 Fix bench_serve UTF-8 decode crash on split multi-byte chars in streaming chunks
vLLM (86.2k★) #37727 Responses API instructions were leaking across turns through the previous_response_id chain.
vLLM (86.2k★) #43243 Qwen3 XML tool-call params now parse as JSON first, so null/false survive streaming instead of being rejected as Python literals.
vLLM (86.2k★) #37699 Fix weight offloading ignoring VLLM_WEIGHT_OFFLOADING_DISABLE_PIN_MEMORY in prefetch offloader
vLLM (86.2k★) #40789 Taught the V1 ubatch wrapper to unwrap tuple model outputs, unblocking DBO and speculative decoding on tuple-returning models.
vLLM (86.2k★) #44821 Prefix DeepSeek V4 MTP projection layers so compressed-tensors can match artifact-side target and ignore rules during draft model loading
vLLM (86.2k★) #42679 Guard flash-attn rotary imports so FA4 environments fall back cleanly when flash_attn.ops.triton.rotary is absent
vLLM (86.2k★) #37301 Base64 JPEG video frames returning empty metadata: populate frame count, fps, duration
Mooncake (5.8k★) #1629 GB200 MNNVL EP hang: cudaMalloccuMemCreate(FABRIC) + cuMemMap for cross-node NVLink
Mooncake (5.8k★) #1644 MNNVL warmup hang: skip redundant handshake for fabric-connected nodes
Mooncake (5.8k★) #2570 Integer overflow in BatchOffload for >4 GiB objects: sum slice sizes in uint64_t and reject objects exceeding the uint32_t record value_len, instead of silently truncating
Mooncake (5.8k★) #2311 Duplicate rpc_meta re-publishes are idempotent when the HTTP body is unchanged, and still rejected when a value actually changes.
Mooncake (5.8k★) #1825 Fix P2PClientService::Put silently swallowing write errors: propagate actual error codes for non-idempotent failures
Mooncake (5.8k★) #2651 Skip bucket files with non-numeric names instead of aborting Init
Mooncake (5.8k★) #2629 Don't abort client init on a malformed MC_MS_AUTO_DISC value
Mooncake (5.8k★) #2610 A refactor had dropped the per-task request pointer in RdmaTransport::submitTransfer, leaving every downstream task null and breaking status, retry, and accounting reads. Traced it back and restored the association.
Mooncake (5.8k★) #1728 Hard pin for eviction-protected objects: model weights never get evicted, const field + BatchEvict skip + backward-compat serialization
Mooncake (5.8k★) #1719 Add ObjectDataType metadata classification for KV cache, weights, tensors, and snapshots, with backward-compatible serialization and Python bindings
Mooncake (5.8k★) #2402 Reject failed Python buddy-allocator backing buffers instead of inserting null raw buffers into managed slabs
Mooncake (5.8k★) #2628 Fix source refcnt leak in CopyEnd/MoveEnd on invalid source
Mooncake (5.8k★) #2500 Don't fail bundle cleanup when per-key remove retry succeeds
Mooncake (5.8k★) #1831 TENT NVLink IPC fix: use base pointer for sub-allocated GPU tensors, porting #1622 fix to TENT path
Mooncake (5.8k★) #2606 Map cudaStreamQuery for the intra-node NVLink build
Mooncake (5.8k★) #1626 Silenced error log spam for non-memory replicas in metadata store
Mooncake (5.8k★) #2506 Parse string booleans for enable_ssd_offload in from_file
Mooncake (5.8k★) #2641 Guard MC_TCP_SLICE_SIZE parsing against std::stoull throwing
Mooncake (5.8k★) #2627 Guard against null endpoint_store_ in UrmaContext destructor
Mooncake (5.8k★) #2403 Clean up a failed io_uring sub-batch init so a half-prepared transfer batch can't carry broken state into later setup.
Mooncake (5.8k★) #2602 Return HTTP 500 when is_exist reports an error in handle_exist
Mooncake (5.8k★) #2617 Associate task.request in EFA/Kunpeng submitTransfer
Mooncake (5.8k★) #2619 Fix signed-char isxdigit UB in EFA smaps page-size parsing (follow-up to #2504)
Mooncake (5.8k★) #2460 Support EulerOS in dependencies installer
PyTorch (101.8k★) #188027 Initialize r in the Laguerre and Legendre polynomial helpers so they stop returning uninitialized memory on the boundary path (shows as Closed; landed via pytorchmergebot)
PyTorch (101.8k★) #187643 Fix a ValueError in the stale_issues workflow's parse_older_than on non-leap years, where a naive Feb 29 offset crashed the run (shows as Closed; landed via pytorchmergebot)
PyTorch (101.8k★) #188022 Guard the CuTeDSL topk override against a non-current CUDA device so it stops dispatching on the wrong device (shows as Closed; landed via pytorchmergebot)
PyTorch (101.8k★) #187262 Remove the obsolete setuptools upper bound so builds resolve a current toolchain instead of pinning a stale one (shows as Closed; landed via pytorchmergebot)
PyTorch (101.8k★) #176100 Fix user-defined Triton kernel name mangling in the Inductor codegen so distinct kernels stop colliding in generated code (shows as Closed; landed via pytorchmergebot)
DeepSpeed (42.7k★) #8049 Eigenvalue monitor values were computed but never logged; wired them through so they actually land in the record.
Transformers (162.6k★) #44710 AutoProcessor.from_pretrained was silently dropping hub kwargs like revision and token.
ms-swift (14.8k★) #9642 Empty rejected_messages now fail fast in dataset prep instead of crashing DPO mid-training.
ms-swift (14.8k★) #9605 Different-format images collided in the temp image cache; folded mode and size into the key.
ms-swift (14.8k★) #9612 _replace_system was flattening non-string prefix elements, stripping the structured content out of templated system prompts.
SGLang (30.3k★) #20739 Fix hybrid_linear_attn_backend crash when used with ngram speculative decoding
SGLang (30.3k★) #21472 Fix PicklingError with --backend diffusers on non-T2I models
TRL (18.8k★) #6054 An already-transformed dataset in SFT prep now fails fast, instead of silently producing wrong training batches.
TRL (18.8k★) #6063 Preserve vllm prompt special tokens
Triton (19.6k★) #9613 Fix AxisInfo correctness: signed constants, unknown shift divisibility, and shift UB guards
Triton (19.6k★) #10689 Keep at least one config when a fractional top_k rounds to zero
Triton (19.6k★) #10687 is_power_of_two(0) was returning True.
LiteLLM (53.6k★) #26401 Fix LITELLM_LOG=INFO missing verbose_logger: proxy INFO logs now include all verbose logger sources
LMCache (10.5k★) #3245 Retain producer-side CUDA IPC events across MP store/retrieve so daemon IPC handles don't dereference collected events.
LMCache (10.5k★) #3282 Handle HND GPU KV layouts in MP KV transfer, which previously mishandled that tensor format.
FlashInfer (5.9k★) #2756 Fix autotuner crash when input tensor is None: proper None-checking for optional inputs (fixes #2749)
FlashInfer (5.9k★) #2772 Fix compilation error: add missing <optional> header for std::optional usage in CUTLASS headers
Google Gen AI SDK (3.8k★) #2564 Keep Live Music API keys out of websocket URLs by relying on request headers instead of duplicating secrets in query strings
verl (22.4k★) #6620 Derived the colocated vLLM weight-sync ZMQ socket rank from the DP and TP ranks, so DP workers stop colliding on one receiver.

Agent frameworks / protocols / evals

Project PR What I Fixed
OpenClaw (382.9k★) #41271 Log auth profile resolution failures instead of swallowing silently
OpenClaw (382.9k★) #41259 Propagate memory directory creation failures instead of continuing after a failed ensureDir
OpenClaw (382.9k★) #96456 Clip progress text on code-point boundaries to avoid lone surrogates
OpenClaw (382.9k★) #106603 Use the canonical shortenHomePath in the sandbox-root escape error so the reported path matches the rest of the UI.
OpenClaw (382.9k★) #96562 Keep sibling dirs that share the home prefix unshortened in tool path display
Qwen Code (26.0k★) #4716 Routed /bug, /docs, and /insight browser launches through the secure opener so headless environments stop crashing on raw open.
Qwen Code (26.0k★) #4829 Added a timeout to Qwen OAuth refresh so a stalled refresh endpoint can't hang the CLI on auth recovery.
Qwen Code (26.0k★) #5946 Isolate Anthropic SDK abort listener leak with per-request child controllers
Qwen Code (26.0k★) #4622 Kept assistant tool calls adjacent to their results, so OpenAI-compatible providers stop rejecting repaired histories.
Qwen Code (26.0k★) #5071 Submit fast tool results after stream end, so a race at the tail of streaming can't strand completed calls.
Qwen Code (26.0k★) #5058 Stopped stale tool-schema recall from slipping outdated tool names back into later planning turns.
Qwen Code (26.0k★) #5020 Drop tool calls after a cancellation so an aborted turn can't leak stale requests into the next payload.
Qwen Code (26.0k★) #5070 Skip expired live agents in focus navigation so stale background-agent rows can't grab keyboard focus.
Qwen Code (26.0k★) #5061 Preserve background-agent launch flags so a delegated CLI run keeps the execution mode you asked for.
Qwen Code (26.0k★) #5077 Show the full plan when a permission gate blocks, so you can inspect the agent's intent instead of losing it.
Qwen Code (26.0k★) #4715 Managed auto-memory now honors the runtime output dir, while an explicit memory-dir override still wins.
Qwen Code (26.0k★) #5815 Merging assistant turns was dropping reasoning_content, losing multi-turn chain-of-thought.
Qwen Code (26.0k★) #5945 Reject non-positive sessionRecapAwayThresholdMinutes values
Qwen Code (26.0k★) #4970 Stabilize truncated tool-retry keys so a repaired call keeps the same retry identity instead of drifting.
Qwen Code (26.0k★) #5073 Warn when context instruction files blow the configured budget, before oversized repo guidance quietly crowds out the task.
Qwen Code (26.0k★) #5752 Parse QWEN_SERVE_MCP_CLIENT_BUDGET strictly as a decimal integer
Qwen Code (26.0k★) #5043 Let grep results satisfy the prior-read check, so an edit can proceed on verified search context instead of a redundant re-read.
Qwen Code (26.0k★) #5679 Parse agent & workflow integer env vars strictly
Qwen Code (26.0k★) #5194 Read WebP VP8X canvas height from the correct byte offset
Qwen Code (26.0k★) #4639 Dropped the discontinued Qwen OAuth path from ACP login so nobody gets routed into a dead auth method.
Qwen Code (26.0k★) #4596 Recurse into tracked Git submodules when crawling a repo, so the agent's context picks up files inside them.
Qwen Code (26.0k★) #5036 Actually hard-stop repeated identical tool calls once loop detection fires, instead of letting the agent keep hammering the same stalled action.
Qwen Code (26.0k★) #5062 Carry token-escalation context across agent rounds so a delegated run stops restarting from an under-provisioned model each time.
Qwen Code (26.0k★) #4636 Apply the requested output language to side queries too, so auxiliary answers follow the same language contract.
Qwen Code (26.0k★) #4963 Enable fork subagents by default, so delegated work runs in isolated branches without a manual opt-in.
Qwen Code (26.0k★) #4673 Restore top-level --list-extensions / -l so it prints installed extensions and exits before sandbox, auth, or TUI startup
Qwen Code (26.0k★) #4717 Replace exit-time deep history clones with shallow read paths across copy, arena, and ACP snapshot flows while keeping restore-time cloning defensive
Qwen Code (26.0k★) #5115 Hide teammate-only agent names when teams are disabled and fall back to one-shot subagents if an old prompt still sends one
Qwen Code (26.0k★) #4635 Hide completed sticky todos from the active CLI view so the list stays on what's left.
Qwen Code (26.0k★) #4632 Harden context-error text extraction so a nested or non-string payload surfaces a useful message instead of vanishing.
Qwen Code (26.0k★) #5072 Stabilize the simple MCP integration check so server-readiness timing stops making the cross-process contract test flaky.
Qwen Code (26.0k★) #5167 Hide unconfigured discontinued OAuth model
Qwen Code (26.0k★) #4828 Keep a user-set shared baseUrl after auth refresh, so a same-model refresh doesn't fall back to the provider default.
Qwen Code (26.0k★) #5461 Accept uppercase URL schemes in Claude plugin sources
Qwen Code (26.0k★) #5209 Read SHORT-typed TIFF dimensions correctly on big-endian files
Qwen Code (26.0k★) #4607 Fix IDE proxy requests by keeping fetch and EnvHttpProxyAgent on the same bundled undici module path
Qwen Code (26.0k★) #5719 Validate list maxEntries as a positive integer
Qwen Code (26.0k★) #5630 Escape backslashes and quotes in emacs ediff paths
Qwen Code (26.0k★) #4738 Skip hidden thought parts when copying visible CLI output, so the clipboard matches what's on screen.
Qwen Code (26.0k★) #5426 Accept uppercase URL schemes in mcp add transport detection
Qwen Code (26.0k★) #5494 Don't treat an empty-parts message as a function call/response
Qwen Code (26.0k★) #5285 Confirm the WEBP signature, not just the RIFF prefix
Qwen Code (26.0k★) #5420 Keep estimated token split summing to total
Qwen Code (26.0k★) #5336 Detect WebP and AVI in RIFF magic-byte sniffing
Qwen Code (26.0k★) #5328 Keep qwen3.6-flash and kimi-k2.6 presets text-only
Qwen Code (26.0k★) #5227 Read BMP height as signed int32 for top-down bitmaps
Qwen Code (26.0k★) #5429 Accept uppercase URL schemes when parsing install sources
Qwen Code (26.0k★) #4600 Distinguish AUTO from AUTO_EDIT approval-mode indicators in the TUI, including shared styling, i18n keys, and visual evidence
Qwen Code (26.0k★) #5647 Detect USE_OPENAI auth when the model is set via QWEN_MODEL
Qwen Code (26.0k★) #5287 Render a sub-minute duration that rounds to 60s as "1m"
Qwen Code (26.0k★) #5204 Reopen code fences without inserting a blank line
deer-flow (77.0k★) #4157 A subagent's description is agent-editable (setup_agent / update_agent) yet was rendered raw into the <subagent_system> block, so a crafted first line could break out and forge framework tags. Escaped it, matching the <soul> fix.
deer-flow (77.0k★) #4137 HTML-escape SOUL.md before it enters the <soul> system-prompt block so an agent-editable personality cannot forge framework tags and break out of its trust zone
deer-flow (77.0k★) #3797 Synchronize the MCP session-pool singleton lifecycle so concurrent first-use cannot create duplicate pools
deer-flow (77.0k★) #3799 Serialize per-chat thread creation so concurrent messages stop spawning duplicate threads for one chat.
deer-flow (77.0k★) #3719 Skip whitespace-only facts in _apply_updates so blank memory entries do not accumulate
deer-flow (77.0k★) #3778 Synchronize skill storage singleton lifecycle
deer-flow (77.0k★) #3631 Strip base64 image data from streamed values events
deer-flow (77.0k★) #3709 Fix positional fallback consuming unrelated todo when same-content list is exhausted
deer-flow (77.0k★) #3674 Let UI runtime channel config win over config.yaml
deer-flow (77.0k★) #4130 Recognize remaining requests/httpx HTTP methods as network sinks
Microsoft Agent Framework (12.1k★) #5808 Handoff was mutating message roles in place, so a retry leaked the change; reuse sanitized copies instead.
Microsoft Agent Framework (12.1k★) #5462 Fix background=True + tools infinite-retrieve loop: clear completed continuation state so tool results get posted
Microsoft Agent Framework (12.1k★) #6210 Drop hosted MCP tool-call history when reasoning payloads are stripped, so stateless OpenAI replay stops sending orphan MCP calls.
Microsoft Agent Framework (12.1k★) #5815 Forward MCP tools/list metadata into call_tool instrumentation so traces keep their tool annotations.
Microsoft Agent Framework (12.1k★) #5784 Skip orphan Anthropic thinking signatures when converting history, so a replay doesn't carry an invalid standalone signature.
Microsoft Agent Framework (12.1k★) #6132 Filter filesystem checkpoint indexes by session id, so reopening a store stops returning another session's checkpoints.
Microsoft Agent Framework (12.1k★) #5773 Run synchronous Python tools off the event loop so a blocking call stops freezing concurrent agent work.
Microsoft Agent Framework (12.1k★) #5801 Coalesce streamed code-interpreter history by call id, so stored history keeps the full code and results without duplicated deltas.
Microsoft Agent Framework (12.1k★) #6491 .NET: fix fan-in barrier checkpoint state
Microsoft Agent Framework (12.1k★) #5861 Foundry handoff arguments were losing their structure in response conversion, breaking delegated agent calls; preserved them.
Microsoft Agent Framework (12.1k★) #6208 Declarative Foreach was collapsing multi-field PowerFx table rows; preserve the full record value through iteration.
Microsoft Agent Framework (12.1k★) #6640 Python: surface cache and reasoning token counts for the Bedrock and Gemini connectors
Microsoft Agent Framework (12.1k★) #5904 Keep ChatClientAgent's local history provider on for AG-UI thread ids, so session history isn't mistaken for service-managed model history.
Microsoft Agent Framework (12.1k★) #5778 Declare the Magentic protocol messages so orchestrator chat/reset signals deserialize instead of blowing up on an unknown type.
Microsoft Agent Framework (12.1k★) #5976 Fix sequential workflow sample output so all participant responses are shown from non-streaming results
Microsoft Agent Framework (12.1k★) #5800 Avoid AG-UI tool result message id collisions when providers omit update ids
Microsoft Agent Framework (12.1k★) #6040 Forward a Foundry agent's default_headers into OpenAI client creation, so custom auth and routing headers survive setup.
Microsoft Agent Framework (12.1k★) #5974 Include Foundry agent tool definitions in eval mappings so evaluator runs can call code-defined tools
Microsoft Agent Framework (12.1k★) #5799 Add handoff workflow naming metadata so names and descriptions flow through builder and hosting registration
Microsoft Agent Framework (12.1k★) #6037 Keep Foundry citation get_url metadata through response conversion so source links survive in chat responses
AstrBot (36.3k★) #8750 Fixed changelog anchor links so dashboard release notes jump to the right section instead of a dead anchor.
AstrBot (36.3k★) #7537 Prevent Telegram media group exceptions from being silently swallowed by APScheduler
AstrBot (36.3k★) #6581 Context truncation dropping the only user message: causes 400 from Zhipu/Gemini
AstrBot (36.3k★) #8172 Prefer bundled dashboard assets over a stale data dist, so a release stops serving an outdated WebUI.
AstrBot (36.3k★) #6710 Skills-like re-query dropping image captions: extra_user_content_parts not forwarded
AstrBot (36.3k★) #8736 Preserve embedding API version suffixes so a versioned provider endpoint doesn't get normalized to the wrong path.
AstrBot (36.3k★) #6474 SQLite database is locked under concurrent writes: added busy timeout
AstrBot (36.3k★) #7196 Fix Gemini thinking parts leaking into user-facing response
AstrBot (36.3k★) #7758 Apply empty-assistant message filter to streaming OpenAI path: strict providers no longer 400 on reasoning-only turns
AstrBot (36.3k★) #6656 /stop follow-up race: agent_stop flag not checked during follow-up capture
AstrBot (36.3k★) #8089 Route image requests to a vision-capable fallback provider when the primary provider cannot accept image input
AstrBot (36.3k★) #8718 Avoid duplicate quoted image captions when multimodal replies include both quoted text and image metadata
AstrBot (36.3k★) #8786 Enforce persona tool boundaries
AstrBot (36.3k★) #6313 Null choices guard: OpenAI API returning None instead of empty list
AstrBot (36.3k★) #8175 Surface WeChat OA media send failures instead of reporting success after prepare/send timeouts
AstrBot (36.3k★) #6596 Multimodal token counting: images, audio, chain-of-thought were invisible to context compression
AstrBot (36.3k★) #7398 Fix Telegram sendMessageDraft spamming 400 errors on empty text in streaming mode
AstrBot (36.3k★) #8061 Keep Discord startup alive when command sync hits the daily create quota; only quota errors become warnings
AstrBot (36.3k★) #8255 Support RST and AsciiDoc knowledge uploads by keeping backend parser checks and dashboard file validation in sync
AstrBot (36.3k★) #8195 Skip empty LLM summaries so context compression keeps the original history instead of inserting a blank placeholder.
AstrBot (36.3k★) #8073 Fix image-only KB retrieval: skip blank prompts so embedding APIs are not called with empty text
AstrBot (36.3k★) #7407 Fix Gemini native search 400 when no function tools: skip FunctionCallingConfig
AstrBot (36.3k★) #7217 Fix qwen3-rerank response parsing: handle both old and new Dashscope API formats
AstrBot (36.3k★) #8119 Pass image inputs through active replies so image-triggered mentions reach the LLM as image URLs
AstrBot (36.3k★) #8768 Sanitize Lark platform id suffixes so invisible whitespace in configured ids does not break platform matching
AstrBot (36.3k★) #6527 Fix LLM tool selection: rewrote ambiguous Upload/Download descriptions
AstrBot (36.3k★) #7216 Fix Gemini tool call 400: wrap plain-text tool results as Protobuf Struct
AstrBot (36.3k★) #7003 SSE heartbeat for WebChat: long context compression killed the connection
AstrBot (36.3k★) #6551 Fix empty content causing Grok 400: set content to None when empty
AstrBot (36.3k★) #8388 Add the missing dashboard i18n for plugin sub-command counts, so extension details stop showing raw translation keys.
MCP Toolbox (15.9k★) #3531 Validate the Looker explore_references shape instead of panicking on malformed input
MCP Toolbox (15.9k★) #3516 Return an error instead of panicking when a parameter type field is not a string
MCP Toolbox (15.9k★) #3512 Report the offending value in array/map parameter type errors
MCP Toolbox (15.9k★) #3416 Document execute_sql least-privilege setup
AgentScope (27.8k★) #1717 Hide Bash tool subprocess windows on Windows with CREATE_NO_WINDOW, while leaving non-Windows process creation unchanged
AgentScope (27.8k★) #1815 Inherit the leader's permission rules in team runs, so delegated agents keep the same workspace and file-access limits.
AgentScope (27.8k★) #1734 Refresh Redis message-list TTL on append and streaming replace, so the configured storage TTL actually bounds chat history.
AgentScope (27.8k★) #1883 Handle Gemini function calls without an id
AgentScope (27.8k★) #1786 Keep a caller-provided Redis session id on create, so later get/update/list hit the same session instead of a fresh UUID.
AgentScope (27.8k★) #1732 Pull skills from every active tool group, so prompt instructions and the Skill viewer match the enabled tools.
AgentScope (27.8k★) #1774 Forward explicitly configured Qwen thinking_enable into OpenAI-compatible extra_body without polluting normal OpenAI requests
AgentScope (27.8k★) #1823 Add workspace roots to the permission context, so a chat run authorizes files against the workspace the agent can actually see.
AgentScope (27.8k★) #1822 Add a cwd option to the built-in Bash tool so shell commands can run in the intended workspace directory
OpenAI Agents SDK (27.9k★) #3643 Report the effective Blaxel timeouts instead of the unconfigured defaults
promptfoo (23.2k★) #9867 Avoid crashing on an empty choices array when reading Azure logprobs
promptfoo (23.2k★) #9897 Guard array access in the Bedrock Titan and Cohere providers so an empty response array stops crashing generation.
promptfoo (23.2k★) #10076 A tool-call assertion crashed with a TypeError when the tool call was missing its function object; return pass:false instead.
promptfoo (23.2k★) #9815 Reject a malformed __expected0 CSV header instead of silently dropping its assertion
promptfoo (23.2k★) #9761 Preserve quoted commas in contains-any/all assertion values
promptfoo (23.2k★) #9840 Preserve JSONL row description instead of overwriting
promptfoo (23.2k★) #9757 Unescape all escaped commas in array metadata values
promptfoo (23.2k★) #9841 Return pass:false for empty output instead of throwing
promptfoo (23.2k★) #9822 Keep ellipsize within maxLen when maxLen is below 3
Google ADK (20.6k★) #5698 Include intermediate responses in final_response_match_v2 judging when the criterion opts in
Google ADK (20.6k★) #5918 Allow the builder assistant's internal app name through CLI runner validation so adk web can open the special agent
Mem0 (60.8k★) #5416 Use valid S3 Vectors entity index names so agent memory writes no longer hit AWS index-name validation failures
Mem0 (60.8k★) #5383 Skip OpenClaw runtime setup during CLI metadata registration, so plugin discovery stops double-registering runtime side effects.
Mem0 (60.8k★) #5380 Expose Qdrant's https option so a self-hosted HTTP cluster can use API-key auth without being forced into TLS client mode.
AG-UI (14.7k★) #1735 Avoid stale ADK session writes after human-in-the-loop tool calls
AG-UI (14.7k★) #1832 Preserve AG-UI input metadata when LangGraph converts text and media blocks into LangChain multimodal content
AG-UI (14.7k★) #1890 Cache ADK session reads within one execution, so a remote session service isn't refetched before every agent run.
AG-UI (14.7k★) #1828 Detect Strands' private session manager so AG-UI history replay respects an active session instead of replaying prior turns.
AG-UI (14.7k★) #1829 Close LangGraph text messages before tool-call chunks so text-to-tool transitions keep both message and tool events
AG-UI (14.7k★) #1889 Collect output-schema agents when building ADK workflow graphs, so structured-output nodes don't get dropped.
AG-UI (14.7k★) #1848 Bundle replayed tool results
AG-UI (14.7k★) #1826 Forward LangGraph runtime context through tool kwargs so graph tools keep the caller's execution context.
AG-UI (14.7k★) #1769 Make proto generation cross-platform: replace Unix-only mkdir -p with a Node script and Windows .CMD plugin shim
AG-UI (14.7k★) #1730 Allow CopilotKit 1.x runtime peer
goose (51.2k★) #9599 Use a blocking OTLP HTTP exporter so telemetry isn't lost when the process exits.
goose (51.2k★) #9528 Restore new-chat keyboard shortcut navigation in the desktop app
goose (51.2k★) #9584 Show resolved skill supporting-file paths instead of unresolved placeholders
opencode (185.8k★) #30022 Bind the MCP OAuth callback server to the IPv4 loopback so the browser redirect connects reliably instead of racing IPv6
LiveKit Agents (11.3k★) #5994 Handle OpenAI-compatible realtime status details that come back as strings, so an incomplete response doesn't crash logging.
LiveKit Agents (11.3k★) #5872 Map ElevenLabs server-VAD committed transcripts to END_OF_SPEECH, so a realtime turn closes without a manual empty commit.
LiveKit Agents (11.3k★) #5820 Recreate Anthropic streaming requests on retry so transient stream creation failures do not re-await the same coroutine
LiveKit Agents (11.3k★) #5976 Preserve request timeouts when callers provide custom Google HTTP options, without mutating the caller-owned options object
LiveKit Agents (11.3k★) #5864 Surface Soniox STT server errors instead of treating failed streams as empty transcripts
LiveKit Agents (11.3k★) #6124 Normalize two-digit years in GetDOBTask
LiveKit Agents (11.3k★) #5887 Delete trimmed empty audio items
Strands Agents SDK (6.5k★) #2353 Handle Gemini safety-blocked metadata by defaulting missing usage counts and mapping safety stops to guardrail intervention
Strands Agents SDK (6.5k★) #2340 Keep concurrent tool results in request order, so parallel execution doesn't scramble what the model sees.
Strands Agents SDK (6.5k★) #2400 Support non-streaming OpenAI chat completions
Strands Agents SDK (6.5k★) #2656 Handle empty Bedrock content blocks
Strands Agents SDK (6.5k★) #2354 Read vLLM delta.reasoning chunks in OpenAI-compatible streams so reasoning output survives provider conversion.
Strands Agents SDK (6.5k★) #2823 Avoid UnboundLocalError on empty model stream
Strands Agents SDK (6.5k★) #2304 Map webp images explicitly
Strands Agents SDK (6.5k★) #2396 Pass structured output request params
Strands Agents SDK (6.5k★) #2306 Normalize 3gp video format
OpenHands (80.7k★) #14776 Keep a custom LLM base URL when editing basic model settings, so a saved profile stops silently falling back to the provider default.
Pydantic AI (18.5k★) #5474 Accept providerExecuted and title on Vercel AI dynamic-tool parts, so strict validation keeps the provider metadata.
Pydantic AI (18.5k★) #5695 Forward penalties in completions
Pydantic AI (18.5k★) #5694 Fix MCPToolset(http_client=...) with FastMCP by keeping follow_redirects out of caller-provided HTTP client factories
Cline (64.6k★) #11166 Keep file search working when the open-tabs host RPC is down by falling back to system rg.
Agno (41.1k★) #8131 Preserve non-sentinel tool argument whitespace while keeping string-to-None/True/False normalization for exact sentinels
Inspect AI (2.3k★) #4267 Keep truncate() within length when smaller than the overflow indicator
Inspect AI (2.3k★) #3924 Reject unknown GenerateConfig fields up front, so a misspelled option isn't silently ignored.
Inspect AI (2.3k★) #4363 Return NaN instead of crashing when reducing an empty score list
Inspect AI (2.3k★) #3902 Parse OpenRouter reasoning_details in OpenAI-compatible responses instead of surfacing Python repr blocks
Inspect AI (2.3k★) #3941 Route Bedrock Nova top_k through the inference config instead of dropping the sampling control
Inspect AI (2.3k★) #3896 Fix filestore recovery append mode: preserve carried message/tool-call pools without rehashing old segments
Inspect AI (2.3k★) #4342 Don't cache reasoning_summaries probe failures that are transient
Inspect AI (2.3k★) #3975 Preserve call-site generation defaults when a role model override resolves, so switching a role's model doesn't drop settings like max tokens or reasoning effort.
Inspect AI (2.3k★) #4069 Flush streamed score samples periodically, so a long eval persists score rows before it finishes.
Inspect AI (2.3k★) #4303 Reject sample limits with more than one dash
Inspect AI (2.3k★) #4218 Reuse torn checkpoint ids
Inspect AI (2.3k★) #3982 Preserve wrapped OpenAI reasoning payloads in the agent bridge, so encrypted provider-native reasoning survives transcript conversion.
Inspect AI (2.3k★) #4357 Raise a clear error when reducing mismatched list/dict scores
Inspect AI (2.3k★) #3895 Honor COLUMNS for TERM=dumb: log output no longer hard-wraps at Rich's default 80 columns
Inspect AI (2.3k★) #4173 Normalize buffer task directory URI
Inspect AI (2.3k★) #4300 Strip trailing separator in FileSystem.is_writeable
Inspect AI (2.3k★) #4282 Return 0 from accuracy() on empty scores
Inspect AI (2.3k★) #4090 Clarify model-graded history prompts so include_history=True and final-answer placement match the actual scorer behavior
GitHub MCP Server (31.4k★) #2514 Support team reviewers in PR review requests by resolving team slugs to review subjects instead of dropping them.
GitHub MCP Server (31.4k★) #2612 Hide write-side UI resources when the MCP server runs read-only, while keeping safe read-only resources registered
FastMCP (26.2k★) #4297 Keep required discriminator tags when building tool schemas, so union arguments stay valid.
ClawTeam (5.3k★) #1 First PR: 122 tests, CI, team templates, config bugfixes, task duration tracking
ClawTeam (5.3k★) #32 Gemini CLI support: spawn, permissions, prompt injection for both backends
ClawTeam (5.3k★) #40 Pluggable TaskStore: extract task persistence into swappable backend abstraction
ClawTeam (5.3k★) #36 Kimi CLI support: spawn backend, permission handling, 3 new test cases
EvalScope (3.0k★) #1381 Read SciCode assistant answers from OpenAI-style text content blocks, so the scorer prompt gets the real answer instead of an empty field.
OpenHarness (14.7k★) #185 TUI tab-completion: fix cursor jump, strip trailing space, accept /quit alias
Pipecat (13.4k★) #4553 Serialize interruption frames through protobuf transports so realtime voice-agent interruptions survive transport hops
MCP Registry (7.0k★) #1310 Reject mangled publisher metadata instead of accepting malformed entries
LM Evaluation Harness (13.2k★) #3822 Keep Anthropic stop sequences non-empty so requests are not rejected
MCP Go SDK (4.7k★) #962 Reject duplicate initialize requests so an MCP session keeps consistent protocol state after init.
MCP Go SDK (4.7k★) #981 Add Implementation.description metadata while keeping empty descriptions out of serialized MCP payloads
OpenHands SDK (900★) #3247 Validate git workspaces with git rev-parse --git-dir, so a broken nested repo can't crash /api/git/changes.
OpenHands SDK (900★) #3248 Serialize LiteLLM modify_params updates with an RLock so concurrent completions do not leak global parameter state
OpenHands SDK (900★) #3225 Write remote completion logs as UTF-8, so non-ASCII output survives local replay and debugging.

Applied AI / RAG / observability

Project PR What I Fixed
Firecrawl (151.0k★) #3730 Reject self-hosted scrape interact actions with a clear error instead of failing opaquely
Firecrawl (151.0k★) #3729 Keep the auth chunk in the self-host bypass path so authenticated self-hosted scrapes don't get dropped.
Firecrawl (151.0k★) #3713 Handle the async v1 batch-scrape response returned as a dict in the Python SDK
dify (148.8k★) #37425 Bound OperationService billing requests so a slow billing endpoint can't hang the request.
dify (148.8k★) #38801 Validate the conversation up front on the service-api and explore endpoints, so a bad conversation_id returns 404 instead of streaming into a late failure.
dify (148.8k★) #37685 Keep watercrawl request timeouts bounded instead of disabling them with timeout=None
dify (148.8k★) #37669 Skip empty tool entries in legacy dataset config extraction
RAGFlow (85.0k★) #15691 Skip empty agent-switch conditions so a blank branch guard can't crash or block valid downstream flows.
RAGFlow (85.0k★) #15601 Fall back when Docling native parsing returns no chunks, so a document still produces usable content instead of an empty parse.
RAGFlow (85.0k★) #15696 Keep the strongest PageRank score for repeated n-hop GraphRAG edges, so path order can't overwrite the ranking.
LightRAG (37.6k★) #3031 Extract Docling async markdown from the response envelope so RAG chunks carry clean document text, not JSON/base64 noise.
LightRAG (37.6k★) #3206 Honor PostgreSQL search_path in table-existence checks so a non-public schema is detected before migration or table creation.
LightRAG (37.6k★) #3123 Sync the API docs colors with the dark theme so endpoint examples stay readable in dark mode.
LightRAG (37.6k★) #2796 Fix None file_path propagating as unknown_source: fill gaps left by #2793
cherry-studio (48.5k★) #16352 Preserve surrogate pairs at truncation boundaries so a multi-byte character isn't split into invalid halves.
cherry-studio (48.5k★) #16454 Keep bare-URL markdown reference lines in citations instead of dropping them
cherry-studio (48.5k★) #16217 Roll relative time up at the unit boundary
cherry-studio (48.5k★) #16361 Resolve the .d.ts icon for uppercase extensions
cherry-studio (48.5k★) #16358 Drop Ideogram data[] items without a usable URL in the aihubmix path instead of rendering broken images
Phoenix (10.5k★) #13641 Expire prompt tool diffs on provider change, so PXI prompt editing stops carrying stale tool-change state across providers.
Phoenix (10.5k★) #13637 Wait for in-memory SQLite schema init before serving Phoenix, so a startup race can't hit a missing table.
Phoenix (10.5k★) #13245 Keep the generative model fetch cursor monotonic so lower-id updates cannot make later polling skip newer model changes
Phoenix (10.5k★) #13210 Return NotFound-style errors for invalid GraphQL node ids instead of leaking decoder failures to clients
Phoenix (10.5k★) #13636 Update PXI system prompt guidance to point at the current server-side Jinja templates and capability wiring instead of stale browser-side paths
Phoenix (10.5k★) #13242 Pass Anthropic computer-use beta headers for raw computer tool definitions in playground streaming and non-streaming calls
Phoenix (10.5k★) #13653 Focus the PXI input when the agent panel opens, so keyboard-first workflows start without an extra click.
Phoenix (10.5k★) #13139 Surface playground validation errors instead of returning empty subscription payloads
Phoenix (10.5k★) #13614 Refresh the prompts table while users stay on the page so newly created or updated prompts appear without a manual reload
Phoenix (10.5k★) #13261 Refresh span annotation notes after create so the UI shows newly added notes without a manual reload
Graphiti (28.7k★) #1531 Strip embedded NUL bytes from FalkorDB query params, so one malformed document string can't crash a bulk graph write.
DB-GPT (19.4k★) #3092 Require explicit opt-in before the sandbox executes on the local runtime
yfinance (24.7k★) #2867 Add a missing comma that was merging two equity-screener EPS fields into one

Recommender systems

Project PR What I Fixed
Microsoft Recommenders (21.8k★) #2349 Query GPU memory with torch first
Microsoft Recommenders (21.8k★) #2351 Fail fast when TensorFlow GPU is unavailable
Microsoft Recommenders (21.8k★) #2345 Query GPU memory through PyTorch first with numba as fallback, so GPU discovery doesn't fail when a CUDA context is unavailable.
Microsoft Recommenders (21.8k★) #2322 Honor the benchmark recommendation-count arg so eval scripts actually generate the requested top-k.
Microsoft Recommenders (21.8k★) #2350 Label MAP@k notebook outputs consistently

Hi,我是何宇峰 👋

AI Agent 研究员 & 工程师 | 曾任 Moonshot AI (Kimi) | 港大计算机硕士 | 上海全球AI大赛冠军 | 三次获ACM-ICPC银牌 | 曾在百度、脉脉、快手的AI 研发岗实习

  • 280+ 个上游 PR 已 merged,其中 vLLM(9 个)、Mooncake(24 个)、Qwen Code(51 个)、Microsoft Agent Framework(20 个)、AstrBot(30 个)、Google ADK(10 个)、Inspect AI(18 个)、Hugging Face Transformers(1 个)、PyTorch(5 个)。
  • 代表性公开项目(star 100+):CoreCoder、FindJobs-Agent、RepoWiki、ContractGuard。

项目

方向 项目 Stars 简介
Coding agents / 评测 CoreCoder 1.5k+ Claude Code 51万行源码 → 1400行 Python 核心重写,支持任意大模型,附 7 篇架构导读。
应用型 Agent FindJobs-Agent 200+ LLM 求职工具箱:技能差距分析、模拟面试、简历优化和岗位结构化。
代码库地图 RepoWiki 200+ 开源 DeepWiki 替代品:CLI 或浏览器生成仓库 wiki,PageRank 文件排名、Mermaid 架构图、阅读指南。
应用型 Agent ContractGuard 100+ AI 合同审查 Agent,签字前帮你找红旗条款、不公平约定和缺失保护。
代码库地图 GitSense 100+ AI 开源贡献发现器 + 仓库雷达:找匹配 issue,也评估 PR 合入友好度。
代码理解 CodeABC new 面向非程序员的 AI 代码阅读器:大白话文件导读、悬浮批注、术语词典、问答、自然语言改写。
Coding agents / 评测 AgentProbe new AI Agent 回归测试 pytest 插件:快照基线、语义比较、Mock LLM。
Coding agents / 评测 AnyCoder new 终端 AI 编程 Agent,通过 litellm 支持 100+ 大模型,危险命令拦截、并行执行、会话持久化。
Coding agents / 评测 CodeJoust new AI 编程 Agent 擂台:独立 git worktree 运行,按测试通过率、成本、diff 大小、耗时打分。
Coding agents / 评测 LiteBench new LLM / Agent benchmark 轻量 CLI + Web 面板:agent 模式、自定义 YAML、LLM judge、100+ litellm 模型。
Agent 工具 RuleForge new 从代码库分析自动生成 AI 助手规则文件(CLAUDE.md、.cursorrules、copilot-instructions)。
LLM 工具 PromptDiff new LLM prompt 语义 diff:像 git diff 一样比较 prompt 版本。
LLM 工具 TokenTracker new 即插即用的 LLM 成本追踪:改一行 import 就能看清钱花在哪。支持 OpenAI、OpenRouter、Azure、Ollama。
LLM 工具 BatchLLM new LLM API 批处理:CSV/JSONL 进、结果出,支持并发、重试、断点续跑和成本追踪。
应用型 Agent IslandEscape new 2D 像素风生存交易游戏:四个 LLM agent 扮演岛民,各有性格、用自然语言谈判交易、结盟博弈;和他们赛跑攒到 100 金币逃离孤岛。
Agent / MCP / CI 工具 agentcikit new 一个 CLI 覆盖 AI agent、MCP 和开源贡献工作:把 CI 失败转成复现计划、给 coding agent 打包任务上下文、给 MCP server 做门禁和回放、测试工具调用安全。内含 ci-repropatch-contextmcp-gatemcp-replaytool-fence
Coding agents / 评测 IssueBenchKit new 把真实 GitHub issue 和本地 bug 打包成可复现、可评分、可分享的 coding-agent benchmark 任务。
Agent 可观测性 FlightBox new AI Agent 黑盒飞行记录器:录制、脱敏、回放并 diff 本地 agent session。
量化 / 强化学习 DRL-MultiFactorTrading new 深度强化学习交易:Double DQN + Transformer attention 叠加 Fama-French 式多因子模型,含自适应风控和波动率目标。
研究 adversarial-refinement-imputation new MiLeTS 2026 论文配套代码:把 R3GAN 适配到多元时间序列填补,一个范围清晰的负结果。
研究 TrajBias new 研究 LLM-as-judge 评估 agent 轨迹时的结构性偏差。

开源贡献

AI infra / 模型系统

项目 PR 修了啥
vLLM (86.2k★) #37884 RoBERTa 的 position_ids 原地累积串进了 CUDA graph 的 padding,BGE-M3 跑到约 4000 请求就崩。
vLLM (86.2k★) #38732 修复 bench_serve 流式响应拆分多字节 UTF-8 字符导致 decode 崩溃
vLLM (86.2k★) #37727 Responses API 的 instructions 顺着 previous_response_id 链泄漏到了后续轮次。
vLLM (86.2k★) #43243 Qwen3 XML tool-call 参数先按 JSON 解析,null/false 这类 literal 在流式解析里不再被当成 Python 字面量拒掉。
vLLM (86.2k★) #37699 修复 weight offloading 忽略 VLLM_WEIGHT_OFFLOADING_DISABLE_PIN_MEMORY 环境变量
vLLM (86.2k★) #40789 让 V1 ubatch wrapper 认得 tuple model outputs,解开 DBO 和投机解码在 tuple 返回值上的崩溃。
vLLM (86.2k★) #44821 给 DeepSeek V4 MTP projection layers 补 prefix,让 compressed-tensors 加载 draft model 时能匹配 artifact 侧 target / ignore 规则
vLLM (86.2k★) #42679 保护 flash-attn rotary 导入路径,让 FA4 环境缺少 flash_attn.ops.triton.rotary 时稳定回退而不是构造 rotary 层时崩溃
vLLM (86.2k★) #37301 修复 base64 JPEG 视频帧返回空 metadata:补充帧数、fps、时长
Mooncake (5.8k★) #1629 GB200 MNNVL EP hang:cudaMalloccuMemCreate(FABRIC) + cuMemMap 跨节点 NVLink 通信
Mooncake (5.8k★) #1644 MNNVL warmup hang:跳过 fabric 连接节点的冗余握手
Mooncake (5.8k★) #2570 修复 BatchOffload 处理 >4 GiB 对象时的整数溢出:用 uint64_t 累加各 slice 大小,并拒绝超过 uint32_t 记录 value_len 的对象,而不是静默截断
Mooncake (5.8k★) #2311 rpc_meta 内容没变时重复发布保持幂等,真正改了值才拒绝。
Mooncake (5.8k★) #1825 修复 P2PClientService::Put 静默吞掉写入错误:传播实际错误码给调用方
Mooncake (5.8k★) #2651 Init 遇到非数字命名的 bucket 文件时跳过,而不是直接 abort
Mooncake (5.8k★) #2629 MC_MS_AUTO_DISC 值非法时不再中断 client 初始化
Mooncake (5.8k★) #2610 重构时漏掉了 RdmaTransport::submitTransfer 里每个 task 的 request 指针赋值,下游全拿到 null,status、重试、计费回读全废。追回来补上了这个关联。
Mooncake (5.8k★) #1728 Hard pin 驱逐保护:模型权重永不被驱逐,const 字段 + BatchEvict 跳过 + 向后兼容序列化
Mooncake (5.8k★) #1719 新增 ObjectDataType 元数据分类:KV cache、weights、tensors 等对象类型可在 metadata、snapshot 和 Python binding 中稳定传递
Mooncake (5.8k★) #2402 Python buddy allocator backing buffer 分配失败时直接拒绝,避免把 null raw buffer 放进 managed slab
Mooncake (5.8k★) #2628 修复 CopyEnd/MoveEnd 在 source 非法时的 source 引用计数泄漏
Mooncake (5.8k★) #2500 单 key remove 重试成功后,不再把整个 bundle cleanup 判为失败
Mooncake (5.8k★) #1831 TENT NVLink IPC 修复:sub-allocated GPU tensor 使用 base pointer,将 #1622 修复移植到 TENT 路径
Mooncake (5.8k★) #2606 为节点内 NVLink 构建补上 cudaStreamQuery 映射
Mooncake (5.8k★) #1626 修复非内存副本的错误日志刷屏
Mooncake (5.8k★) #2506 from_file 里把 enable_ssd_offload 的字符串布尔值正确解析
Mooncake (5.8k★) #2641 MC_TCP_SLICE_SIZE 解析裹上 std::stoull 异常守卫,非法值不再抛未捕获异常
Mooncake (5.8k★) #2627 UrmaContext 析构里的 endpoint_store_ 加空指针守卫,避免析构时崩溃
Mooncake (5.8k★) #2403 清掉失败的 io_uring sub-batch 初始化状态,别让半成品 transfer batch 把坏状态带进后续 setup。
Mooncake (5.8k★) #2602 handle_existis_exist 报错时返回 HTTP 500,而不是当成“不存在”
Mooncake (5.8k★) #2617 在 EFA/鲲鹏 submitTransfer 里补回 task.request 关联(与 RDMA 路径同类漏赋值)
Mooncake (5.8k★) #2619 修复 EFA smaps page-size 解析里 signed char 传 isxdigit 的 UB(#2504 的后续)
Mooncake (5.8k★) #2460 依赖安装脚本支持 EulerOS
PyTorch (101.8k★) #188027 在 Laguerre / Legendre 多项式的辅助函数里初始化 r,避免边界路径返回未初始化内存(PR 显示 Closed,经 pytorchmergebot 合入)
PyTorch (101.8k★) #187643 修复 stale_issues workflow 的 parse_older_than 在非闰年崩溃:朴素的 2 月 29 日偏移会抛 ValueError(PR 显示 Closed,经 pytorchmergebot 合入)
PyTorch (101.8k★) #188022 让 CuTeDSL 的 topk override 守住非当前 CUDA 设备,避免把工作分发到错误设备(PR 显示 Closed,经 pytorchmergebot 合入)
PyTorch (101.8k★) #187262 移除过时的 setuptools 版本上限,让构建解析到当前工具链而不是被钉在旧版本(PR 显示 Closed,经 pytorchmergebot 合入)
PyTorch (101.8k★) #176100 修复 Inductor codegen 中用户自定义 Triton kernel 的名称修饰,避免不同 kernel 在生成代码里命名冲突(PR 显示 Closed,经 pytorchmergebot 合入)
DeepSpeed (42.7k★) #8049 eigenvalue monitor 的值算了却没写日志,接上后才真正落进记录。
Transformers (162.6k★) #44710 AutoProcessor.from_pretrained 静默丢掉了 revisiontoken 这些 hub kwargs。
ms-swift (14.8k★) #9642 DPO 数据准备阶段遇到空 rejected_messages 直接快速失败,不用等训练跑到一半才崩。
ms-swift (14.8k★) #9605 不同格式的图片在临时缓存里撞了键,把 mode 和 size 也纳入 key 才分开。
ms-swift (14.8k★) #9612 _replace_system 把非字符串的 prefix 元素压平了,模板化 system prompt 的结构化内容被抹掉。
SGLang (30.3k★) #20739 修复 hybrid_linear_attn_backend 与 ngram 投机采样同时使用时崩溃
SGLang (30.3k★) #21472 修复 --backend diffusers 在非 T2I 模型上的 PicklingError
TRL (18.8k★) #6054 SFT 准备阶段遇到已经转换过的数据集直接报错,别静默产出错的训练 batch。
TRL (18.8k★) #6063 保留 vLLM prompt 的 special tokens
Triton (19.6k★) #9613 修复 AxisInfo 正确性:有符号常量、未知 shift 和 shift UB 都保守处理
Triton (19.6k★) #10689 分数 top_k 向下取整为 0 时至少保留一个 config
Triton (19.6k★) #10687 is_power_of_two(0) 误返回了 True。
LiteLLM (53.6k★) #26401 修复 LITELLM_LOG=INFO 漏设 verbose_logger:proxy INFO 日志不再静默丢失
LMCache (10.5k★) #3245 MP store/retrieve 期间留住 producer 侧的 CUDA IPC event,别让 daemon 拿着已回收的 handle 去恢复。
LMCache (10.5k★) #3282 MP KV transfer 处理 HND 这种 GPU KV layout,之前这种排布会被算错。
FlashInfer (5.9k★) #2756 修复 autotuner 在输入 tensor 为 None 时崩溃(fixes #2749)
FlashInfer (5.9k★) #2772 修复编译错误:CUTLASS 头文件缺少 <optional> include 导致 std::optional 未定义
Google Gen AI SDK (3.8k★) #2564 让 Live Music API key 不再进入 websocket URL query,改由请求 header 承载,避免密钥出现在日志和代理路径里
verl (22.4k★) #6620 按 DP 和 TP rank 算 colocated vLLM 权重同步的 ZMQ socket rank,多个 DP worker 不再挤到同一个 receiver。

Agent 框架 / 协议 / 评测

项目 PR 修了啥
OpenClaw (382.9k★) #41271 认证配置解析失败时记录日志而非静默吞掉
OpenClaw (382.9k★) #41259 目录创建失败时向上传递错误,避免 memory ensureDir 静默失败后继续执行
OpenClaw (382.9k★) #96456 按码点边界裁剪进度文本,避免落单的 surrogate
OpenClaw (382.9k★) #106603 sandbox-root 越界错误里改用规范的 shortenHomePath,报的路径和界面其余部分一致。
OpenClaw (382.9k★) #96562 工具路径显示里,共享 home 前缀的同级目录不再被误缩写
Qwen Code (26.0k★) #4716 /bug/docs/insight 的浏览器打开走安全 launcher,headless 环境不再因为直接 open 崩。
Qwen Code (26.0k★) #4829 给 Qwen OAuth refresh 加超时,刷新端点卡住时不会把整个 CLI 挂在认证恢复上。
Qwen Code (26.0k★) #5946 用 per-request 子 controller 隔离 Anthropic SDK 的 abort listener 泄漏,避免跨请求累积死监听器
Qwen Code (26.0k★) #4622 让 assistant 的 tool call 和它的 result 挨着,修复过的历史不再被 OpenAI 兼容 provider 拒。
Qwen Code (26.0k★) #5071 流式结束后再提交已完成的快速 tool result,别让流尾的竞态把它们卡在本地队列。
Qwen Code (26.0k★) #5058 掐掉 stale 的 tool schema recall,别让 memory warning 把过期工具名带回后面的规划轮次。
Qwen Code (26.0k★) #5020 取消后丢掉残留的 tool call,中止的轮次别把过期调用漏进下一次 payload。
Qwen Code (26.0k★) #5070 焦点导航跳过已过期的 live agent,别让 stale 的后台 agent 行抢走键盘焦点。
Qwen Code (26.0k★) #5061 保留后台 agent 的启动参数,delegated 的 CLI run 继续用你指定的执行模式。
Qwen Code (26.0k★) #5077 permission gate 拦下来时把完整计划显示出来,能看被拦的 agent 意图,而不是白白丢掉。
Qwen Code (26.0k★) #4715 managed auto-memory 听运行时输出目录的,同时显式的 memory 目录覆盖仍然优先。
Qwen Code (26.0k★) #5815 合并 assistant 轮次时把 reasoning_content 丢了,多轮思维链跟着没了。
Qwen Code (26.0k★) #5945 拒绝非正的 sessionRecapAwayThresholdMinutes
Qwen Code (26.0k★) #4970 稳住截断后的 tool retry key,修复过的调用重试时身份不变,不会漂来漂去。
Qwen Code (26.0k★) #5073 上下文指令文件超预算时提前告警,别等仓库级 guidance 悄悄挤掉任务上下文。
Qwen Code (26.0k★) #5752 QWEN_SERVE_MCP_CLIENT_BUDGET 严格按十进制整数解析
Qwen Code (26.0k★) #5043 让 grep 结果也算通过 prior-read 检查,已经搜过的上下文不用再逼着重读一遍文件。
Qwen Code (26.0k★) #5679 严格解析 agent / workflow 的整数环境变量
Qwen Code (26.0k★) #5194 从正确的字节偏移读取 WebP VP8X 画布高度
Qwen Code (26.0k★) #4639 把已停用的 Qwen OAuth ACP 登录路径去掉,别再把用户导向失效的认证方式。
Qwen Code (26.0k★) #4596 爬仓库时递归进已跟踪的 Git submodule,agent 上下文才带得上子模块里的文件。
Qwen Code (26.0k★) #5036 loop 检测触发后真的硬停掉重复的同一个 tool call,别让 agent 还在那反复执行卡死的动作。
Qwen Code (26.0k★) #5062 跨 agent 轮次带上 token escalation 上下文,delegated run 不用每轮都从容量不够的模型重来。
Qwen Code (26.0k★) #4636 把用户要求的输出语言也用到 side query 上,辅助回答跟主回答守同一套语言约定。
Qwen Code (26.0k★) #4963 默认开启 fork subagent,delegated work 直接跑在隔离分支里,不用手动开。
Qwen Code (26.0k★) #4673 修复顶层 --list-extensions / -l:按文档打印扩展列表,并在 sandbox、auth、TUI 启动前退出
Qwen Code (26.0k★) #4717 将 copy、arena、ACP snapshot 等退出路径的深拷贝改成浅层只读历史访问,同时保留 restore 写回路径的防御性克隆
Qwen Code (26.0k★) #5115 team 功能关闭时隐藏 teammate 专属的 agent 名称参数;旧 prompt 仍传入名称时回退到 one-shot subagent,而不是直接失败
Qwen Code (26.0k★) #4635 CLI todo 视图里把做完的 sticky todo 藏起来,列表只盯着还没做的。
Qwen Code (26.0k★) #4632 强化 context error 的文本抽取,嵌套的、非字符串的 payload 也能给出有用信息,而不是直接消失。
Qwen Code (26.0k★) #5072 稳住 simple MCP 集成检查,服务就绪的时序不再让跨进程协议测试偶发挂掉。
Qwen Code (26.0k★) #5167 隐藏未配置的已下线 OAuth 模型
Qwen Code (26.0k★) #4828 认证刷新后保留用户配的共享 baseUrl,同模型刷新不再回退到 provider 默认 endpoint。
Qwen Code (26.0k★) #5461 Claude 插件源接受大写 URL scheme
Qwen Code (26.0k★) #5209 正确读取大端 TIFF 文件里 SHORT 类型的图像尺寸
Qwen Code (26.0k★) #4607 修复 IDE proxy 请求:让 fetchEnvHttpProxyAgent 保持在同一个 bundled undici 模块路径上
Qwen Code (26.0k★) #5719 校验 list maxEntries 必须为正整数
Qwen Code (26.0k★) #5630 转义 emacs ediff 路径里的反斜杠和引号
Qwen Code (26.0k★) #4738 复制可见的 CLI 输出时跳过隐藏的 thought 片段,剪贴板和屏幕上看到的一致。
Qwen Code (26.0k★) #5426 mcp add 的 transport 探测接受大写 URL scheme
Qwen Code (26.0k★) #5494 空 parts 的消息不再被误当成 function call/response
Qwen Code (26.0k★) #5285 校验完整 WEBP 签名而不只是 RIFF 前缀
Qwen Code (26.0k★) #5420 让估算的 token 拆分之和恒等于总数
Qwen Code (26.0k★) #5336 RIFF 魔数嗅探里识别 WebP 和 AVI
Qwen Code (26.0k★) #5328 让 qwen3.6-flash 和 kimi-k2.6 预设保持纯文本
Qwen Code (26.0k★) #5227 把 BMP 高度按 signed int32 读取以支持 top-down 位图
Qwen Code (26.0k★) #5429 解析安装源时接受大写 URL scheme
Qwen Code (26.0k★) #4600 区分 TUI 中 AUTO 与 AUTO_EDIT approval-mode 指示器:共享样式、本地化 key 和可视化证据一起补齐
Qwen Code (26.0k★) #5647 通过 QWEN_MODEL 设定模型时也能识别 USE_OPENAI 认证
Qwen Code (26.0k★) #5287 让四舍五入到 60s 的亚分钟时长显示为 “1m”
Qwen Code (26.0k★) #5204 重开 code fence 时不再插入多余空行
deer-flow (77.0k★) #4157 subagent 的 description 是 agent 可编辑的(setup_agent / update_agent),却原样渲染进 <subagent_system> 块,构造的首行能越界伪造框架标签。转义掉,和 <soul> 那个修复同类。
deer-flow (77.0k★) #4137 SOUL.md 进入 <soul> system-prompt 块前 HTML 转义,让可被 agent 编辑的 personality 无法伪造框架标签、越出信任边界
deer-flow (77.0k★) #3797 同步 MCP session-pool 单例生命周期,避免并发首次使用创建重复池
deer-flow (77.0k★) #3799 串行化单个聊天的线程创建,并发消息不再给一个聊天建出重复线程。
deer-flow (77.0k★) #3719 _apply_updates 跳过纯空白 facts,避免空白记忆条目堆积
deer-flow (77.0k★) #3778 同步 skill storage 单例的生命周期
deer-flow (77.0k★) #3631 从 streamed values 事件里剥离 base64 图片数据
deer-flow (77.0k★) #3709 修复同内容 todo 列表耗尽后 positional fallback 误吞不相关 todo
deer-flow (77.0k★) #3674 让 UI 运行时 channel 配置优先于 config.yaml
deer-flow (77.0k★) #4130 把 requests/httpx 剩余 HTTP 方法也识别为网络 sink
Microsoft Agent Framework (12.1k★) #5808 handoff 原地改了 message 的 role,重试复用时把改动泄漏出去了,改成复用消毒过的副本。
Microsoft Agent Framework (12.1k★) #5462 修复 background=True + tools 无限 retrieve loop:清掉已完成的 continuation 状态,让 tool results 正常提交
Microsoft Agent Framework (12.1k★) #6210 reasoning payload 被剥掉时一并丢掉 hosted MCP 的 tool-call 历史,stateless 的 OpenAI replay 不再发孤立的 MCP 调用。
Microsoft Agent Framework (12.1k★) #5815 把 MCP tools/list 的元数据转发到 call_tool instrumentation,trace 里的工具注解不丢。
Microsoft Agent Framework (12.1k★) #5784 转换历史时跳过孤立的 Anthropic thinking signature,replay 不再带上无效的独立签名。
Microsoft Agent Framework (12.1k★) #6132 按 session id 过滤 filesystem checkpoint index,重开 store 不再返回别的 workflow session 的 checkpoint。
Microsoft Agent Framework (12.1k★) #5773 把同步的 Python 工具挪出事件循环跑,阻塞型调用不再冻住并发的 agent 任务。
Microsoft Agent Framework (12.1k★) #5801 按 call id 合并 code interpreter 的流式历史片段,存下来的代码和结果完整,也不会重复记 delta。
Microsoft Agent Framework (12.1k★) #6491 .NET:修复 fan-in barrier 的 checkpoint 状态
Microsoft Agent Framework (12.1k★) #5861 Foundry handoff 的结构化参数在 response 转换里丢了,delegated agent 调用跟着废,改成保留原结构。
Microsoft Agent Framework (12.1k★) #6208 声明式 Foreach 把多字段的 PowerFx table row 折叠了,改成整行 record 值原样带过每次迭代。
Microsoft Agent Framework (12.1k★) #6640 Python:为 Bedrock 和 Gemini connector 暴露 cache 与 reasoning token 计数
Microsoft Agent Framework (12.1k★) #5904 AG-UI thread id 下继续用 ChatClientAgent 的本地历史 provider,别把 session 历史当成服务端托管的模型历史。
Microsoft Agent Framework (12.1k★) #5778 补上 Magentic protocol 的消息声明,orchestrator 的 chat/reset 信号能反序列化,不再卡在未知类型上。
Microsoft Agent Framework (12.1k★) #5976 修复 sequential workflow 示例输出,让非 streaming 结果展示所有参与 agent 的回复
Microsoft Agent Framework (12.1k★) #5800 修复 AG-UI tool result message id 冲突:provider 省略 update id 时仍能生成独立 fallback id
Microsoft Agent Framework (12.1k★) #6040 把 Foundry agent 的 default_headers 透传到 OpenAI client 创建,自定义的认证、路由 header 在初始化后还在。
Microsoft Agent Framework (12.1k★) #5974 让 Foundry agent eval 映射保留工具定义,评测运行能正常调用代码定义的 tools
Microsoft Agent Framework (12.1k★) #5799 补齐 Handoff workflow 的 name/description 元数据传递,让 builder 和 hosting 注册都能命名工作流
Microsoft Agent Framework (12.1k★) #6037 保留 Foundry citation get_url 元数据,让检索引用链接经过 response conversion 后仍能出现在 chat response 中
AstrBot (36.3k★) #8750 修好 changelog 的 anchor 链接,dashboard 的 release notes 能跳到对的小节,不再是断锚。
AstrBot (36.3k★) #7537 修复 Telegram media group 异常被 APScheduler 静默吞掉:try/except + EVENT_JOB_ERROR listener
AstrBot (36.3k★) #6581 修复截断器丢失唯一 user 消息导致智谱/Gemini 返回 400
AstrBot (36.3k★) #8172 优先用打包进去的 dashboard 资产,而不是过期的 data dist,发版后不再展示旧前端。
AstrBot (36.3k★) #6710 修复 skills-like re-query 丢失图片描述:extra_user_content_parts 未传递
AstrBot (36.3k★) #8736 保留 embedding API 的版本后缀,带版本的 provider endpoint 不会被归一化到错的路径。
AstrBot (36.3k★) #6474 修复 SQLite 并发写入 database is locked,添加 busy timeout
AstrBot (36.3k★) #7196 修复 Gemini thinking parts 泄漏到用户可见的消息内容中
AstrBot (36.3k★) #7758 修复 OpenAI streaming 路径复用 empty-assistant 过滤:reasoning-only 历史不再让严格 provider 返回 400
AstrBot (36.3k★) #6656 修复 /stop 后新消息仍被 follow-up 捕获的竞态条件
AstrBot (36.3k★) #8089 图片请求在主 provider 不支持视觉输入时自动切到 vision fallback provider
AstrBot (36.3k★) #8718 避免多模态回复在引用文本和图片 metadata 同时存在时重复显示 quoted image caption
AstrBot (36.3k★) #8786 强制 persona 的工具调用边界
AstrBot (36.3k★) #6313 修复 OpenAI API 返回 None choices 导致崩溃
AstrBot (36.3k★) #8175 修复 WeChat OA 媒体发送失败仍上报成功:prepare/send 超时或失败时向调用方抛出明确错误
AstrBot (36.3k★) #6596 多模态 token 计数:图片/音频/思考链对 context 压缩不可见的问题
AstrBot (36.3k★) #7398 修复 Telegram 流式模式下空文本 sendMessageDraft 导致 400 错误刷屏
AstrBot (36.3k★) #8061 修复 Discord 启动同步命令触发 daily create quota 时打断 bot 启动:只把配额错误降级为 warning,其它异常继续抛出
AstrBot (36.3k★) #8255 支持 RST / AsciiDoc 知识库上传:后端解析白名单和前端文件校验同步扩展,避免支持的文档格式被入口拦截
AstrBot (36.3k★) #8195 跳过空的 LLM summary,压缩时保留原始历史,不塞空占位。
AstrBot (36.3k★) #8073 修复纯图片/表情消息的知识库空 prompt:空白文本时跳过 KB 检索,避免 embedding API 400
AstrBot (36.3k★) #7407 修复 Gemini 原生搜索无 function tools 时 400:跳过 FunctionCallingConfig
AstrBot (36.3k★) #7217 修复 qwen3-rerank 响应解析:兼容新旧百炼 API 格式
AstrBot (36.3k★) #8119 修复 active reply 图片输入丢失:把图片组件转成 image URLs 传给 LLM,保留原有文本 prompt 行为
AstrBot (36.3k★) #8768 清理 Lark platform id 后缀中的不可见空白,避免配置里的尾部空格破坏平台匹配
AstrBot (36.3k★) #6527 修复 LLM 工具选择:重写模糊的 Upload/Download 描述
AstrBot (36.3k★) #7216 修复 Gemini tool call 400:纯文本 tool result 包装为 Protobuf Struct
AstrBot (36.3k★) #7003 修复 WebChat 长响应断连:SSE 心跳保活,context 压缩期间不再超时
AstrBot (36.3k★) #6551 修复空 content 导致 Grok 400:content 为空时设为 None
AstrBot (36.3k★) #8388 补上插件详情页 sub-command 数量的 dashboard i18n,扩展详情不再露出原始翻译 key。
MCP Toolbox (15.9k★) #3531 校验 Looker explore_references 的结构,非法输入不再 panic
MCP Toolbox (15.9k★) #3516 参数 type 字段不是字符串时返回错误,而不是 panic
MCP Toolbox (15.9k★) #3512 array/map 参数类型报错时带上导致出错的具体值
MCP Toolbox (15.9k★) #3416 补充 execute_sql 最小权限配置的文档
AgentScope (27.8k★) #1717 Windows 上启动 Bash tool 子进程时使用 CREATE_NO_WINDOW,避免工具执行弹出控制台窗口
AgentScope (27.8k★) #1815 team run 里继承 leader 的权限规则,delegated agent 守着和 leader 一样的 workspace、文件访问约束。
AgentScope (27.8k★) #1734 append 和 streaming replace 时刷新 Redis message list 的 TTL,配置的存储 TTL 才真正约束聊天历史。
AgentScope (27.8k★) #1883 处理没有 id 的 Gemini function call
AgentScope (27.8k★) #1786 创建 Redis session 时保留调用方给的 id,后面的 get/update/list 命中同一个 session,而不是新生成的 UUID。
AgentScope (27.8k★) #1732 汇总所有启用的 tool group 的 skill,prompt instructions 和 Skill viewer 跟当前启用的工具对得上。
AgentScope (27.8k★) #1774 显式设置 Qwen thinking_enable 时转发到 OpenAI-compatible extra_body,同时不污染普通 OpenAI 请求
AgentScope (27.8k★) #1823 把 workspace root 加进 permission context,chat run 按 agent 真正能看到的 workspace 去授权文件。
AgentScope (27.8k★) #1822 给内置 Bash tool 增加 cwd 选项,让 shell 命令能在指定 workspace 目录执行
OpenAI Agents SDK (27.9k★) #3643 上报实际生效的 Blaxel 超时值,而不是未配置的默认值
promptfoo (23.2k★) #9867 读取 Azure logprobs 时空 choices 数组不再崩溃
promptfoo (23.2k★) #9897 给 Bedrock Titan 和 Cohere provider 的数组访问加守卫,空响应数组不再让生成崩掉。
promptfoo (23.2k★) #10076 工具调用缺 function 对象时 tool-call 断言抛 TypeError;改成返回 pass:false
promptfoo (23.2k★) #9815 拒绝畸形的 __expected0 CSV 表头,而不是静默丢弃它的断言
promptfoo (23.2k★) #9761 contains-any/all 断言值里保留引号内的逗号
promptfoo (23.2k★) #9840 保留 JSONL 行的 description 而不是覆盖
promptfoo (23.2k★) #9757 array metadata 值里所有转义逗号都还原
promptfoo (23.2k★) #9841 空输出返回 pass:false 而不是抛异常
promptfoo (23.2k★) #9822 maxLen 小于 3 时 ellipsize 仍不超过 maxLen
Google ADK (20.6k★) #5698 final_response_match_v2 在 criterion 选择开启时把 intermediate responses 纳入最终回答评判
Google ADK (20.6k★) #5918 允许 builder assistant 内部特殊 app name 通过 CLI runner 校验,让 adk web 能打开该特殊 agent
Mem0 (60.8k★) #5416 修复 S3 Vectors entity index 命名,避免 agent memory 写入因 AWS index-name 校验失败
Mem0 (60.8k★) #5383 OpenClaw CLI metadata 注册时跳过 runtime setup,插件发现阶段不再重复注册运行时副作用。
Mem0 (60.8k★) #5380 暴露 Qdrant 的 https 选项,自托管的 HTTP 集群用 API key 认证就行,不用被逼进 TLS client 模式。
AG-UI (14.7k★) #1735 修复 HITL tool call 后 ADK session 可能被旧状态回写的问题
AG-UI (14.7k★) #1832 LangGraph 转换文本和媒体 block 时保留 AG-UI InputContent.metadata
AG-UI (14.7k★) #1890 在一次 ADK execution 内缓存 session 读取,远端 session service 不用在每次 agent 运行前重复拉一遍。
AG-UI (14.7k★) #1828 识别 Strands 私有的 session manager,AG-UI 回放历史时尊重活跃 session,不再重播旧轮次。
AG-UI (14.7k★) #1829 LangGraph 流从文本切到 tool call 时先关闭当前文本消息,避免工具调用事件被前一段文本吞掉
AG-UI (14.7k★) #1889 构建 ADK workflow graph 时把 output_schema 的 agent 也收进来,结构化输出的节点不再漏。
AG-UI (14.7k★) #1848 打包回放的 tool results
AG-UI (14.7k★) #1826 把 LangGraph 的 runtime context 透传进 tool kwargs,graph tool 保住调用方传的执行上下文。
AG-UI (14.7k★) #1769 将 proto generation 从 Unix-only mkdir -p 改为跨平台 Node 脚本,兼容 Windows .CMD plugin shim
AG-UI (14.7k★) #1730 允许 CopilotKit 1.x 的 runtime peer 依赖
goose (51.2k★) #9599 改用阻塞式的 OTLP HTTP exporter,进程退出时遥测数据不丢。
goose (51.2k★) #9528 恢复 desktop 应用里 new chat 快捷键的导航
goose (51.2k★) #9584 显示 skill 支持文件解析后的真实路径,而不是未解析的占位符
opencode (185.8k★) #30022 把 MCP OAuth 回调服务绑到 IPv4 loopback,让浏览器回跳稳定连上、不再和 IPv6 抢地址
LiveKit Agents (11.3k★) #5994 兼容 OpenAI 兼容 realtime 返回字符串的 status details,incomplete response 不再在日志路径崩。
LiveKit Agents (11.3k★) #5872 把 ElevenLabs server-VAD 的 committed transcript 映射成 END_OF_SPEECH,realtime turn 不用手动空 commit 才结束。
LiveKit Agents (11.3k★) #5820 修复 Anthropic streaming retry:瞬时建流失败后重新创建 stream,不再重复 await 同一个 coroutine
LiveKit Agents (11.3k★) #5976 调用方传入自定义 Google HTTP options 时仍保留请求 timeout,并避免原地修改调用方对象
LiveKit Agents (11.3k★) #5864 暴露 Soniox STT server error:流式识别失败时返回明确错误,不再被当成空 transcript
LiveKit Agents (11.3k★) #6124 GetDOBTask 里规范化两位数年份
LiveKit Agents (11.3k★) #5887 删除裁剪后为空的 audio item
Strands Agents SDK (6.5k★) #2353 处理 Gemini safety-blocked metadata:缺失 token 计数时安全归零,并把 safety stop 映射为 guardrail intervention
Strands Agents SDK (6.5k★) #2340 并发的 tool result 按请求顺序回填,并行执行不会打乱模型看到的输出顺序。
Strands Agents SDK (6.5k★) #2400 支持非流式 OpenAI chat completions
Strands Agents SDK (6.5k★) #2656 处理空的 Bedrock content block
Strands Agents SDK (6.5k★) #2354 读 OpenAI 兼容 vLLM 流里的 delta.reasoning,reasoning 输出过了 provider 转换也不丢。
Strands Agents SDK (6.5k★) #2823 空 model stream 时避免 UnboundLocalError
Strands Agents SDK (6.5k★) #2304 显式映射 webp 图片
Strands Agents SDK (6.5k★) #2396 传递 structured output 的请求参数
Strands Agents SDK (6.5k★) #2306 规范化 3gp 视频格式
OpenHands (80.7k★) #14776 编辑 basic model 设置时保留自定义的 LLM base URL,存下来的 profile 不再静默回退到 provider 默认 endpoint。
Pydantic AI (18.5k★) #5474 接受 Vercel AI dynamic-tool 消息里的 providerExecutedtitle,严格校验下也留住 provider 元数据。
Pydantic AI (18.5k★) #5695 在 completions 里转发 penalties 参数
Pydantic AI (18.5k★) #5694 修复 MCPToolset(http_client=...) 与 FastMCP 的兼容问题,避免把 follow_redirects 泄漏给调用方提供的 HTTP client factory
Cline (64.6k★) #11166 open-tabs 的 host RPC 挂了也能搜文件,回退到系统 rg,不让搜索整个失效。
Agno (41.1k★) #8131 保留非哨兵工具参数字符串里的空白,同时继续只对精确的 None / True / False 哨兵做归一化
Inspect AI (2.3k★) #4267 truncate() 在长度小于溢出指示符时仍保持在限制内
Inspect AI (2.3k★) #3924 未知的 GenerateConfig 字段提前报错,拼错的生成参数不再被静默忽略。
Inspect AI (2.3k★) #4363 reduce 空 score 列表时返回 NaN 而不是崩溃
Inspect AI (2.3k★) #3902 修复 OpenAI-compatible 响应里的 OpenRouter reasoning_details:解析为可读 reasoning 文本,而不是暴露 Python repr
Inspect AI (2.3k★) #3941 修复 Bedrock Nova top_k 路由:把采样控制传到 inference config,而不是被静默丢弃
Inspect AI (2.3k★) #3896 修复 filestore recovery append 模式:保留已恢复 message/tool-call 池,同时避免重复哈希旧片段
Inspect AI (2.3k★) #4342 不缓存瞬时的 reasoning_summaries 探测失败
Inspect AI (2.3k★) #3975 解析 role model override 时保留调用侧的生成默认值,角色换模型不会丢掉 max tokens、reasoning effort 这些设置。
Inspect AI (2.3k★) #4069 周期性 flush 流式 score sample,长时间评测在结束前也能持续把 score 落盘。
Inspect AI (2.3k★) #4303 拒绝含多个连字符的 sample limit
Inspect AI (2.3k★) #4218 复用中断的 checkpoint id
Inspect AI (2.3k★) #3982 在 agent bridge 转换里保留 wrapped 的 OpenAI reasoning payload,加密的 provider 原生 reasoning 项在 transcript 转换时不丢。
Inspect AI (2.3k★) #4357 reduce 不匹配的 list/dict scores 时抛出清晰错误
Inspect AI (2.3k★) #3895 修复 TERM=dumb 下终端宽度:尊重 COLUMNS,日志输出不再固定按 Rich 默认 80 列硬换行
Inspect AI (2.3k★) #4173 规范化 buffer task 目录 URI
Inspect AI (2.3k★) #4300 FileSystem.is_writeable 去掉路径末尾分隔符
Inspect AI (2.3k★) #4282 空 scores 时 accuracy() 返回 0
Inspect AI (2.3k★) #4090 澄清 model-graded history prompt:include_history=True 和最终答案字段的位置与实际 scorer 行为保持一致
GitHub MCP Server (31.4k★) #2514 PR review 请求支持 team reviewer,把 team slug 解析成 GitHub review subject,而不是直接丢掉。
GitHub MCP Server (31.4k★) #2612 read-only 模式下隐藏会写入 GitHub 的 UI resources,同时保留安全的只读资源注册
FastMCP (26.2k★) #4297 构建工具 schema 时保留必需的 discriminator tag,union 参数才还有效。
ClawTeam (5.3k★) #1 首个 PR:122 个测试、CI、团队模板、config 修复、任务耗时追踪
ClawTeam (5.3k★) #32 Gemini CLI 支持:spawn、权限、prompt 注入双 backend 适配
ClawTeam (5.3k★) #40 可插拔 TaskStore:将任务持久化抽取为可替换的后端抽象层
ClawTeam (5.3k★) #36 Kimi CLI 支持:spawn backend、权限处理、3 个新测试
EvalScope (3.0k★) #1381 从 OpenAI 风格的 text content block 里读 SciCode 的 assistant 答案,scorer prompt 拿到真答案而不是空字段。
OpenHarness (14.7k★) #185 TUI tab 补全三合一修复:光标跳回、去除尾部空格、接受 /quit 别名
Pipecat (13.4k★) #4553 修复 protobuf transport 丢失 interruption frame:实时语音 agent 的打断事件跨传输后仍能保留
MCP Registry (7.0k★) #1310 拒绝损坏的 publisher 元数据,而不是接收畸形条目
LM Evaluation Harness (13.2k★) #3822 保证传给 Anthropic 的 stop sequence 非空,避免请求被拒
MCP Go SDK (4.7k★) #962 拒绝重复的 initialize 请求,MCP session 初始化后的协议状态保持一致。
MCP Go SDK (4.7k★) #981 补齐 Implementation.description 元数据,同时让空描述继续不进入序列化后的 MCP payload
OpenHands SDK (900★) #3247 git rev-parse --git-dir 校验 git workspace,坏掉的嵌套 repo 打不崩 /api/git/changes
OpenHands SDK (900★) #3248 用 RLock 串行化 LiteLLM modify_params 的保存、设置和恢复,避免并发 completion 泄漏全局参数状态
OpenHands SDK (900★) #3225 remote completion 日志按 UTF-8 写,中文和非 ASCII 输出在本地回放、排查时不乱码。

应用型 AI / RAG / 可观测性

项目 PR 修了啥
Firecrawl (151.0k★) #3730 self-host 抓取的 interact 动作明确报错拒绝,而不是隐晦地失败
Firecrawl (151.0k★) #3729 self-host bypass 路径保留 auth chunk,已认证的 self-host 抓取不再被丢掉。
Firecrawl (151.0k★) #3713 Python SDK 正确处理 async v1 batch scrape 以 dict 形式返回的响应
dify (148.8k★) #37425 给 OperationService 计费请求加超时,慢计费端点挂不住请求。
dify (148.8k★) #38801 在 service-api 和 explore 端点提前校验 conversation,坏的 conversation_id 直接 404,而不是流式跑到后期才失败。
dify (148.8k★) #37685 watercrawl 请求超时保持有界,而不是用 timeout=None 禁用
dify (148.8k★) #37669 legacy dataset 配置提取时跳过空的 tool entry
RAGFlow (85.0k★) #15691 跳过空的 agent switch 条件,空分支判断不会让有效的后续 agent 流程崩掉或卡住。
RAGFlow (85.0k★) #15601 Docling native 解析没产出 chunk 时降级,文档还能出可用内容,而不是空解析。
RAGFlow (85.0k★) #15696 重复的 n-hop GraphRAG 边保留最强的 PageRank 分,路径顺序覆盖不了排序。
LightRAG (37.6k★) #3031 从 Docling 异步结果 envelope 里抽出 Markdown 正文,RAG chunk 拿到干净文本,不混 JSON/base64 噪声。
LightRAG (37.6k★) #3206 PostgreSQL 表存在性检查尊重 search_path,非 public schema 在迁移、建表前就能识别对。
LightRAG (37.6k★) #3123 把 API 文档配色和暗色主题同步,endpoint 示例在 dark mode 下也读得清。
LightRAG (37.6k★) #2796 修复 None file_path 传播为 unknown_source:补 #2793 遗漏的处理层
cherry-studio (48.5k★) #16352 在截断边界保住 surrogate pair,多字节字符不会被切成半个非法字符。
cherry-studio (48.5k★) #16454 保留 citations 里的纯 URL markdown 引用行,不再丢弃
cherry-studio (48.5k★) #16217 相对时间在单位边界正确进位
cherry-studio (48.5k★) #16361 为大写扩展名正确解析 .d.ts 图标
cherry-studio (48.5k★) #16358 aihubmix 路径丢弃 Ideogram 里没有可用 URL 的 data[] 项,不再渲染坏图
Phoenix (10.5k★) #13641 provider 变化时让 prompt tool diff 过期,PXI 编辑不再把旧的工具差异状态带到别的 provider。
Phoenix (10.5k★) #13637 in-memory SQLite schema 初始化完再对外服务 Phoenix,启动竞态撞不上缺表。
Phoenix (10.5k★) #13245 修复 generative model fetch 游标回退:低 id 更新不会让后续轮询跳过更新的模型变更
Phoenix (10.5k★) #13210 修复非法 GraphQL node id 的错误处理:返回 NotFound 风格错误,而不是把 decoder failure 泄漏给客户端
Phoenix (10.5k★) #13636 更新 PXI system prompt 指南,指向当前 server-side Jinja 模板和 capability wiring,不再引用过期的 browser-side 路径
Phoenix (10.5k★) #13242 为 raw computer tool definitions 传递 Anthropic computer-use beta headers,覆盖 playground streaming 和非 streaming 调用
Phoenix (10.5k★) #13653 PXI agent 面板一打开就聚焦输入框,键盘优先的流程少点一下。
Phoenix (10.5k★) #13139 修复 Playground 校验错误被吞掉的问题:失败时返回明确错误,而不是空 subscription payload
Phoenix (10.5k★) #13614 修复 Prompts 表格停留页面时不会自动刷新的问题:新建或更新的 prompt 不再需要手动刷新才能出现
Phoenix (10.5k★) #13261 修复 span annotation note 新建后的刷新问题:创建成功后立即重新拉取列表,前端不再需要手动刷新才能看到新 note
Graphiti (28.7k★) #1531 递归清掉 FalkorDB 查询参数里的 NUL 字节,单个异常文档字符串打断不了批量图写入。
DB-GPT (19.4k★) #3092 sandbox 用本地 runtime 执行前要求显式 opt-in
yfinance (24.7k★) #2867 补上漏掉的逗号,避免 equity screener 的两个 EPS 字段被并成一个

推荐系统

项目 PR 修了啥
Microsoft Recommenders (21.8k★) #2349 优先用 torch 查询 GPU 显存
Microsoft Recommenders (21.8k★) #2351 TensorFlow GPU 不可用时 fail fast
Microsoft Recommenders (21.8k★) #2345 先用 PyTorch 查 GPU 显存,numba 兜底,CUDA context 不可用时 GPU discovery 不至于直接失败。
Microsoft Recommenders (21.8k★) #2322 让 benchmark 的推荐数量参数生效,评测脚本按要求生成 top-k。
Microsoft Recommenders (21.8k★) #2350 统一标注 MAP@k notebook 的输出

Pinned Loading

  1. CoreCoder CoreCoder Public

    Minimal AI coding agent (~1,000 lines of Python) inspired by Claude Code. Works with any LLM. Think NanoGPT for coding agents. Formerly NanoCoder.

    Python 1.5k 341