Click the preview to play the full demo (muted) · 10.75 s · 1920x1080 · 60 fps video · 400–700 nm.
This is an earlier private hyperspectral reconstruction prototype, shared here as a public demo. The desktop workflow covers camera capture, 30-band reconstruction across 400–700 nm, and interactive spectral visualization.
My contributions covered lightweight deep-learning reconstruction, dataset work, and the desktop workflow—from camera capture and the UI to spectral visualization and result saving. Code and data remain private because of research and industry-collaboration constraints.
AI applications
frontend + client systems
agent workflows
computational imaging
I contribute fixes and features focused on agent interoperability, reliable developer tools, and frontend interactions.
Selected merged contributions across major Chinese AI agent and frontend ecosystems:
- 🐜 ant-design/ant-design#59173 · ⭐ 99.8k — fixed the Chinese contribution guide to link the English locale list in its i18n step, so contributors update both locale lists.
- 🔍 alibaba/open-code-review · ⭐ 47.5k — preserved configuration and report integrity: atomic writes prevent truncated reports after interruption (#1160), and config updates retain unknown provider and MCP fields (#1508). Also expanded template support (#1114, #1056) and kept long session metadata readable on mobile (#1458).
- 🧠 volcengine/OpenViking · ⭐ 40.1k — restored DeepSeek Harness memory injection compatibility while retaining legacy replay (#5318), fixed broad MCP recall being narrowed to the process workspace (#5346), and kept OpenCode plugin state snapshots free of captured message parts (#5179).
- 📱 NervJS/taro · ⭐ 37.7k — improved cross-platform compatibility through eight merged fixes: page styles and image layout (#19492, #19491), mini-program props and request/payment typings (#19493, #19494, #19495, #19496), and RN upload filenames plus Babel preset installation (#19507, #19521).
- 🤖 agentscope-ai/agentscope#2434 · ⭐ 33.4k — Uvicorn hot reload forced a SelectorEventLoop on Windows and broke subprocess execution; disabling reload on Windows keeps a compatible event loop.
- 📖 Tencent/WeKnora · ⭐ 34.4k — improved MCP and CLI result handling: exposed structured wiki output (#3590), surfaced container lookup failures and interrupted pagination as errors (#3611, #3983), and restored paginated text output (#3984). Also preserved the caret during Markdown list outdenting so the next keystroke does not replace the line (#4071).
- 💬 QwenLM/qwen-code · ⭐ 28.5k — protected branch commits and improved MCP interoperability through eight merged fixes: commit preservation after hook failure (#11300), registration URLs and optional-method status (#12205, #12500), ACP and toolchain diagnostics (#12256, #12367, #12268), read-only sed recognition (#12221), and deferred MCP tool calls in SDK E2E (#12365).
- ⚛️ alibaba/hooks#2956 · ⭐ 15.0k — kept
useLatestanduseUnmountedRefreturns as non-nullableMutableRefObjectacross the supported React type versions, backed by declaration-emission regression tests. - 🎨 DouyinFE/semi-design#3352 · ⭐ 10.4k — made ESC close only the top-most modal, so stacked modals no longer collapse together.
- 🛠️ Tencent/teamai-cli · ⭐ 5.5k — improved team-sync consistency and agent-hook lifecycle handling through nine merged fixes: explicit-branch pushes that protect local changes (#690, #820), opt-in DeepSeek Harness hooks with uninstall cleanup (#689), deletion mirroring and namespaced rule paths (#651, #654), shared instructions and docs paths (#653, #652), OpenCode listener cleanup (#688), and role preservation at init (#765).
- 🍒 Tencent/cherry-markdown · ⭐ 4.9k — guarded pending image load and error callbacks after previewer destroy (#1871), and centered toolbar menu icons and text across font sizes and wrapped labels (#1898).
- 🧩 Tencent/tdesign-vue-next · ⭐ 2.2k — restored the Dropdown
onClickoption type (#6959), made Menu handle functional submenu parents (#6967), restored retained InputNumber values after clearing and blurring (#6995), and synchronized TreeSelect all-mode values when removing tags (#6998). - 🔬 web-infra-dev/rsdoctor · ⭐ 1.1k — improved bundle-analysis accuracy and navigation: size filters now honor the selected units (#2075), module trees can be sorted by bundled or source size (#2101), and Windows path normalization restores module-size measurements that incorrectly stayed at zero (#2102).
Merged in international frontend and tooling ecosystems:
- 🧱 mui/material-ui#49318 · ⭐ 99.2k — fixed inline completion for automatically highlighted Autocomplete options, while preserving typed input, text selection, and freeSolo behavior.
- ⚡ chakra-ui/chakra-ui#10979 · ⭐ 40.7k — gave the file-upload delete trigger a proper disabled style.
- 📦 pnpm/pnpm#14708 · ⭐ 36.8k — stopped emitting empty package authors in SBOM documents.
30 merged PRs in grafana/grafana-pathfinder-app · ⭐ 21 — sustained features, fixes, and hardening that span Grafana's interactive learning app end to end: block-editor bulk actions, coda VM lifecycle, docs retrieval, and lint plus e2e coverage.
27 merged PRs in open-city-ai/haidian — selected deep dives:
🥇 Complete delivery · bilingual formal submission
Problem: A civic-data submission needed a complete, reviewable package rather than an unsupported concept.
Contribution: I delivered a scoped 41-file bilingual package spanning narrative, offline HTML/PDF, GeoJSON, metrics, sources, a manifest, and deterministic self-checks, while marking provisional geometry and non-endorsement boundaries.
PR: open-city-ai/haidian#2540 · merged for repository intake, not gallery publication or government endorsement.
🪟 Windows portability · import and worker locking
Problem: An unconditional fcntl import stopped two test modules from being collected on Windows, and worker-lock contention needed consistent cross-platform semantics.
Contribution: I reproduced the failure, introduced the guarded POSIX and Windows lock path, and added the initial regression. Maintainer review then corrected the production file-open path and strengthened its test; the previously uncollectable target suite passed 21/21 tests.
⚖️ Review semantics · blockers versus future follow-ups
Problem: A flat review-action list converted future conditions into immediate change requests, creating an intake loop that compliant edits could not close.
Contribution: I introduced explicit non-blocking follow-ups with trigger and owner fields, invalidated legacy review caches, and kept current or malformed repairs fail-closed with focused regression coverage.
PR: open-city-ai/haidian#3982; the original blocked head was re-reviewed and merged without weakening existing gates.
🗺️ Explore contributions by area
🤖 AI agent systems · 21 open PRs
- TencentCloud/TencentDB-Agent-Memory#1383: terminate the Gateway process tree on Windows.
- TencentCloud/TencentDB-Agent-Memory#1272: emit local-time ISO 8601 timestamps from the knowledge logger.
- TencentCloud/TencentDB-Agent-Memory#1173: honor
recordIdsfiltering in the SQLite L1 query path. - TencentCloud/TencentDB-Agent-Memory#1172: self-heal the store-init cache after failed initialization or a closed store.
- TencentCloud/TencentDB-Agent-Memory#1171: keep Node's global proxy dispatcher intact while loading
undici@8. - bytedance/UI-TARS-desktop#1982: reject existing move destinations in the MCP filesystem server.
- bytedance/UI-TARS-desktop#1981: allow recursive directory creation in the MCP filesystem server.
- bytedance/UI-TARS-desktop#1979: preserve literal edit replacement text in the MCP filesystem server.
- bytedance/UI-TARS-desktop#1961: prioritize source workspace results in the contextual selector.
- bytedance/UI-TARS-desktop#1960: surface MCP agent initialization failures.
- bytedance/UI-TARS-desktop#1959: add default search exclusions to the MCP filesystem server.
- bytedance/UI-TARS-desktop#1958: await asynchronous ADB device actions.
- bytedance/UI-TARS-desktop#1957: release the exclusive slot when agent-server stream startup fails.
- QwenLM/qwen-code#12484: explain discontinued qwen-oauth typed model selections.
- QwenLM/qwen-code#12227: preserve activity state during slash dispatch.
- QwenLM/qwen-code#11794: honor the configured output language in stateless generation.
- QwenLM/qwen-code#10580: localize untitled session search in the VS Code integration.
- agentscope-ai/agentscope#2551: preserve tool data-block identity during event replay.
- Tencent/WeKnora#3592: prevent large spreadsheet preview crashes.
- Tencent/WeKnora#3499: accept SQL uploads and route them through MarkItDown.
- Tencent/WeKnora#3228: preserve numeric rows in PDF text extraction.
📱 Cross-end and domestic frontend · 4 open PRs
- Tencent/vConsole#739: guard reserved request IDs against prototype pollution in the Network panel.
- Tencent/vConsole#737: restore inherited event properties in log output.
- baidu/amis#21525: allow spaces in table quick-edit inputs.
- baidu/amis#21517: restore list order on drag reset.
🛠️ Frontend platforms and tooling · 9 open PRs
- storybookjs/storybook#36358: preserve empty string args in story URLs.
- TanStack/router#8438: hydrate route error components consistently in the Solid router.
- TanStack/router#8283: reject non-ok JSON server function responses.
- radix-ui/primitives#4145: prevent Escape from dismissing the underlying layer.
- radix-ui/primitives#4142: finish toast swipes when pointer capture is lost.
- adobe/react-spectrum#10629: use the document viewport for page-scrolling LoadMoreItems.
- adobe/react-spectrum#10619: support disabling entire listboxes.
- adobe/react-spectrum#10596: preserve the active FocusScope when a sibling unmounts.
- adobe/react-spectrum#10595: scope ariaHideOutside to the target document.
…plus more PRs across MiniMax agent ecosystems, denoland/std, parcel, desktop/desktop, payloadcms, continue, eslint, NextChat, OpenViking, and other ecosystems — the auto-refreshed 📊 Full footprint below tracks every upstream project.
| Project | ⭐ | PRs | ✅ Merged | 🚀 Open |
|---|---|---|---|---|
| Total across 162 upstream projects | 405 | 175 | 174 |
✅ 61 projects with merged PRs
🧾 101 projects with PRs only in review or closed without merge
z1403594118@gmail.com · dvd@linux.do




