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

Steven Huang — agent harnesses, evaluation and self-improvement

Projects  Open source  LinkedIn  简体中文

I'm a master's student in Computer Science at the University of Hong Kong, currently interning at Ant Group on AI for quantitative research. I build agents that turn existing factors into trading strategies and backtest them, and I'm exploring how they can use backtesting feedback to discover new factors. Previously, I worked on agent evaluation, harnesses, and full-duplex multimodal interaction at Cybopal, and interned at Kuaishou.

Projects

skillfit

A CLI for paired A/B tests of Skills, rules files, and MCP setups. Measures task quality, trigger behavior, and token cost, with replayable records and evaluation budgets. Available on npm.

Case study  ·  Methodology

DeviceAgent Arena

A testbed for stateful Chinese tool use, with state simulation, fault injection, and final-state and trajectory grading. Studies post-training and closed-loop execution through small-model proposals, validation, and planner fallback.

Experiment report  ·  Reproduce

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

Open-source contributions

47 merged PRs · 13 upstream projects

As of 2026-10-30

Project PRs Selected contributions
DeepTutor
DeepTutor stars
AI learning and research platform
2 Bounded latest-message reads in long sessions. #2042
AxonHub
AxonHub stars
LLM API gateway
12 Fixed tool-call ordering and audio-aware empty-response detection. #2633 #2634
AgentField
AgentField stars
Agent backend framework
13 Added harness provider preflight and fixed memory-key matching. #1069 #1136
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
5 Fixed duplicate tool registration and same-URI resource replacement. #477 #476
OpenLIT
OpenLIT stars
Agent observability and evaluation
1 Added OpenCode lifecycle, token and cost telemetry. #1591
MCP-Use
MCP-Use stars
MCP application framework
1 Fixed UTF-8 decoding of MCP App HTML for Chinese text and emoji. #2632
Vibe-Trading
Vibe-Trading stars
AI trading agent
2 Aligned options volatility with bar cadence and fixed trade-journal format detection. #1753 #1766
View all 47 merged PRs across 13 projects

PR counts verified on 2026-10-30. Star badges show upstream repository stars.

AxonHub · 12 merged

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

AgentField · 13 merged

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

FastMCP · 5 merged

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

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.

OpenLIT · 1 merged

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

MCP-Use · 1 merged

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

Vibe-Trading · 2 merged

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

CopilotKit · 1 merged

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

GPT Researcher · 2 merged

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

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.

DeepTutor · 2 merged

  • #2042 — Bounded latest-message queries instead of fetching the full session history.
  • #1588 — Recognized vision support in Gemini model IDs with a models/ prefix.

PR-Agent · 1 merged

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

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 2

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

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

    Python

  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