- ๐จโ๐ป I'm an AI full-stack developer with a focus on frontend development.
- ๐ ๏ธ I work with Vue and React on the frontend, and Node.js and Python across the stack.
- ๐ค I'm interested in building AI applications and developer tools.
- ๐ฑ I contribute to open source through bug fixes, regression tests, and localization.
- ๐ I enjoy tracking down bugs and understanding how things work.
- ๐ฎ My favorite game genres are Soulslikes and JRPGs.
- ๐ I'm a fan of sports anime with plenty of passion and team spirit.
- ๐จ I enjoy experimenting with AI-generated content (AIGC).
Languages and Tools:
![]() The First Berserker: Khazan ๐ข Now playing |
![]() Forza Horizon 6 Previously played |
![]() WUCHANG: Fallen Feathers Previously played |
![]() AI LIMIT Previously played |
![]() Black Myth: Wukong Previously played |
![]() Lies of P Previously played |
![]() Elden Ring Previously played |
![]() Dark Souls III Previously played |
| Project | Contribution | Pull request | Status |
|---|---|---|---|
| ooxml | fix(xlsx): reject insertions that discard boundary data | #49 | |
| ooxml | fix(xlsx): keep table filters on their source columns | #51 | |
| ooxml | fix(xlsx): rebase relative rules before deleting their anchors | #47 | |
| ooxml | fix(pptx): follow slide links outside slide shows | #38 | |
| hol-guard | Add publisher listing for mcp.mail-server | #3805 | |
| hol-guard | feat(extensions): require approval for mcp-mail-server permanent deletion | #3278 | |
| ooxml | fix(xlsx): clear stale filter row state | #36 | |
| ooxml | fix(xlsx): correct table, subtotal, save and sheet protection behavior | #32 | |
| pptx-viewer | fix(ui): align editor appearance across all five bindings | #359 | |
| ant-design | fix: clear Transfer selection on one-way removal | #59428 | |
| pptx-viewer | fix(demo): share React upload landing styles across five demos | #354 | |
| pptx-viewer | feat(shared): use web components for search, select, and checkbox controls | #352 | |
| pptx-viewer | fix(ui): align File backstage navigation across five bindings | #351 | |
| pptx-viewer | fix: align search field focus across five bindings | #350 | |
| pptx-viewer | fix(autosave): acknowledge restores and surface delete failures | #339 | |
| pptx-viewer | fix(autosave): show document names and await discard | #326 | |
| pptx-viewer | fix(autosave): keep recovery snapshots until discard | #324 | |
| pptx-viewer | fix(react): ignore serialization caches in history comparison | #322 | |
| awesome-dsh-plugin | Add yunfeizhu/dsh-pptx-editor to Docs & Rendering | #5370 | |
| pptx-viewer | fix(i18n): localize recording and editor controls | #311 | |
| tdesign-vue-next | fix(Upload): preserve file list changes during auto upload | #6969 | |
| antdv-next | fix(checkbox): clean up group value registration | #894 | |
| ant-design | fix: use latest Transfer onSelectChange callback | #59307 | |
| pptx-viewer | feat: support atomic cross-slide element updates through the public API | #291 | |
| antdv-next | fix(table): keep initially selected records in rowSelection.onChange across pages | #881 | |
| pptx-viewer | docs(site): add simplified chinese documentation | #284 | |
| pptx-viewer | feat(i18n): export locale subpaths from viewer packages | #283 | |
| pptx-viewer | Add a Simplified Chinese reference locale. | #281 | |
| pptx-viewer | Localize inspector and ribbon controls. | #279 | |
| pptx-viewer | Prevent an older PPTX load from overwriting the current deck. | #243 | |
| virtua | Fix viewport measurement for fixed-position containers. | #965 | |
| FastMCP | Preserve additional properties in tool output schemas. | #373 | |
| MCPHub | Keep on-demand servers alive until running tools finish. | #1164 |













