Skip to content
View remote-controlled-man's full-sized avatar

Highlights

  • Pro

Block or report remote-controlled-man

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.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. 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

Steven Huang — agent harnesses, evaluation and self-improvement

Projects Open source  LinkedIn 简体中文

I'm a Computer Science master's student at the University of Hong Kong, currently interning at Ant Group. I previously interned at Cybopal and Kuaishou. I'm interested in building and evaluating AI agents, particularly agent harnesses, tool use, and how agents can improve through feedback. I also build open-source projects and contribute to projects I find interesting.

Email · huangshuaidi666@gmail.com

Projects

skillfit

Compare agent Skills, rules, and MCP setups with paired A/B tests. Track task quality, trigger behavior, and token cost with replayable results and budget controls. Available on npm.

Case study  ·  Methodology

DeviceAgent Arena

A testbed for evaluating agents on Chinese tool-use tasks where actions change the environment. It simulates state and failures, grades both outcomes and action sequences, and explores small-model training and execution.

Experiment report  ·  Reproduce

Notes  ·  LLM Paper Wiki  ·  Agent Context & Memory Guide (earlier reading)

Open-source contributions

68 merged PRs · 17 upstream projects

As of 2026-11-06

Project PRs Selected contributions
Agent Reach
Agent Reach stars
Web access for agents
1 Avoided recording empty session snapshots when the browser bridge is unavailable. #879
DeepTutor
DeepTutor stars
AI learning and research platform
5 Bounded latest-message reads in long sessions. #2042
Vibe-Trading
Vibe-Trading stars
AI trading agent
5 Fixed final-answer retry, document-number grounding, and options-volatility annualization. #2136 #2135 #1753
Crush
Crush stars
Terminal-based AI coding agent
1 Kept browser-launcher output from overwriting the terminal UI. #4235
LLM
LLM stars
LLM command-line tool and Python library
2 Fixed endpoint additions corrupting flow-style YAML lists. #1845
MCP-Use
MCP-Use stars
MCP application framework
1 Fixed UTF-8 decoding of MCP App HTML for Chinese text and emoji. #2632
gogcli
gogcli stars
Google Workspace CLI
1 Rejected invalid Calendar time windows before querying events. #1298
AxonHub
AxonHub stars
LLM API gateway
15 Added array-wildcard field deletion and fixed Gemini thought summaries and tool-call ordering. #2824 #2831 #2633
Basic Memory
Basic Memory stars
AI memory and knowledge base
2 Synced relation embeddings after resolution and corrected invalid-locator errors. #1884 #1885
FastMCP
FastMCP stars
TypeScript MCP server framework
8 Fixed batched resource-template registration and JSON Schema 2019-09 validation. #478 #485
OpenLIT
OpenLIT stars
Agent observability and evaluation
1 Added OpenCode lifecycle, token and cost telemetry. #1591
AgentField
AgentField stars
Agent backend framework
17 Added harness preflight and fixed event parsing and memory subscription reconnects. #1069 #1148 #1145
View all 68 merged PRs across 17 projects

PR counts and project order checked on 2026-11-06. Projects are ordered by upstream stars; badges update automatically.

Agent Reach · 1 merged

  • #879 — Prevented unavailable browser bridges from producing misleading empty session snapshots, with setup guidance.

DeepTutor · 5 merged

  • #2379 — Reported unsupported source-only RAG scope instead of silently dropping it.
  • #2336 — Preserved dotted identifiers in BM25 retrieval and refreshed incompatible caches.
  • #2288 — Kept composer tray menus visible and interactive above the input card.
  • #2042 — Bounded latest-message queries instead of fetching the full session history.
  • #1588 — Recognized vision support in Gemini model IDs with a models/ prefix.

CopilotKit · 1 merged

  • #7341 — Enforced base-path segment boundaries in single-route runtime matching.

Vibe-Trading · 5 merged

  • #2138 — Clarified A-share data-source installation and the automatic fallback chain.
  • #2136 — Gave a withheld tool-markup answer one bounded text-only retry after the iteration cap.
  • #2135 — Preserved comma-grouped document integers as measured grounding evidence.
  • #1766 — Corrected Futu journal format detection so generic column aliases do not silently zero out fills.
  • #1753 — Annualized options-pricing volatility using the backtest's actual bar cadence.

GPT Researcher · 2 merged

  • #2105 — Fell back when retriever content became blank after normalization.
  • #2104 — Preserved complementary web-research context when combining sources.

Crush · 1 merged

  • #4235 — Kept browser-launcher output from overwriting the terminal UI.

PR-Agent · 1 merged

  • #3639 — Created a missing changelog file when publishing generated updates.

LLM · 2 merged

  • #1857 — Supported pipe and process-substitution paths for CLI attachments.
  • #1845 — Fixed invalid endpoint configuration when adding an item to a flow-style YAML list.

MCP-Use · 1 merged

  • #2632 — Decoded MCP App HTML blobs as UTF-8 so Chinese text and emoji render correctly.

gogcli · 1 merged

  • #1298 — Rejected invalid Calendar time windows before querying events.

AxonHub · 15 merged

  • #2831 — Preserved multipart Gemini thought summaries in response conversion.
  • #2830 — Preserved dashboard helpers during GraphQL code generation.
  • #2824 — Added wildcard paths for deleting fields across request-body arrays, including nested arrays.
  • #2634 — Recognized message audio as response content, preventing unnecessary empty-response retries.
  • #2633 — Kept tool outputs adjacent to their calls when converting Responses API input.
  • #2572 — Placed aggregated citations in the top-level response field without leaking transformer metadata.
  • #2561 — Preserved refusal, audio, logprobs, and reasoning when aggregating chat streams.
  • #2519 — Preserved allowed-tool restrictions across Chat Completions routes.
  • #2517 — Kept the template popover scrollable inside the profiles dialog.
  • #2501 — Preserved the User-Agent required by providers on outbound requests.
  • #2499 — Used the inbound request body when applying set_if_absent overrides.
  • #2484 — Corrected embedded fixture paths for the filesystem API.
  • #2423 — Preserved DeepSeek native web-search tools in Anthropic request handling.
  • #2414 — Mapped reasoning_effort: none to Bailian's thinking-disable option.
  • #2370 — Accepted application/json for image-edit requests in passthrough mode.

Basic Memory · 2 merged

  • #1884 — Refreshed relation embeddings after forward-reference resolution.
  • #1885 — Returned 400 for malformed memory-context locators instead of a server error.

FastMCP · 8 merged

  • #496 — Encoded OpenAPI path array items separately while preserving comma separators.
  • #485 — Fixed draft-2019-09 validation in jsonSchemaAdapter.
  • #478 — Kept the last duplicate resource template in a registration batch.
  • #477 — Kept the last duplicate tool definition so listings match calls.
  • #476 — Replaced duplicate resources by URI so reads, embedding and removal agree.
  • #442 — Sent an empty JSON object for required request bodies when no properties are supplied.
  • #434 — Closed framework-owned stdio sessions and transports on stop, including cancellation and setup-failure cleanup.
  • #433 — Added OpenAPI simple-style serialization for flat object path parameters.

OpenLIT · 1 merged

  • #1591 — Added OpenCode integration with lifecycle telemetry, token/cost accounting, and bounded non-blocking event delivery.

AgentField · 17 merged

  • #1151 — Preserved declared boolean defaults in Python agent CLI calls.
  • #1148 — Preserved valid JSONL events containing Unicode separators in harness CLI output.
  • #1145 — Retained memory event subscription filters across automatic reconnects.
  • #1142 — Stopped memory-event reconnects and discarded in-flight connections during shutdown.
  • #1141 — Formatted Go packages without recursively processing the same files twice.
  • #1140 — Drained accepted MCP work between tests to isolate shared concurrency state.
  • #1137 — URL-encoded memory subscription filters to preserve special characters.
  • #1129 — Respected numeric Retry-After hints as minimum wait times.
  • #1136 — Matched memory subscription keys literally, including regex characters.
  • #1109 — Stopped retries for permanent execution-status callback failures.
  • #1106 — Fixed missing-key detection in memory.exists() while preserving stored falsy values.
  • #1105 — Reported provider-confirmed zero cost as known instead of unknown.
  • #1100 — Made unrecognized async environment flags fall back to the actual class defaults.
  • #1082 — Aligned AGENTFIELD_ASYNC boolean parsing with the repository's environment-variable conventions.
  • #1078 — Prevented rate-limiter jitter from changing the global random state.
  • #1072 — Skipped schema output directories when harness runs do not use a schema.
  • #1069 — Added provider availability checks before TypeScript agent harness runs.

MCPHub · 3 merged

  • #1392 — Parsed complete numeric tool parameters instead of accepting truncated prefixes.
  • #1315 — Matched both Windows and POSIX paths in the jose test transform so affected suites can load.
  • #1314 — Fixed MCPB installation on Windows by keeping the rename destination absent before moving the extracted bundle.

Agent-For-Exam · 2 merged

  • #15 — Applied global styles to teleported settings dialogs on mobile.
  • #14 — Adapted the LLM settings dialog and PPT touch controls for Android.

View the full history on GitHub →

Pinned Loading

  1. skillfit skillfit Public

    A/B testing for agent configuration: paired evaluation of Skills, rules and MCP setups, with deterministic verifiers and replayable evidence.

    TypeScript 3

  2. device-agent-arena device-agent-arena Public

    Auditable benchmark, post-training pipeline, and compound-agent harness for stateful Chinese tool-use agents.

    Python 1

  3. llm-paper-wiki llm-paper-wiki Public

    TypeScript

  4. agent-context-memory-guide agent-context-memory-guide Public

    learning guidance of popular agent memory system and context management

    JavaScript