Files
AIclinicalresearch/docs/03-业务模块/DC-数据清洗整理/00-模块当前状态与开发指南.md
HaHafeng 1b53ab9d52 feat(aia): Complete AIA V2.0 with universal streaming capabilities
Major Changes:
- Add StreamingService with OpenAI Compatible format
- Upgrade Chat component V2 with Ant Design X integration
- Implement AIA module with 12 intelligent agents
- Update API routes to unified /api/v1 prefix
- Update system documentation

Backend (~1300 lines):
- common/streaming: OpenAI Compatible adapter
- modules/aia: 12 agents, conversation service, streaming integration
- Update route versions (RVW, PKB to v1)

Frontend (~3500 lines):
- modules/aia: AgentHub + ChatWorkspace (100% prototype restoration)
- shared/Chat: AIStreamChat, ThinkingBlock, useAIStream Hook
- Update API endpoints to v1

Documentation:
- AIA module status guide
- Universal capabilities catalog
- System overview updates
- All module documentation sync

Tested: Stream response verified, authentication working
Status: AIA V2.0 core completed (85%)
2026-01-14 19:15:01 +08:00

28 KiB
Raw Blame History

DC<EFBFBD>唳旿皜<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - 敶枏<E695B6><E69E8F><EFBFBD><E59786><EFBFBD><EFBFBD><E69298><EFBFBD><E78390>?

*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧋦嚗? v3.4
*<EFBFBD>𥕦遣<EFBFBD><EFBFBD>嚗? 2025-11-28
蝏湔擪<EFBFBD><EFBFBD><EFBFBD> DC璅<E79285><EFBFBD><E69298>穃𣪧<E7A983>? <EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD><EFBFBD> 2025-12-22 <20><> *Tool C撘<43><EFBFBD><EFBFBD>+<2B><EFBFBD>隡睃<E99AA1>摰峕<E691B0>嚗?
<EFBFBD>滚之<EFBFBD>𣬚<EFBFBD>蝣𡢅<EFBFBD> Tool C Postgres-Only撘<79><EFBFBD><EFBFBD><E59786><EFBFBD>?+ <20><EFBFBD>隡睃<E99AA1>嚗?99%嚗? 憭𡁏<E686AD><F0A1818F><EFBFBD><EFBFBD>? *<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗? <20>齿<EFBFBD><E79285><E288AA><EFBFBD><E7AC94><EFBFBD><E59786><EFBFBD>霈啣<E99C88><EFBFBD><E69298><EFBFBD>蝔?


<EFBFBD>𩤃<EFBFBD> <20><EFBFBD>鈭衤辣霈啣<E99C88>

<EFBFBD><EFBFBD>仃鈭衤辣嚗?025-11-28嚗?

鈭衤辣<EFBFBD>讛膩嚗?- <20>?025-11-27撘<37><E69298>𤑳<EFBFBD>DC璅<E79285>Tool B隞<42><E99A9E><EFBFBD><E691B0>

  • <EFBFBD><EFBFBD>嚗鋴ursor銝湔𧒄蝻枏<EFBFBD>仃嚗䔶誨<EFBFBD><EFBFBD>𧊋<EFBFBD>𦠜𧒄<EFBFBD>𣂷漱<EFBFBD>蚣it
  • 敶勗<EFBFBD><EFBFBD><EFBFBD>凒嚗? - <20>?<3F><><EFBFBD>农ervice撅<65><EFBFBD><E8AAA8><EFBFBD>4銝芣<E98A9D><E88AA3><EFBFBD>
    • <EFBFBD>?Controller撅<72><EFBFBD>? - <20>?Routes<65>滨蔭
    • <EFBFBD>?<3F>唳旿摨栞<E691A8>蝘艋QL<51><4C>辣嚗Ǒ20251127_add_dc_tool_b_tables/migration.sql銝箇征嚗? - <20>?霈曇恣<E69B87><E681A3>﹝靽萘<E99DBD>嚗㇊RD<52><44><EFBFBD><EFBFBD>航挽霈<E99C88><EFBD9E>PI霈曇恣<E69B87><E681A3><EFBFBD><EFBFBD>霈曇恣<E69B87><E681A3>I<EFBFBD><EFBFBD>嚗? - <20>?撘<><E69298>𤏸扇敶蓥<E695B6><E893A5><EFBFBD>Day2<79><32>ay3摰峕<E691B0><E5B395><EFBFBD>嚗? - <20>?Prisma Schema摰帋<E691B0>靽萘<E99DBD>嚗?銝芾”璅<E79285>嚗? **<2A>滚遣撌乩<E6928C>**嚗?- <20>?2025-11-28嚗𡁜<E59A97><F0A1819C><EFBFBD>撱箏<E692B1>蝡臭誨<E887AD><E8AAA8><EFBFBD>100%<25><EFBFBD><E8A098><EFBFBD>嚗?- <20>?Git<69>𣂷漱嚗𡁻俈甇<E79487>甈∩腺憭?- <20>𩤃<EFBFBD> <20>唳旿摨栞”<E6A09E><EFBFBD><E59786><EFBFBD>**<2A>霈?*嚗<><E59A97>瘜閗<E7989C><E99697>仿<EFBFBD><EFBFBD><E99C82><EFBFBD><EFBFBD>𤩺𧒄<F0A4A9BA><EFBFBD>npx prisma db push`<60>𥕦遣嚗? **<2A>躰悌銝擧㺿餈?*嚗?- <20>?<3F>湔鰵鈭<E9B0B5>it<69>𣂷漱閫<E6BCB1><E996AB>嚗𡁜撩<F0A1819C><EFBFBD><E59786><EFBFBD>鈭?- <20>?皜<><E79A9C><EFBFBD><E988AD><EFBFBD>㗇㺭<E39787><EFBFBD><EFBFBD><E79289><EFBFBD><E4BAA5>穿<EFBFBD><EFBFBD>垢颲枏枂<E69E8F><EFBFBD><E6A185><EFBFBD><EFBFBD><E996AB>嚗?- <20>𩤃<EFBFBD> **<2A>喲睸<E596B2><EFBFBD>**嚗鋴ursor<6F><72>owerShell蝏<6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>曄內颲枏枂嚗<E69E82><EFBFBD><EFBFBD><E79488>霂訫仃韐?

<EFBFBD><EFBFBD> <20><>﹝霂湔<E99C82>

<EFBFBD><EFBFBD><EFBFBD>糓DC<EFBFBD>唳旿皜<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?*<2A><EFBFBD><E7AC94><EFBFBD><E59786><EFBFBD>?*嚗<><E59A97>摰噼扇敶蓥誨<E893A5><E8AAA8>腺憭晞<E686AD><E6999E><EFBFBD>撱箄<E692B1>蝔见<E89D94>敶枏<E695B6><E69E8F><EFBFBD><E7AC94><EFBFBD><E59785>? 銝𤾸<EFBFBD>隞𡝗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>喟頂嚗?- **<2A><EFBFBD><EFBFBD><E78DA2>00-璅<E79285>敶枏<E695B6><E69E8F><EFBFBD><E59786><EFBFBD>**嚗阳hat is嚗<73><E59A97>摰䂿𠶖<E482BF><F0A0B696><EFBFBD><EFBFBD><EFBFBD>𡠺<EFBFBD><EFBFBD>嚗?- **撘<><E69298>𤏸恣<F0A48FB8><EFBFBD>獢?*嚗阳hat to do嚗<6F><E59A97><E99C88>嚗?- **撘<><E69298>𤏸扇敶閙<E695B6>獢?*嚗阳hat done嚗<65><E59A97><EFBFBD>砌腺憭勗<E686AD><E58B97><EFBFBD>ay2-3霈啣<E99C88>嚗?- **<2A><><EFBFBD>航挽霈⊥<E99C88>獢?*嚗䥅ow to do嚗<6F>挽霈⊥䲮獢<E4B2AE><E78DA2>


<EFBFBD>㴓 璅<E79285><EFBFBD>

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

DC<EFBFBD>唳旿皜<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𣂷<EFBFBD>4銝芣惣<EFBFBD>賢極<EFBFBD><EFBFBD>撣桀𨭌<EFBFBD>𠉛弦鈭箏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>硋龫<EFBFBD>埈㺭<EFBFBD><EFBFBD>?

敶枏<EFBFBD><EFBFBD><EFBFBD>?- **撘<><E69298>煾𧫴畾?*嚗尠<E59A97> Tool B MVP摰峕<E691B0> + <20>?Tool C MVP摰峕<E691B0> + <20><> *Postgres-Only <20><EFBFBD><E59786><EFBFBD><EFBFBD><E683A9>?

  • 撌脣<EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD>?*嚗? - <20>?Portal嚗𡁏惣<F0A1818F>賣㺭<E8B3A3><EFBFBD>瘣堒極雿𨅯蝱嚗?025-12-02嚗? - <20>?Tool B <20>𡒊垢嚗𡁶<E59A97><F0A181B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>箏膥鈭綽<E988AD>2025-11-28<32>滚遣摰峕<E691B0>嚗? - <20>?Tool B <20>滨垢嚗?甇亙極雿𨀣<E99BBF>摰峕㟲摰䂿緵嚗?025-12-03嚗? - <20>?Tool B API撖寞𦻖嚗?銝芰垢<E88AB0><EFBFBD><E5ADB5><EFBFBD><E588B8><EFBFBD>2025-12-03嚗? - <20>?<EFBFBD><EFBFBD> Tool B Postgres-Only <20><EFBFBD><E59786><EFBFBD>?*嚗?025-12-13嚗釶hase 7嚗㚁<E59A97>
    • <EFBFBD>?<3F><EFBFBD><E7AE84>峕芋撘誩<E69298><E8AAA9><EFBFBD><EFBFBD><50<35>∠凒<E288A0><EFBFBD><E4BC90>?0<><EFBFBD><E28ABF><EFBFBD>
    • <EFBFBD>?隞餃𦛚<E9A483><F0A69B9A><EFBFBD><EFBFBD><EFBFBD>嚗?000<30><EFBFBD>20<32><EFBFBD>
    • <EFBFBD>?<3F><EFBFBD>蝏凋<E89D8F><E5878B><EFBFBD><EFBFBD>𣈲<EFBFBD><F0A388B2><EFBFBD>園𡢿<E59C92>𣂼<EFBFBD>隞餃𦛚嚗? - <20>?Platform撅<6D><E69285><EFBFBD>蝞∠<E89D9E>嚗àob.data摮睃<E691AE>嚗? - <20>?Worker瘜典<E7989C>嚗ỀxtractionWorker.ts嚗? - <20>?Tool C 摰峕㟲摰䂿緵嚗?025-12-06 ~ 2025-12-22嚗㚁<E59A97>
    • <EFBFBD>?Python敺格<E695BA><E6A0BC><EFBFBD>~2400銵䕘<E98AB5>Day 1 + NA憭<41><E686AD>隡睃<E99AA1> + 憭𡁏<E686AD><F0A1818F><EFBFBD><EFBFBD><EFBFBD>
    • <EFBFBD>?Node.js<6A>𡒊垢嚗ǚ3900銵䕘<E98AB5>Day 2-3 + Day 5-10 + 撘<><EFBFBD><EFBFBD> + Worker嚗? - <20>?<3F>滨垢<E6BBA8>屸𢒰嚗ǚ4500銵䕘<E98AB5>Day 4-10 + React Query頧株砭 + 餈𥕦漲<F0A595A6><EFBFBD>
    • <EFBFBD>?<EFBFBD>𡁶鍂 Chat 蝏<>嚗ǚ968銵䕘<EFBFBD>Day 5嚗咓<E59A97>? - <20>?7銝芸<E98A9D><E88AB8><EFBFBD><E8B3A3><EFBFBD>Day 6嚗? - <20>?NA憭<41><E686AD>隡睃<E99AA1>嚗?銝芸<E98A9D><E88AB8><EFBFBD>Day 7嚗? - <20>?Pivot<6F>烾◇摨譍<E691A8><E8AD8D><EFBFBD>Day 7-8嚗? - <20>?霈∠<E99C88><E288A0>埈䲮獢㇂嚗<E38782><E59A97><EFBFBD><EFBFBD><E585B8>齿<EFBFBD><EFBFBD><E692A0>Day 7-8嚗? - <20>?**UX<55>滚之<E6BB9A><EFBFBD>**嚗<><E59A97>憭渡<E686AD><E6B8A1>?銵<>噡/皛𡁜𢆡<F0A1819C>∩耨憭?<3F><EFBFBD><E588B8>唳旿嚗㷉ay 8嚗? - <20>?**憭𡁏<E686AD><F0A1818F><EFBFBD><EFBFBD>?*嚗<><EFBFBD>?+2嚗峕惣<E5B395><EFBFBD><EFBFBD><E89D8F><EFBFBD><EFBFBD>憿箏<E686BF>靽脲<E99DBD>嚗㷉ay 9嚗? - <20>?**Postgres-Only撘<79><EFBFBD><EFBFBD><EFBFBD><EFBFBD>隡牐<EFBFBD><EFBFBD>𧒄嚗𡦀orker<EFBFBD>𤾸蝱憭<EFBFBD><EFBFBD>嚗㷉ay 10嚗? - <20>?<EFBFBD><EFBFBD>隡睃<EFBFBD>**嚗Ếlean data蝻枏<E89DBB>嚗?99%<25>埈𧒄嚗㷉ay 10嚗? - *<EFBFBD>餉恣嚗鰺16500銵? | 摰峕<EFBFBD>摨佗<EFBFBD>99%
  • <EFBFBD>滚之<EFBFBD>𣂼停嚗? - <20><> *<EFBFBD>滨垢<EFBFBD>𡁶鍂<EFBFBD><EFBFBD><EFBFBD>遣霈曉<EFBFBD><EFBFBD>?
    • <EFBFBD>?<3F><EFBFBD> Ant Design X <20>?Chat 蝏<>辣摨? - <20><> Platform-Only <20><EFBFBD><E59786>𥟇鰵<EFBFBD><EFBFBD> ASL 蝏煺<E89D8F><E785BA><EFBFBD>嚗? - <20><> <20><EFBFBD><E887AC><EFBFBD> AIA<49><41>KB<4B><42>ool C 蝑㗇芋<E39787>? - <20>?**NA憭<41><E686AD><EFBFBD>券𢒰<E588B8><EFBFBD>**嚗𡁏㺭<F0A1818F><EFBFBD><EFBFBD><E692A0><EFBFBD><EFBFBD>蝞晞<E89D9E><E6999E>辺隞嗥<E99A9E><E597A5>𣂼<EFBFBD><F0A382BC><EFBFBD><EFBFBD><EFBFBD>? - <20>?**Pivot隡睃<E99AA1>**嚗帋<E59A97><E5B88B>蹱𧊋<E8B9B1><EFBFBD>+<2B><EFBFBD><E7AC94>烾◇摨? - <20>?**UX<55>滚之<E6BB9A><EFBFBD>**嚗𡁜<E59A97>憭渡<E686AD><E6B8A1><EFBFBD>Excel憌擧聢嚗? 銵<><EFBFBD>?+ 皛𡁜𢆡<F0A1819C>∩耨憭?+ <20><EFBFBD><E588B8>唳旿憭<E697BF><E686AD>
  • **<2A><EFBFBD><E88AB8><EFBFBD><E7A983>?*嚗? - <20>?Tool A嚗𡁜龫<F0A1819C>埈㺭<E59F88><EFBFBD>蝥批<E89DA5>撟嗅膥
    • <EFBFBD>?蝻箏仃<E7AE8F>銵伐<E98AB5><E4BC90><EFBFBD><EFBFBD>?銝凋<E98A9D><E5878B>?隡埈㺭/<2F><EFBFBD><E7AE8F><EFBFBD>
    • <EFBFBD>?憭𡁻<E686AD><F0A181BB>嚗㇈ICE嚗?- **璅<E79285><E288AA><EFBFBD>**嚗鋽eepSeek-V3 + Qwen-Max <20>峕芋<E5B395>衤漱<E8A1A4><EFBFBD><EFBFBD><E99C82>撌脤<E6928C><EFBFBD><EFBFBD><EFBFBD>
  • **<2A>函蔡<E587BD><EFBFBD>?*嚗尠<E59A97> <20><EFBFBD>蝡臬<E89DA1><E887AC>游虾<E6B8B8><EFBFBD><E58981>唳旿摨栞”撌脩霈文<E99C88><E69687>典僎甇<E5838E>虜撌乩<E6928C>
  • **撌脩䰻<E884A9><EFBFBD>**嚗?銝芣<E98A9D><E88AA3><EFBFBD>箏𦛚嚗<F0A69B9A><E59A97>07-<2D><><EFBFBD><EFBFBD>箏𦛚/Tool-B<><42><EFBFBD><EFBFBD>箏𦛚皜<F0A69B9A><E79A9C>.md嚗?

<EFBFBD>喲睸<EFBFBD>𣬚<EFBFBD>蝣?

Tool B - <20><><EFBFBD>蝏𤘪<E89D8F><F0A498AA>𡝗㦤<F0A19D97>其犖:

  • <EFBFBD>?2025-11-22嚗?*Day 2摰峕<E691B0>**嚗<><E59A97><E79488><E288AA>𡢅<EFBFBD>
    • <EFBFBD>唳旿摨廍chema霈曇恣嚗?銝芾”嚗? - 4銝芣<E98A9D><E88AA3>⊿爸<E28ABF><EFBFBD>撱? - LLMFactory瘚贝<E7989A><E8B49D><EFBFBD>
  • <EFBFBD>?2025-11-23嚗?*Day 3摰峕<E691B0>**嚗<><E59A97><E79488><E288AA>𡢅<EFBFBD>
    • HealthCheckService摰峕㟲摰䂿緵
    • TemplateService摰峕㟲摰䂿緵嚗?銝芷<E98A9D>霈暹芋<E69AB9><EFBFBD>
    • API瘚贝<EFBFBD><EFBFBD><EFBFBD>
  • <EFBFBD>?2025-11-27嚗?<EFBFBD><EFBFBD><EFBFBD><EFBFBD>*
  • <EFBFBD>?2025-11-28嚗?<EFBFBD><EFBFBD><EFBFBD>滚遣摰峕<EFBFBD>*
    • 4銝杵ervice<EFBFBD>滚遣嚗𠃍ealthCheck<EFBFBD><EFBFBD>emplate<EFBFBD><EFBFBD>ualModel<EFBFBD><EFBFBD>onflict嚗? - 1銝杭ontroller<65>滚遣嚗?銝服PI蝡舐<E89DA1>嚗? - Routes<65><73><EFBFBD><EFBFBD>唬蜓摨𠉛鍂
    • Git<EFBFBD>𣂷漱靽脲擪
  • <EFBFBD>?2025-12-02嚗?Portal憿菟𢒰摰峕<EFBFBD>*
    • 撌乩<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? - UI隡睃<E99AA1><EFBFBD><EFBFBD><EFBFBD><E6BB9A>贝挽霈? - 銝𡒊頂蝏罸▲<E7BDB8>典紡<E585B8><EFBFBD><E88AB7>?- <20>?2025-12-03嚗?Tool B MVP<56><50>𧋦摰峕<E691B0>* <20><>
    • <EFBFBD>滨垢5甇亙極雿𨀣<EFBFBD>嚗ǚ1400銵䔶誨<EFBFBD><EFBFBD><EFBFBD>
    • API摰峕㟲撖寞𦻖嚗㇊hase 1-5嚗? - <20><EFBFBD>LLM靚<4D>鍂撉諹<E69289><E8ABB9><EFBFBD>
    • <EFBFBD>峕芋<EFBFBD>𧢲<EFBFBD><EFBFBD>𡝗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>霂? - Excel撖澆枂<E6BE86><EFBFBD><E8A098>舐鍂

**Tool C - 蝘𤑳<E89D98><F0A491B3>唳旿蝻𤥁<E89DBB><F0A4A581>?*:

  • <EFBFBD>?2025-12-06嚗?Day 1摰峕<E691B0>* - Python敺格<E695BA><E6A0BC>?<3F><>

  • <EFBFBD>?2025-12-06嚗?Day 2摰峕<E691B0>* - Session蝞∠<E89D9E>

  • <EFBFBD>?2025-12-07嚗?Day 3摰峕<E691B0>* - AI隞<49><E99A9E><EFBFBD><EFBFBD><EFBFBD>

  • <EFBFBD>?2025-12-07嚗?Day 4摰峕<E691B0>* - <20>滨垢<E6BBA8><EFBFBD><EFBFBD>

  • <EFBFBD>?2025-12-07嚗?Day 5摰峕<E691B0>* - AI Chat<61>踎 + Ant Design X <20><><EFBFBD> <20><>

  • <EFBFBD>?2025-12-07嚗?UI隡睃<EFBFBD>摰峕<EFBFBD>* - 7銝芷䔮憸䀝耨憭?- <20>?2025-12-07嚗?MVP 摰峕<E691B0>* - 蝡臬<E89DA1>蝡臬虾<E887AC>?<3F>?- <20>?2025-12-08嚗?Day 6摰峕<E691B0>* - 7銝芸<E98A9D><E88AB8><EFBFBD><E8B3A3><EFBFBD><E6A180>?<3F><>

  • <EFBFBD>?2025-12-09嚗?Day 7摰峕<E691B0>* - 霈∠<E99C88><E288A0>埈䲮獢㇂ + UX隡睃<E99AA1>

  • <EFBFBD>?2025-12-10嚗?Day 8摰峕<E691B0>* - UX<55>滚之<E6BB9A><EFBFBD> <20><>

    • Python敺格<EFBFBD><EFBFBD><EFBFBD>撅𤏪<EFBFBD>~1800銵䕘<E98AB5><E49598>俏A憭<41><E686AD> + <20><EFBFBD><E588B8>唳旿憭<E697BF><E686AD>嚗? - Node.js<6A>𡒊垢隡睃<E99AA1><EFBFBD><E59A97><EFBFBD><EFBFBD><E8AE9B><EFBFBD>5憭<35><EFBFBD><E8AAA8><EFBFBD><EFBFBD>
    • <EFBFBD>滨垢<EFBFBD>屸𢒰摰<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?銵<>噡/皛𡁜𢆡<F0A1819C>?<3F><EFBFBD><E588B8>㰘蝸嚗? - 7銝芸<E98A9D><E88AB8><EFBFBD><E8B3A3><EFBFBD>蝑偦<E89D91><EFBFBD><E589B9><EFBFBD><EFBFBD><E692A0><EFBFBD><EFBFBD>蝞晞<E89D9E><E6999E>辺隞嗚<E99A9E><E5979A><EFBFBD>NA<4E><41>恣蝞𨰜<E89D9E><F0A8B09C>ivot嚗? - 4銝芸<E98A9D><E88AB8>賣𣈲<E8B3A3><F0A388B2>A憭<41><E686AD><EFBFBD><E59A97><EFBFBD><E692A0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E589B9><EFBFBD>蝞晞<E89D9E><E6999E>辺隞塚<E99A9E>
    • Pivot隡睃<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蹱𧊋<EFBFBD><EFBFBD>+<2B><EFBFBD><E7AC94>烾◇摨𧶏<E691A8>
    • 霈∠<EFBFBD><EFBFBD>埈䲮獢㇂嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>齿<EFBFBD>撠?+ <20><EFBFBD>摮㛖泵頧祆揢嚗? - **UX<55>滚之<E6BB9A><EFBFBD>**嚗? - <20>?<3F>堒仍蝑偦<E89D91><EFBFBD>Excel憌擧聢嚗龦ommunity<74><79>𧋦嚗䔶葉<E494B6><E89189>𧋦<EFBFBD><EFBFBD>嚗? - <20>?銵<><EFBFBD><EFBFBD><E6A2B9><EFBFBD>撌虫儒嚗𣬚<E59A97><F0A3AC9A><EFBFBD><E884B0><EFBFBD>
      • <EFBFBD>?皛𡁜𢆡<F0A1819C>∩耨憭㵪<E686AD>靽格㺿MainLayout嚗峕㟲銝芷△<E88AB7><EFBFBD>皛𡁜𢆡<F0A1819C><EFBFBD>
      • <EFBFBD>?<3F><EFBFBD><E588B8>唳旿嚗<E697BF><E59A97><EFBFBD><EFBFBD><E6BCA4>?0銵䕘<E98AB5>蝑偦<E89D91>厩移蝖殷<E89D96>
      • <EFBFBD>?<3F>𣳇膄憸<E88684><E686B8><EFBFBD>鞟內<E99E9F>? - 瘚贝<E7989A><E8B49D><EFBFBD><E69C9E><EFBFBD><EFBFBD>90%+
    • Tool C 摰峕<E691B0>摨佗<E691A8>98% <20>?
  • <EFBFBD>?2025-12-06嚗?Day 2摰峕<E691B0>* - Session蝞∠<E89D9E> <20>? - SessionService.ts嚗?83銵䕘<E98AB5>+ DataProcessService.ts嚗?03銵䕘<E98AB5>

    • SessionController.ts嚗?00銵䕘<E98AB5>
    • <EFBFBD>唳旿摨栞”嚗飱c_tool_c_sessions嚗?2摮埈挾嚗? - 6銝杵ession API蝡舐<E89DA1>
    • OSS摮睃<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗? - 瘚贝<E7989A><E8B49D><EFBFBD><E69C9E><EFBFBD><EFBFBD>100% (7/7)
  • <EFBFBD>?2025-12-07嚗?Day 3摰峕<E691B0>* - AI隞<49><E99A9E><EFBFBD><EFBFBD><EFBFBD> <20>? - AICodeService.ts嚗?50銵䕘<E98AB5>+ AIController.ts嚗?57銵䕘<E98AB5>

    • <EFBFBD>唳旿摨栞”嚗飱c_tool_c_ai_history嚗?4摮埈挾嚗? - 10銝東ew-shot蝷箔<E89DB7>嚗𡿨evel 1-4嚗? - <20><EFBFBD>靽格迤<E6A0BC><EFBFBD><EFBFBD><E59A97>憭?甈⊿<E79488>霂𤏪<E99C82>
    • 4銝服I API蝡舐<E89DA1>
    • 瘚贝<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>81.8% (9/11<31>箸艶)
  • <EFBFBD>?2025-12-07嚗?Day 4摰峕<E691B0>* - <20>滨垢<E6BBA8><EFBFBD><EFBFBD><20>? - index.tsx嚗?58銵䕘<E98AB5>- 銝餃<E98A9D><E9A483>?<3F><EFBFBD><E59786><EFBFBD>? - Header.tsx嚗?1銵䕘<E98AB5>+ Toolbar.tsx嚗?04銵䕘<E98AB5>

    • DataGrid.tsx嚗?11銵䕘<E98AB5>- AG Grid Community<74><79><EFBFBD>
    • Sidebar.tsx嚗?49銵䕘<E98AB5>- 撉冽沲<E586BD>? - API撠<49><E692A0>toolC.ts嚗?18銵䕘<E98AB5>8銝芣䲮瘜𤏪<E7989C>
    • AG Grid<69><EFBFBD>銋㗇甅撘𧶏<E69298>Emerald蝏輯𠧧銝駁<E98A9D>嚗? - 頝舐眏<E88890>滨蔭 + Portal<61>舐鍂
    • <EFBFBD>颱誨<EFBFBD><EFBFBD><EFBFBD>~1106銵? - <20><EFBFBD>撉諹<E69289>100%<25><EFBFBD>

<EFBFBD><EFBFBD>儭?<3F><><EFBFBD>舀沲<E88880>?

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

<EFBFBD>滨垢

<EFBFBD>沲: React 19 + TypeScript 5
頝舐眏: React Router DOM v6
<0A><EFBFBD><E59786><EFBFBD>? @tanstack/react-query (React Query v5)
UI蝏<49>辣: Ant Design v5
<0A><EFBFBD>: TailwindCSS v3
<0A><>遣撌亙<E6928C>: Vite v5

<0A>𩤃<EFBFBD> <20><EFBFBD><E59786><EFBFBD><EFBFBD><E99A9E>Placeholder嚗峕<E59A97><E5B395><EFBFBD><EFBFBD><E99A9E>

<EFBFBD>𡒊垢

<EFBFBD>沲: Fastify v4 (Node.js 22)
<0A>唳旿摨? PostgreSQL 16 + Prisma 6
LLM SDK: <20><EFBFBD> LLMFactory (蝏煺<E89D8F><E785BA><EFBFBD><EFBFBD>撅?
璅<E79285>: DeepSeek-V3, Qwen-Max
<0A><EFBFBD>: Winston
Excel憭<6C><E686AD>: xlsx 摨橒<E691A8><E6A992><EFBFBD><EFBFBD><E79285>嚗?撟嗅<E6929F><E59785><EFBFBD>: p-limit嚗<74><E59A97><EFBFBD>貳LM撟嗅<E6929F><E59785><EFBFBD>

<0A>?<3F><EFBFBD><E59786><EFBFBD><EFBFBD><E99A9E>撌脤<E6928C>撱綽<E692B1>100%<25><EFBFBD><E8A098><EFBFBD>

<EFBFBD><EFBFBD>霈暹鴌嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD> + <20><> Postgres-Only <20><EFBFBD>嚗?```

<EFBFBD>唳旿摨? PostgreSQL 16 with Schema isolation Schema: dc_schema (<28><EFBFBD><E7A589>𠉛氖) 摮睃<E691AE>: storage<67>滚𦛚嚗㇉SS <20>?LocalFS嚗? <0A><> Postgres-Only <20><EFBFBD>嚗?025-12-13 <20><EFBFBD><EFBFBD><E683A9><EFBFBD>: <0A><EFBFBD><E98EBF><EFBFBD> 蝏煺<E89D8F>蝻枏<E89DBB>: platform_schema.app_cache (PostgresCacheAdapter) <0A><EFBFBD><E98EBF><EFBFBD> 蝏煺<E89D8F><E785BA><EFBFBD>: platform_schema.job (PgBossQueue, pg-boss) <0A><EFBFBD><E98EBF><EFBFBD> 隞餃𦛚蝞∠<E89D9E>: job.data 蝏煺<E89D8F>摮睃<E691AE><EFBFBD><E59A97><EFBFBD><EFBFBD><E585B6>∟”銝哨<E98A9D> <0A><EFBFBD><E5A999><EFBFBD> <20><EFBFBD>蝏凋<E89D8F>: CheckpointService (<28><EFBFBD> job.data嚗屸<E59A97>𡁶鍂)

<EFBFBD><EFBFBD>: logger<65>滚𦛚嚗Áinston蝏𤘪<E89D8F><F0A498AA><EFBFBD>

<EFBFBD>?<3F><EFBFBD><E59786><EFBFBD>100%憭滨鍂撟喳蝱<E596B3><EFBFBD>霈暹鴌 <0A>?<3F><EFBFBD>嚗䥪latform-Only 璅<E79285>嚗䔶<E59A97> ASL 蝏煺<E89D8F>


#### <20><> Postgres-Only <20><EFBFBD>鈭桃<E988AD>嚗㇍ool B嚗?
**<2A><EFBFBD><E7AE84>峕芋撘誩<E69298><E8AAA9><EFBFBD><EFBFBD>**
```typescript
const QUEUE_THRESHOLD = 50;

if (records.length >= 50) {
  // <20><EFBFBD><E79285>嚗𡁜虾<F0A1819C><EFBFBD><EFBFBD><E689BE>?  - 隞餃𦛚<E9A483><F0A69B9A><EFBFBD>嚗?0<>?<3F><EFBFBD>
  - <20><EFBFBD>蝏凋<E89D8F><EFBFBD><E59A97>10<31><EFBFBD>摮矋<E691AE>
  - <20><EFBFBD><E88880>踵𧒄<E8B8B5><EFBFBD><E6B994><EFBFBD>2-24撠𤩺𧒄嚗?  - 摰硺<E691B0><E7A1BA>滚鍳<E6BB9A><EFBFBD>憭?} else {
  // <20>湔𦻖璅<E79285>嚗𡁏<E59A97><EFBFBD>隡睃<E99AA1>
  - 敹恍<E695B9><EFBFBD>摨䈑<E691A8><1<><31><EFBFBD>嚗?  - <20>𣳇<EFBFBD><F0A3B387>堒辣餈?}

*<EFBFBD><EFBFBD><EFBFBD>辣嚗?

  • ExtractionController.ts嚗𡁏惣<EFBFBD><EFBFBD><EFBFBD>澆ế<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鸌甈∩遙<EFBFBD>?- extractionWorker.ts嚗𡁏鸌甈<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝏凋<EFBFBD>
  • CheckpointService嚗𡁏<EFBFBD>雿?job.data嚗<61><E59A97> ASL <20>梁鍂嚗? <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
  • <EFBFBD>?<3F><EFBFBD>憭𡝗<E686AD><F0A19D97>穿<EFBFBD><E7A9BF>𣳇<EFBFBD> Redis嚗?- <20>?蝏煺<E89D8F><E785BA><EFBFBD><EFBFBD><E59A97> ASL 銝<><E98A9D><EFBFBD>
  • <EFBFBD>?擃睃虾<E79D83><EFBFBD><EFBFBD><E694B9>芸𢆡<E88AB8><EFBFBD><E6BBA9><EFBFBD><EFBFBD>寧賒隡𩤃<E99AA1>
  • <EFBFBD>?<3F>𤘪<EFBFBD>撅𤏪<E69285><F0A48FAA>芣䔉璅<E79285><E288AA>湔𦻖憭滨鍂嚗?

<EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><E99A9E>蝏𤘪<E89D8F>

<EFBFBD>滨垢隞<EFBFBD><EFBFBD>蝏𤘪<EFBFBD>

frontend-v2/src/modules/dc/
<0A><EFBFBD><E98EBF><EFBFBD> index.tsx                      # <20>?隞<>laceholder嚗峕<E59A97><E5B395><EFBFBD><E7AC94><EFBFBD>
<0A><EFBFBD><E98EBF><EFBFBD> components/                    # <20><> 蝛箸<E89D9B>隞嗅允
<0A><EFBFBD><E98EBF><EFBFBD> pages/                         # <20><> 蝛箸<E89D9B>隞嗅允蝏𤘪<E89D8F>
<0A>?  <20><EFBFBD><E98EBF><EFBFBD> tool-a/                    # <20><> 蝛?<3F>?  <20><EFBFBD><E98EBF><EFBFBD> tool-b/                    # <20><> 蝛綽<E89D9B>摨𥪜<E691A8><F0A5AA9C>訓4<E8A893><EFBFBD>嚗?<3F>?  <20><EFBFBD><E5A999><EFBFBD> tool-c/                    # <20><> 蝛?<3F><EFBFBD><E5A999><EFBFBD> types/                         # <20><> 蝛箸<E89D9B>隞嗅允

<0A>𩤃<EFBFBD> <20><EFBFBD><E7AC94><EFBFBD><E59786><EFBFBD><EFBFBD>滨垢摰<E59EA2><E691B0><EFBFBD><EFBFBD><E88AB8>𡢅<EFBFBD><F0A1A285><EFBFBD><E88AA3><EFBFBD>蝚?```

**<2A>滨垢敺<E59EA2><E695BA><EFBFBD><EFBFBD><E595A3>?*嚗<>抅鈭竚4<E7AB9A><EFBFBD>霈曇恣嚗㚁<E59A97>
1. **Step 1**嚗𡁏<E59A97>隞嗡<E99A9E>隡牐<E99AA1><E78990><EFBFBD>㗇𥋘
2. **Step 2**嚗锭chema<6D><EFBFBD><EFBFBD>𪆴<EFBFBD><F0AA86B4><EFBFBD><EFBFBD><E58D9D>𥁒<EFBFBD>羓掩<E7BE93><EFBFBD><E58D9D>𤌍<EFBFBD><F0A48C8D><EFBFBD>畾蛛<E795BE>
3. **Step 3**嚗𡁜<E59A97><F0A1819C><EFBFBD><EFBFBD>摨衣<E691A8><E8A1A3><EFBFBD>摰墧𧒄餈𥕦漲<F0A595A6><E6BCB2><EFBFBD>睲遙<E79DB2>⊥遬蝷綽<E89DB7>
4. **Step 4**嚗𡁜<E59A97><EFBFBD><E89D92><EFBFBD>極雿𨅯蝱嚗<E89DB1><E59A97><E79285>撖寞<E69296><E5AF9E><EFBFBD><EFBFBD>銝𧢲<E98A9D><F0A7A2B2>曄內嚗?5. **Step 5**嚗𡁶<E59A97><F0A181B6>𨅯紡<F0A885AF><EFBFBD>Excel銝贝蝸嚗?
### <20>𡒊垢隞<E59EA2><E99A9E>蝏𤘪<E89D8F>

backend/src/modules/dc/ <0A><EFBFBD><E98EBF><EFBFBD> index.ts # <20>?璅<E79285><E288AA>亙藁嚗?17銵䕘<E98AB5> <0A>? <20><EFBFBD><E98EBF><EFBFBD> registerDCRoutes() # 頝舐眏瘜典<E7989C><E585B8>賣㺭 <0A>? <20><EFBFBD><E5A999><EFBFBD> initDCModule() # <20><EFBFBD><E598A5>硋遆<E7A18B><EFBFBD><E5A086>急㺭<E680A5><EFBFBD><EFBFBD><E79289><EFBFBD> <0A><EFBFBD><E98EBF><EFBFBD> tool-b/ # <20>?撌亙<E6928C>B嚗𡁶<E59A97><F0A181B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>箏膥鈭?<3F>? <20><EFBFBD><E98EBF><EFBFBD> services/ # <20>?<3F>滚𦛚撅<F0A69B9A><E69285>4銝芣瓲敹<E793B2><E695B9><EFBFBD><EFBFBD> <0A>? <20>? <20><EFBFBD><E98EBF><EFBFBD> HealthCheckService.ts # <20>?190銵?- Excel<65>亙熒璉<E78692><E79289>?<3F>? <20>? <20><EFBFBD><E98EBF><EFBFBD> TemplateService.ts # <20>?243銵?- 憸<>挽璅⊥踎蝞∠<E89D9E> <0A>? <20>? <20><EFBFBD><E98EBF><EFBFBD> DualModelExtractionService.ts # <20>?390銵?- <20>峕芋<E5B395>𧢲<EFBFBD><F0A7A2B2>?<3F>? <20>? <20><EFBFBD><E5A999><EFBFBD> ConflictDetectionService.ts # <20>?215銵?- <20><EFBFBD><EFBFBD>瘚讠<E7989A>瘜?<3F>? <20><EFBFBD><E98EBF><EFBFBD> controllers/ # <20>?<3F><EFBFBD><E689B9><EFBFBD> <0A>? <20>? <20><EFBFBD><E5A999><EFBFBD> ExtractionController.ts # <20>?388銵?- 6銝服PI蝡舐<E89DA1> <0A>? <20><EFBFBD><E98EBF><EFBFBD> routes/ # <20>?頝舐眏撅?<3F>? <20>? <20><EFBFBD><E5A999><EFBFBD> index.ts # <20>?115銵?- 頝舐眏<E88890>滨蔭 <0A>? <20><EFBFBD><E98EBF><EFBFBD> utils/ # <20><> 蝛綽<E89D9B><EFBFBD><E686B8>嚗?<3F>? <20><EFBFBD><E5A999><EFBFBD> workers/ # <20><> 蝛綽<E89D9B><EFBFBD><E686B8><EFBFBD>郊隞餃𦛚嚗?<3F><EFBFBD><E98EBF><EFBFBD> tool-a/ # <20><> 蝛綽<E89D9B><E7B6BD><EFBFBD><E88AB8>𡢅<EFBFBD> <0A><EFBFBD><E98EBF><EFBFBD> tool-c/ # <20><> 蝛綽<E89D9B><E7B6BD><EFBFBD><E88AB8>𡢅<EFBFBD> <0A><EFBFBD><E98EBF><EFBFBD> portal/ # <20><> 蝛綽<E89D9B><E7B6BD><EFBFBD><E88AB8>𡢅<EFBFBD> <0A><EFBFBD><E5A999><EFBFBD> shared/ # <20><> 蝛綽<E89D9B><EFBFBD><E686B8><EFBFBD>曹澈隞<E6BE88><E99A9E>嚗? <0A>?<3F><EFBFBD><E7AC94><EFBFBD><E59786><EFBFBD>Tool B<>𡒊垢隞<E59EA2><E99A9E>摰峕㟲嚗<E39FB2><E59A97>霈?1,658 銵?```

<EFBFBD>𡒊垢隞<EFBFBD><EFBFBD>蝏蠘恣<EFBFBD><EFBFBD>撱箏<EFBFBD><EFBFBD><EFBFBD>嚗?- <EFBFBD><EFBFBD>隞嗆㺭嚗?銝枚ypeScript<70><74>

  • **<2A>颱誨<E9A2B1><E8AAA8><EFBFBD>**嚗𡁶漲1,658銵䕘<E98AB5>銝滚鉄瘜券<E7989C><E588B8>𣬚征銵䕘<E98AB5>
  • **<2A>滚𦛚撅?*嚗?銝芣<E98A9D><E88AA3><EFBFBD>1,038銵?- **<2A><EFBFBD><E689B9><EFBFBD>**嚗?銝芣綉<E88AA3>嗅膥嚗?88銵?- **頝舐眏撅?*嚗?銝芾楝<E88ABE><EFBFBD>隞塚<E99A9E>115銵?- <EFBFBD><EFBFBD>亙藁嚗?銝波ndex.ts嚗?17銵?

<EFBFBD><EFBFBD>儭?<3F>唳旿摨栞挽霈?

Schema<EFBFBD>𠉛氖

-- DC璅<E79285><E288AA><EFBFBD>Schema
dc_schema (<EFBFBD><EFBFBD><EFBFBD>𠉛氖嚗<EFBFBD><EFBFBD><EFBFBD>?銝芾”)

<EFBFBD>唳旿銵刻挽霈?

1. dc_health_checks嚗<73><E59A97>摨瑟<E691A8><E7919F>亥扇敶𤏪<E695B6>

model DcHealthCheck {
  id              String    @id @default(uuid())
  userId          String
  fileName        String
  columnName      String
  emptyRate       Float     // 蝛箏<E89D9B><EFBFBD>
  avgLength       Float     // 撟喳<E6929F><E596B3>踹漲
  totalRows       Int       // <20><EFBFBD><E9A489>?  estimatedTokens Int       // 隡啁<E99AA1>Token瘨<6E><E798A8>?  status          String    // pass | warning | rejected
  message         String    // <20>行⏛<E8A18C><EFBFBD>
  createdAt       DateTime  @default(now())
  
  @@schema("dc_schema")
  @@map("dc_health_checks")
}

2. dc_templates嚗<73><E59A97>霈暹芋<E69AB9><EFBFBD>

model DcTemplate {
  id             String   @id @default(uuid())
  diseaseType    String   // <20><EFBFBD>蝐餃<E89D90>嚗ēung_cancer, diabetes, hypertension嚗?  reportType     String   // <20><EFBFBD>蝐餃<E89D90>嚗īathology, admission, outpatient嚗?  displayName    String   // <20>曄內<E69B84>滨妍
  fields         Json     // <20><EFBFBD>摮埈挾摰帋<E691B0>
  promptTemplate String   // Prompt璅⊥踎
  createdAt      DateTime @default(now())
  updatedAt      DateTime @updatedAt
  
  @@unique([diseaseType, reportType])
  @@schema("dc_schema")
  @@map("dc_templates")
}

3. dc_extraction_tasks嚗<73><E59A97><EFBFBD>碶遙<E7A2B6><EFBFBD>

model DcExtractionTask {
  id             String    @id @default(uuid())
  userId         String
  projectName    String
  sourceFileKey  String    // OSS摮睃<E691AE>頝臬<E9A09D>
  textColumn     String    // 敺<><E695BA><EFBFBD><EFBFBD><E7A18B>?  diseaseType    String
  reportType     String
  targetFields   Json      // <20><EFBFBD>摮埈挾
  modelA         String    @default("deepseek-v3")
  modelB         String    @default("qwen3-72b")
  status         String    @default("pending")
  totalCount     Int       @default(0)
  processedCount Int       @default(0)
  cleanCount     Int       @default(0)  // <20><EFBFBD>蝒?  conflictCount  Int       @default(0)  // <20><EFBFBD>蝒?  failedCount    Int       @default(0)
  totalTokens    Int       @default(0)
  totalCost      Float     @default(0)
  error          String?
  createdAt      DateTime  @default(now())
  startedAt      DateTime?
  completedAt    DateTime?
  
  items DcExtractionItem[]
  
  @@schema("dc_schema")
  @@map("dc_extraction_tasks")
}

4. dc_extraction_items嚗<73><E59A97><EFBFBD>𡝗<EFBFBD><EFBFBD><E89D8F>

model DcExtractionItem {
  id             String    @id @default(uuid())
  taskId         String
  rowIndex       Int       // Excel銵<6C>噡
  originalText   String    @db.Text
  resultA        Json?     // DeepSeek蝏𤘪<E89D8F>
  resultB        Json?     // Qwen蝏𤘪<E89D8F>
  status         String    @default("pending")
  conflictFields String[]  @default([])  // <20><EFBFBD>摮埈挾<E59F88>𡑒”
  finalResult    Json?     // <20><><EFBFBD><E89D8F><EFBFBD>?  tokensA        Int       @default(0)
  tokensB        Int       @default(0)
  error          String?
  createdAt      DateTime  @default(now())
  resolvedAt     DateTime?
  
  task DcExtractionTask @relation(fields: [taskId], references: [id], onDelete: Cascade)
  
  @@schema("dc_schema")
  @@map("dc_extraction_items")
}

<EFBFBD>唳旿摨梶𠶖<EFBFBD>?

<EFBFBD>?*撌脤<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>2025-12-02嚗?

**撉諹<E69289>蝏𤘪<E89D8F>**嚗?- <20>?dc_schema: 撌脣<E6928C><E884A3>?- <20>?dc_health_checks: 撌脣<E6928C>撱綽<E692B1>2<EFBFBD>∟扇敶𤏪<E695B6>

  • <EFBFBD>?dc_templates: 撌脣<E6928C>撱綽<E692B1>**3<><EFBFBD>霈暹芋<E69AB9>?*嚗?- <20>?dc_extraction_tasks: 撌脣<E6928C>撱綽<E692B1>1<EFBFBD>∟扇敶𤏪<E695B6>
  • <EFBFBD>?dc_extraction_items: 撌脣<E6928C>撱綽<E692B1>4<EFBFBD>∟扇敶𤏪<E695B6>

**憸<>挽璅⊥踎<E28AA5>𡑒”**嚗?1. <20><EFBFBD><E7AE87><EFBFBD><EFBFBD><EFBFBD><EFBFBD> (lung_cancer/pathology) 2. 蝟硋倏<E7A18B><E5808F><EFBFBD><EFBFBD>扇敶?(diabetes/admission) 3. 擃䁅<E69383><E48185>钅秄霂羓<E99C82><E7BE93>?(hypertension/outpatient)

撉諹<EFBFBD><EFBFBD>𡁏𧋦嚗?```bash

<EFBFBD><EFBFBD>交㺭<EFBFBD><EFBFBD>銵函𠶖<EFBFBD>?cd backend

node scripts/check-dc-tables.mjs


**蝏栞捏**嚗尠<E59A97> <20>唳旿摨枏<E691A8><E69E8F><EFBFBD><EFBFBD>停蝏迎<E89D8F><E8BF8E>𡒊垢API摨磰砲<E7A3B0>臭誑<E887AD>湔𦻖雿輻鍂嚗?
---

## <20><> API<50>亙藁

### 頝舐眏<E88890><EFBFBD>

/api/v1/dc/tool-b


### 撌脣<E6928C><E884A3>蚊PI嚗?銝芰垢<E88AB0><EFBFBD>

#### 1. <20>亙熒璉<E78692><E79289>?```typescript
POST /health-check
Content-Type: multipart/form-data

Body:
- file: Excel<65><6C>辣
- columnName: 敺<><E695BA><EFBFBD><EFBFBD><E4BA99>?
Response: {
  status: 'pass' | 'warning' | 'rejected',
  emptyRate: number,
  avgLength: number,
  totalRows: number,
  estimatedTokens: number,
  message: string
}

2. <20><EFBFBD><E79195><EFBFBD><EFBFBD>㗇芋<E39787>?```typescript

GET /templates

Response: { templates: Array<{ id: string, diseaseType: string, reportType: string, displayName: string, fields: object }> }


#### 3. <20>𥕦遣<F0A595A6>𣂼<EFBFBD>隞餃𦛚
```typescript
POST /tasks
Content-Type: multipart/form-data

Body:
- file: Excel<65><6C>辣
- projectName: 憿寧𤌍<E5AFA7>滨妍
- textColumn: <20><>𧋦<EFBFBD><EFBFBD>
- diseaseType: <20><EFBFBD>蝐餃<E89D90>
- reportType: <20><EFBFBD>蝐餃<E89D90>
- targetFields: JSON摮㛖泵銝?
Response: {
  taskId: string,
  status: 'pending',
  message: '隞餃𦛚<E9A483>𥕦遣<F0A595A6>𣂼<EFBFBD>'
}

4. <20>亥砭隞餃𦛚餈𥕦漲

GET /tasks/:taskId/progress

Response: {
  taskId: string,
  status: 'pending' | 'processing' | 'completed' | 'failed',
  totalCount: number,
  processedCount: number,
  cleanCount: number,
  conflictCount: number,
  failedCount: number,
  totalTokens: number,
  totalCost: number,
  progress: number,  // <20><EFBFBD>瘥?  error?: string
}

5. <20><EFBFBD>隞餃𦛚<E9A483>𡒊<EFBFBD>

GET /tasks/:taskId/items?status=conflict

Query:
- status: 'conflict' | 'clean' | 'failed' | 'all'
- page: number (default: 1)
- pageSize: number (default: 20)

Response: {
  items: Array<{
    id: string,
    rowIndex: number,
    originalText: string,
    resultA: object,
    resultB: object,
    conflictFields: string[],
    finalResult?: object,
    status: string
  }>,
  pagination: {
    total: number,
    page: number,
    pageSize: number,
    totalPages: number
  }
}

6. 閫<><E996AB><EFBFBD><EFBFBD>

POST /items/:itemId/resolve

Body: {
  resolvedData: object  // <20><EFBFBD>蝖株恕<E6A0AA><E68195><EFBFBD><EFBFBD><E89D8F><EFBFBD>?}

Response: {
  success: true,
  itemId: string,
  finalResult: object
}

<EFBFBD><20>滨垢UI霈曇恣

V4<EFBFBD><EFBFBD>霈曇恣

<EFBFBD><EFBFBD>辣雿滨蔭嚗?- docs/03-銝𡁜𦛚璅<E79285>/DC-<2D>唳旿皜<E697BF><E79A9C><EFBFBD><EFBFBD>/03-UI霈曇恣/撌亙<E6928C>B_<42><5F><EFBFBD>蝏𤘪<E89D8F><F0A498AA>𡝗㦤<F0A19D97>其犖_<E78A96><EFBFBD>霈曇恣_V4.tsx

**5銝杵tep瘚<70><E7989A>**嚗?

Step 1嚗帋<E59A97>隡牐<E99AA1>Schema

- Excel<65><6C>辣銝𠹺<E98A9D><EFBFBD><E59A97><EFBFBD><EFBFBD><E8B3A3>㗇𥋘嚗?- <20>芸𢆡璉<F0A286A1>瘚见<E7989A><E8A781>?- <20>㗇𥋘<E39787><F0A58B98>𧋦<EFBFBD><EFBFBD><EFBFBD><E695BA><EFBFBD><EFBFBD>

Step 2嚗𡁻<E59A97>蝵格<E89DB5>撠?```

  • <EFBFBD>㗇𥋘<EFBFBD><EFBFBD>蝐餃<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>撠輻<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
  • <EFBFBD>㗇𥋘<EFBFBD><EFBFBD>蝐餃<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>秄霂𠺪<EFBFBD>
  • <EFBFBD>芸𢆡<EFBFBD>㰘蝸憸<EFBFBD>挽璅⊥踎
  • <EFBFBD>曄內<EFBFBD><EFBFBD>摮埈挾嚗<EFBFBD>虾靚<EFBFBD>㟲嚗?```

Step 3嚗𡁜<E59A97><F0A1819C><EFBFBD><EFBFBD>摨?```

  • 摰墧𧒄餈𥕦漲<EFBFBD>?- 敶枏<E695B6><EFBFBD><E686AD><EFBFBD>
  • Token瘨<EFBFBD><EFBFBD><EFBFBD>霈?- <20>鞉𧋦憸<F0A78BA6>
  • 撟嗅<EFBFBD>隞餃𦛚<EFBFBD>曄內嚗㇄eepSeek + Qwen<65>峕𧒄餈鞱<E9A488>嚗?```

Step 4嚗𡁜<E59A97><EFBFBD><E89D92>霂?```

  • <EFBFBD><EFBFBD><EFBFBD>𡑒”嚗<EFBFBD><EFBFBD>潭遬蝷綽<EFBFBD>
  • <EFBFBD>峕芋<EFBFBD><EFBFBD><EFBFBD>𨅯笆瘥䈑<EFBFBD>撌血𢰧<EFBFBD><EFBFBD><EFBFBD>嚗?- <20><><EFBFBD>銝𠹺<E98A9D><F0A0B9BA><EFBFBD>遬蝷?- <20><EFBFBD>摮埈挾擃䀝漁
  • 敹恍<EFBFBD>霈斗<EFBFBD><EFBFBD>?```

Step 5嚗𡁶<E59A97><F0A181B6>𨅯紡<F0A885AF>?```

  • 蝏蠘恣璁<EFBFBD><EFBFBD><EFBFBD><EFBFBD>餅㺭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>歇閫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>仃韐伐<EFBFBD>
  • Excel撖澆枂<EFBFBD>厰僼
  • 4銝杵heet嚗? 1. 摰峕㟲蝏𤘪<E89D8F> 2. <20><EFBFBD><EFBFBD>★ 3. <20><EFBFBD>憿對<E686BF>撌脰圾<E884B0><EFBFBD> 4. 憭梯揖憿?```

<EFBFBD>𩤃<EFBFBD> <20><EFBFBD><E59786><EFBFBD>霈曇恣摰峕<E691B0>嚗䔶誨<E494B6><E8AAA8>𧊋摰䂿緵


<EFBFBD><20><><EFBFBD><EFBFBD><E887AC><EFBFBD><E59581>?

1. <20>亙熒璉<E78692><E79289>交㦤<E4BAA4>?

摰䂿緵雿滨蔭嚗䫤HealthCheckService.ts`嚗?90銵䕘<E98AB5>

**<2A><EFBFBD><E8A9A8><EFBFBD>**嚗?- Excel<65><6C><EFBFBD><EFBFBD><E996AB>嚗ūlsx摨橒<E691A8><E6A992>𣳇<EFBFBD><F0A3B387><EFBFBD>嚗?- 蝛箏<E89D9B><EFBFBD>霈∠<E99C88><EFBFBD><EFBFBD>?>50%嚗?- 撟喳<E6929F><E596B3><EFBFBD>𧋦<EFBFBD>踹漲霈∠<E99C88>

  • Token瘨<EFBFBD><EFBFBD>𦯀摯蝞梹<EFBFBD><EFBFBD><EFBFBD>撟喳<EFBFBD><EFBFBD>踹漲 <20> 4 <20> 銵峕㺭嚗?- <20>行⏛蝑𣇉裦嚗? - 蝛箏<E89D9B><EFBFBD> >50%嚗尠<E59A97> rejected
    • 蝛箏<EFBFBD><EFBFBD> 30-50%嚗尠<E59A97>儭?warning
    • 蝛箏<EFBFBD><EFBFBD> <30%嚗尠<E59A97> pass

**鈭穃<E988AD><E7A983>毺鸌<E6AFBA>?*嚗?- <20>?憭滨鍂storage.getFileBuffer()嚗㇉SS摮睃<EFBFBD>嚗?- <20>?憭滨鍂cache.set()<EFBFBD><EFBFBD><EFBFBD>𦦵<EFBFBD>摮?撠𤩺𧒄嚗?- <20>?<3F><><EFBFBD><EFBFBD><E686AD><EFBFBD><EFBFBD><EFBFBD>嚗?

2. <20>峕芋<E5B395>𧢲<EFBFBD><F0A7A2B2>?

摰䂿緵雿滨蔭嚗䫤DualModelExtractionService.ts`嚗?90銵䕘<E98AB5>

**<2A><EFBFBD><E8A9A8><EFBFBD>**嚗?- 撟嗅<E6929F><EFBFBD>鍂DeepSeek-V3<56>熑wen-Max

  • PII<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>澈隞質<EFBFBD><EFBFBD><EFBFBD>
  • 3撅<EFBFBD>SON閫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蹱㦤<EFBFBD><EFBFBD>嚗? 1. <20><><EFBFBD>JSON閫<4E><E996AB> 2. <20>駁膄Markdown隞<6E><E99A9E><EFBFBD><EFBFBD><EFBFBD><E996AB> 3. 甇<><E79487><EFBFBD>𣂼<EFBFBD>JSON撖寡情
  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>憭?甈∴<E79488>
  • Token蝏蠘恣銝擧<EFBFBD><EFBFBD>祈恣蝞? **鈭穃<E988AD><E7A983>毺鸌<E6AFBA>?*嚗?- <20>?憭滨鍂LLMFactory.getLLM()
  • <EFBFBD>?憭滨鍂jobQueue.add()<EFBFBD><EFBFBD>甇乩遙<EFBFBD><EFBFBD>
  • <EFBFBD>?憭滨鍂logger.info()<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?

3. <20><EFBFBD><EFBFBD>瘚讠<E7989A>瘜?

摰䂿緵雿滨蔭嚗䫤ConflictDetectionService.ts`嚗?15銵䕘<E98AB5>

**<2A><EFBFBD><E8A9A8><EFBFBD>**嚗?- 摮埈挾蝥批笆瘥䈑<E798A5><E48891>𣂼<EFBFBD>畾菜<E795BE><EFBFBD>eepSeek<65>熑wen蝏𤘪<E89D8F>嚗?- <20><EFBFBD><EFBFBD><E98A9D><EFBFBD><E59094>駁膄蝛箸聢<E7AEB8><E881A2><EFBFBD><EFBFBD>憭批<E686AD><E689B9><EFBFBD>

  • <EFBFBD><EFBFBD>澆捆撌殷<EFBFBD><EFBFBD>詨笆霂臬榆 <5%閫<>蛹銝<E89BB9><E98A9D><EFBFBD>
  • 霂凋<EFBFBD><EFBFBD>訾撮摨佗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>亙藁嚗<EFBFBD><EFBFBD><EFBFBD>embedding嚗?- <20><EFBFBD>摮埈挾<E59F88>𡑒”<F0A19192><E2809D><EFBFBD>

**<2A><EFBFBD><E59786>ế<EFBFBD>?*嚗?```typescript if (conflictFields.length === 0) { status = 'clean' // <20><EFBFBD><EFBFBD><E89D92><EFBFBD>芸𢆡<E88AB8><EFBFBD> } else { status = 'conflict' // <20><EFBFBD><EFBFBD><E89D92><EFBFBD><EFBFBD>鈭箏極蝖株恕 }


### 4. 璅⊥踎蝞∠<E89D9E>

**摰䂿緵雿滨蔭**嚗䫤TemplateService.ts`嚗?43銵䕘<E98AB5>

**憸<>挽璅⊥踎**嚗?銝迎<E98A9D>嚗?1. **<2A><EFBFBD><E7AE87><EFBFBD><EFBFBD><EFBFBD><EFBFBD>**嚗ēung_cancer/pathology嚗?   - 14銝芸<E98A9D>畾蛛<E795BE><E89B9B>輻𠈔蝐餃<E89D90><E9A483><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E9BA84><EFBFBD><EFBFBD><E588A0><EFBFBD>
2. **蝟硋倏<E7A18B><E5808F><EFBFBD><EFBFBD>扇敶?*嚗Ê̌iabetes/admission嚗?   - 12銝芸<E98A9D>畾蛛<E795BE><EFBFBD>蝟硔<E89D9F><E7A194><EFBFBD><EFBFBD>𤥁<EFBFBD><E89DA5><EFBCBA><EFBFBD><E8B3AC><EFBFBD>𤑳<EFBFBD>蝑?3. **擃䁅<E69383><E48185>钅秄霂𡃏扇敶?*嚗áypertension/outpatient嚗?   - 10銝芸<E98A9D>畾蛛<E795BE><EFBFBD><E98AB5><EFBFBD><E58D9D><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

**Prompt璅⊥踎**嚗?```
雿䭾糓銝<E7B393>銝芯<E98A9D>銝𡁶<E98A9D><F0A181B6>餃郎靽⊥<E99DBD><E28AA5>𣂼<EFBFBD><F0A382BC><EFBFBD><E68B87><EFBFBD>窈隞𦒘誑銝讠<E98A9D><E8AEA0><EFBFBD><EFBFBD><EFBFBD>砌葉<E7A08C>𣂼<EFBFBD><F0A382BC>喲睸靽⊥<E99DBD>...

<0A><EFBFBD>蝐餃<E89D90>嚗㝯diseaseType}
<0A><EFBFBD>蝐餃<E89D90>嚗㝯reportType}
<0A><EFBFBD>摮埈挾嚗㝯fields}

<0A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?{originalText}

霂瑚艇<E7919A><EFBFBD><E6BDAD>克SON<4F><EFBFBD>颲枏枂...

<EFBFBD>?撌脰圾<E884B0><EFBFBD><E5969F><EFBFBD>

1. <20>唳旿摨栞”<E6A09E><EFBFBD><E59786><EFBFBD>霂?<3F>?撌脣<E6928C><E884A3><EFBFBD>2025-12-02嚗?

<EFBFBD><EFBFBD><EFBFBD>讛膩嚗?- 隞<><E99A9E><EFBCB7><EFBFBD>瘜閧霈斗㺭<E69697><EFBFBD>銵冽糓<E586BD><EFBFBD><E8A180>?- 餈<><EFBFBD><E5AE8F>辣銝仃嚗Ǒmigration.sql銝箇征嚗? **閫<><E996AB><EFBFBD><EFBFBD>**嚗?- <20>?<3F>𥕦遣鈭<E981A3><EFBFBD><EFBFBD><EFBFBD><E79289><EFBFBD><E4BAA5>?backend/scripts/check-dc-tables.mjs`

  • <EFBFBD>?撉諹<E69289>蝖株恕<E6A0AA><E68195><EFBFBD>㕑”撌脣<E6928C>撱?- <20>?撉諹<E69289>蝖株恕憸<E68195>挽璅⊥踎撌脣<E6928C>憪见<E686AA>

**撉諹<E69289>蝏𤘪<E89D8F>**嚗?- <20>?dc_schema摮睃銁

  • <EFBFBD>?4銝芾”<E88ABE><EFBFBD>摮睃銁
  • <EFBFBD>?3銝芷<E98A9D>霈暹芋<E69AB9>踹歇<E8B8B9><EFBFBD><E598A5>?- <20>?<3F><EFBFBD>霂閙㺭<E99699>桀虾<E6A180>? 蝏栞捏嚗𡁏㺭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>撠梁貌嚗<EFBFBD>虾隞亦凒<EFBFBD>乩蝙<EFBFBD><EFBFBD>

<EFBFBD>𩤃<EFBFBD> 敶枏<E695B6>摮睃銁<E79D83><E98A81>䔮憸?

2. <20>滨垢摰<E59EA2><E691B0><EFBFBD><EFBFBD><E88AB8>?<3F>𣞁 擃䀝<E69383><E4809D><EFBFBD>

<EFBFBD><EFBFBD><EFBFBD>讛膩嚗?- <20><EFBFBD>Placeholder<65><EFBFBD>蝚?- V4<56><EFBFBD>霈曇恣撌脣<E6928C><E884A3><EFBFBD><EFBFBD><E99BBF>隞颱<E99A9E>摰䂿緵隞<E7B7B5><E99A9E>

**敶勗<E695B6>**嚗?- <20>?<3F><EFBFBD>餈𥡝<E9A488>摰峕㟲<E5B395><E39FB2><EFBFBD>啁垢瘚贝<E7989A>

  • <EFBFBD>?<3F><EFBFBD>瞍𠉛內蝏嗵鍂<E597B5>? **撌乩<E6928C><E4B9A9>譍摯蝞?*嚗?- Step 1嚗<31><E59A97>隡牐<E99AA1>Schema嚗㚁<E59A97>4撠𤩺𧒄
  • Step 2嚗<32><E59A97>蝵格<E89DB5><EFBFBD><E692A0>嚗?撠𤩺𧒄
  • Step 3嚗<33><E59A97><EFBFBD><EFBFBD><EFBFBD>摨佗<E691A8>嚗?撠𤩺𧒄
  • Step 4嚗<34><E59A97><EFBFBD><E89D92><EFBFBD><E99C82>嚗?撠𤩺𧒄嚗<F0A79284><E59A97>憭齿<E686AD>嚗?- Step 5嚗<35><E59A97><EFBFBD>𨅯紡<F0A885AF><EFBFBD>嚗?撠𤩺𧒄
  • <EFBFBD>餉恣嚗?8撠𤩺𧒄嚗<F0A79284>漲2-3憭抬<E686AD>

**隡睃<E99AA1>蝥?*嚗𡄻<E59A97>?擃矋<E69383><E79F8B><EFBFBD>摰峕㟲<E5B395><EFBFBD>嚗?

3. <20>𡒊垢<F0A1928A><EFBFBD><E88AB0><EFBFBD>瘚贝<E7989A> <20>椬 銝凋<E98A9D><E5878B><EFBFBD>

<EFBFBD><EFBFBD><EFBFBD>讛膩嚗?- 隞<><E99A9E><EFBFBD>臬抅鈭舘挽霈⊥<E99C88><EFBFBD><E78DA2>撱箇<E692B1>

  • 瘝⊥<EFBFBD>餈鞱<EFBFBD><EFBFBD><EFBFBD>摰䂿<EFBFBD>API瘚贝<EFBFBD>
  • 瘝⊥<EFBFBD>撉諹<EFBFBD>餈䜶LM靚<EFBFBD><EFBFBD>臬炏甇<EFBFBD>

憌𡡞埯嚗?- <20>𩤃<EFBFBD> <20><EFBFBD>摮睃銁<E79D83><EFBFBD><E88AB8><EFBFBD>bug

  • <EFBFBD>𩤃<EFBFBD> 摰鮋<E691B0>LLM<4C>𣂼<EFBFBD><F0A382BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>霂? **閫<><E996AB><EFBFBD><EFBFBD>**嚗?1. <20><><EFBFBD>銵䈣npx prisma db push<EFBFBD>𥕦遣銵?2. <20>臬𢆡<E887AC>𡒊垢嚗䫤npm run dev
  1. 雿輻鍂REST Client瘚贝<E7989A>6銝服PI蝡舐<E89DA1>
  2. 銝𠹺<EFBFBD><EFBFBD><EFBFBD>Excel<EFBFBD><EFBFBD>辣瘚贝<EFBFBD><EFBFBD>𣂼<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

**隡睃<E99AA1>蝥?*嚗𡄻<E59A97>?銝哨<E98A9D><E593A8>滨垢撘<E59EA2><E69298><EFBFBD>摨𥪜<E691A8><F0A5AA9C><EFBFBD>


4. Cursor蝏<72>垢颲枏枂<E69E8F><EFBFBD> <20>叚 雿𦒘<E99BBF><F0A69298><EFBFBD>

<EFBFBD><EFBFBD><EFBFBD>讛膩嚗?- PowerShell蝏<6C><EFBFBD><EFBFBD><EFBFBD><EFBFBD>曄內<E69B84>賭誘颲枏枂

  • 撖潸稲<EFBFBD><EFBFBD>餈鞱<EFBFBD><EFBFBD>唳旿摨𤘪<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?- 瘚芾晶鈭<E699B6><EFBFBD>𤩺𧒄<F0A4A9BA><EFBFBD>霂蓥<E99C82><E893A5>峕䲮瘜? **敶勗<E695B6>**嚗?- <20>𩤃<EFBFBD><><E69298>𤏸<EFBFBD>霂蓥<E99C82>靘?- <20>𩤃<EFBFBD> <20><EFBFBD>摰墧𧒄<E5A2A7><EFBFBD><E4BAA6><EFBFBD>

**銝湔𧒄閫<F0A79284><E996AB><EFBFBD><EFBFBD>**嚗?- 雿輻鍂憭㚚<E686AD>PowerShell<6C>𥟟MD蝒堒藁

  • 雿輻鍂Prisma Studio<69><EFBFBD><E888AA>硋極<E7A18B>?- <20>湔𦻖<E6B994>臬𢆡<E887AC>𡒊垢<F0A1928A><EFBFBD><E4BAA6>臬𢆡<E887AC><EFBFBD>

**隡睃<E99AA1>蝥?*嚗𡄻<E59A97>?雿𠬍<E99BBF><F0A0AC8D>㗇𤜯隞<F0A49CAF>䲮獢<E4B2AE><E78DA2>


<EFBFBD><EFBFBD> 銝衤<E98A9D>甇亙<E79487><E4BA99>𤏸恣<F0A48FB8>?

蝡见朖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝝扳<EFBFBD><EFBFBD>

  1. 撉諹<EFBFBD><EFBFBD>唳旿摨栞” <20>𣞁

    cd backend
    npx prisma db push
    npx prisma studio  # <20><EFBFBD><E888AA>𣇉霈?   ```
    
    
  2. <EFBFBD>𡒊垢API瘚贝<EFBFBD> <20>𣞁

    • <EFBFBD>臬𢆡<EFBFBD>𡒊垢<EFBFBD>滚𦛚
    • 瘚贝<EFBFBD>6銝服PI蝡舐<EFBFBD>
    • 撉諹<EFBFBD>LLM靚<EFBFBD>
    • 蝖株恕<EFBFBD>峕芋<EFBFBD>𧢲<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
  3. Git<EFBFBD>齿活<EFBFBD>𣂷漱 <20>𣞁

    • 蝖桐<EFBFBD><EFBFBD><EFBFBD><EFBFBD>劐誨<EFBFBD><EFBFBD><EFBFBD>𣂷漱
    • <EFBFBD><EFBFBD><EFBFBD><EFBFBD>餈𦦵<EFBFBD>隞枏<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𨀣<EFBFBD>嚗?

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>睲遙<EFBFBD><EFBFBD><EFBFBD>砍𪂹嚗?

  1. *<EFBFBD>滨垢UI撘<EFBFBD><EFBFBD>? <20>𣞁嚗<F0A39E81><E59A97>霈?-3憭抬<E686AD>

    • <EFBFBD><EFBFBD>V4<EFBFBD><EFBFBD>摰䂿緵5銝杵tep
    • <EFBFBD><EFBFBD><EFBFBD><EFBFBD>SL璅<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝡臭誨<EFBFBD><EFBFBD><EFBFBD><EFBFBD>? - 雿輻鍂React Query蝞∠<E89D9E>API靚<49>
    • 雿輻鍂Ant Design蝏<6E>
  2. *蝡臬<EFBFBD>蝡舀<EFBFBD>霂? <20>

    • <EFBFBD><EFBFBD>Excel<EFBFBD><EFBFBD>辣瘚贝<EFBFBD>
    • <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>瘚贝<EFBFBD>
    • 撖澆枂<EFBFBD><EFBFBD>瘚贝<EFBFBD>

銝剜<EFBFBD>隡睃<EFBFBD>隞餃𦛚嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

  1. <EFBFBD><EFBFBD>隡睃<EFBFBD> <20>
    • 瘛餃<EFBFBD>撟嗅<EFBFBD><EFBFBD><EFBFBD>嚗ī-limit嚗? - 隡睃<E99AA1>Excel憭扳<E686AD>隞嗅<E99A9E><E59785>? - 瘛餃<E7989B>餈𥕦漲摰墧𧒄<E5A2A7><EFBFBD><E588B8><EFBFBD>WebSocket嚗?
  2. <EFBFBD>躰秤憭<EFBFBD><EFBFBD>隡睃<EFBFBD> <20>
    • <EFBFBD><EFBFBD><EFBFBD>躰秤<EFBFBD>鞟內
    • 瘛餃<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
    • 憭梯揖隞餃𦛚<EFBFBD><EFBFBD>

<EFBFBD><EFBFBD> <20><EFBFBD><E8A9A8><EFBFBD>

霈曇恣<EFBFBD><EFBFBD>

  • [PRD<52><44><EFBFBD><E79899>獢β(./01-<2D><><EFBFBD><E79899><EFBFBD>?)
  • [<5B><><EFBFBD>航挽霈⊥<E99C88>獢β(./02-<2D><><EFBFBD>航挽霈?<3F><><EFBFBD>航挽霈⊥<E99C88><EFBFBD><E78DA2>撌亙<E6928C> B - <20><><EFBFBD>蝏𤘪<E89D8F><F0A498AA>𡝗㦤<F0A19D97>其犖 (The AI Structurer).md)
  • [<5B>唳旿摨栞挽霈⊥<E99C88>獢β(./02-<2D><><EFBFBD>航挽霈?<3F>唳旿摨栞挽霈⊥<E99C88>獢?DC璅<E79285><EFBFBD><E59A97><EFBFBD><EFBFBD>嚗?md)
  • API霈曇恣<EFBFBD><EFBFBD>
  • UI<EFBFBD><EFBFBD>霈曇恣

<EFBFBD><EFBFBD>𤏸扇敶?- Day2摰峕<EFBFBD><EFBFBD><EFBFBD><EFBFBD>腺憭勗<EFBFBD>嚗?- Day3摰峕<EFBFBD><EFBFBD><EFBFBD><EFBFBD>腺憭勗<EFBFBD>嚗?- DC璅<EFBFBD><EFBFBD>滚遣摰峕<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>撱箏<EFBFBD>嚗?

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>

  • [鈭穃<E988AD><E7A983><EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8><EFBFBD>(../../04-撘<><E69298>𤏸<EFBFBD><F0A48FB8>?08-鈭穃<E988AD><E7A983><EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8>?md)
  • Git<EFBFBD>𣂷漱閫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>湔鰵嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鈭歹<EFBFBD>

<EFBFBD><EFBFBD> 蝏蹱鰵撘<E9B0B5><E69298>𤏸<EFBFBD><F0A48FB8><EFBFBD><EFBFBD>鞟內

敹恍<EFBFBD><EFBFBD><EFBFBD>?

  1. <EFBFBD>圾隞<EFBFBD><EFBFBD>仃鈭衤辣

    • <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"<22><EFBFBD>鈭衤辣霈啣<E99C88>"<22><EFBFBD>
    • <EFBFBD><EFBFBD>圾銝箔<EFBFBD><EFBFBD><EFBFBD>瘥𤩺𠯫Git<EFBFBD>𣂷漱
  2. <EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡒊垢隞<EFBFBD><EFBFBD>

    • <EFBFBD><EFBFBD><EFBFBD>backend/src/modules/dc/index.ts<EFBFBD>圾璅<EFBFBD>蝏𤘪<EFBFBD>
    • <EFBFBD><EFBFBD>粉4銝杵ervice<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? - 餈鞱<E9A488>Prisma Studio<69><EFBFBD><E4BAA6>唳旿摨栞”
  3. *<EFBFBD><EFBFBD>圾鈭穃<EFBFBD><EFBFBD><EFBFBD><EFBFBD>?

    • <EFBFBD><EFBFBD>粉`鈭穃<E988AD><E7A983><EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8><EFBFBD>
    • <EFBFBD>圾憒<EFBFBD><EFBFBD>憭滨鍂撟喳蝱<EFBFBD><EFBFBD>霈暹鴌
    • <EFBFBD>嚗𡁏𧋦<EFBFBD><EFBFBD>隞嗅<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>摮条<EFBFBD>摮塩<EFBFBD><EFBFBD>蝻𣇉<EFBFBD><EFBFBD>滨蔭
  4. <EFBFBD><EFBFBD><EFBFBD><EFBFBD>SL璅<EFBFBD>

    • DC璅<EFBFBD><EFBFBD>滨垢摨𠉛掩隡劈SL璅<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝡舐<EFBFBD><EFBFBD>? - 憭滨鍂ASL<53><4C>ooks<6B><73><EFBFBD>隞嗅<E99A9E>撌亙<E6928C><E4BA99>賣㺭
    • 靽脲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>憌擧聢

撣貉<EFBFBD><EFBFBD>琿𩐠

<EFBFBD>?**銝滩<E98A9D>餈蹱甅<E8B9B1>?*嚗?1. <20>砍𧑐撘<F0A79190><E69298>烐𧒄<E78390>湔𦻖<E6B994>総fs.writeFileSync()`嚗<><E59A97><EFBFBD><EFBFBD><E6BBA2><EFBFBD><EFBFBD><E996AB>嚗?2. 雿輻鍂<E8BCBB><EFBFBD><E585B8><EFBFBD>蝻枏<E89DBB><E69E8F>唳旿嚗𠄎erverless<73><EFBFBD>銝滚虾<E6BB9A>𩤃<EFBFBD> 3. 敹䁅扇瘥𤩺𠯫Git<69>𣂷漱嚗<E6BCB1><EFBFBD><E8AAA8><EFBFBD>賭腺憭梧<E686AD> 4. <20>每ursor蝏<72>垢餈鞱<E9A488>憭齿<E686AD><E9BDBF>𡁏𧋦嚗<F0A78BA6><E59A97><EFBFBD>粹䔮憸矋<E686B8>

<EFBFBD>?**摨磰砲餈蹱甅<E8B9B1>?*嚗?1. 雿輻鍂storage.uploadBuffer()摮睃<EFBFBD><EFBFBD><EFBFBD>辣 2. 雿輻鍂cache.set()蝻枏<EFBFBD><EFBFBD>唳旿 3. 瘥誩予銝讠号<EFBFBD><EFBFBD>憿腐it<EFBFBD>𣂷漱 4. 憭齿<E686AD><E9BDBF>𡁏𧋦<F0A1818F><EFBFBD><E585B8>沌owerShell餈鞱<E9A488>


<EFBFBD><EFBFBD><E79285>蝏蠘恣

<EFBFBD><EFBFBD><EFBFBD><EFBFBD>霈∴<EFBFBD>敶枏<EFBFBD>嚗?```

<EFBFBD>𡒊垢隞<EFBFBD><EFBFBD><EFBFBD>歇摰峕<EFBFBD>嚗㚁<EFBFBD>

  • TypeScript<EFBFBD><EFBFBD>辣嚗?銝?- <20><EFBFBD><E9A489><EFBFBD>蝥?,658銵?- <20>滚𦛚撅<F0A69B9A><E69285>4銝芣<E98A9D><E88AA3><EFBFBD>1,038銵?- <20><EFBFBD><E689B9><EFBFBD>嚗?88銵?- 頝舐眏撅<E79C8F><E69285>115銵? <0A>滨垢隞<E59EA2><E99A9E><EFBFBD>𧊋撘<F0A78A8B><E69298>𡢅<EFBFBD>嚗?- TypeScript/TSX<53><58>辣嚗?銝迎<E98A9D>Placeholder嚗?- <20><EFBFBD><E9A489><EFBFBD>14銵?- <20><EFBFBD><E7AC94><EFBFBD>嚗?%

<EFBFBD>唳旿摨橒<EFBFBD>

  • 銵冽㺭<EFBFBD>𧶏<EFBFBD>4銝迎<EFBFBD>Prisma Schema撌脣<E6928C>銋㚁<E98A8B>
  • 摰鮋<EFBFBD><EFBFBD>𥕦遣嚗尠<EFBFBD>儭?<3F>霈?```

<EFBFBD><EFBFBD>𤏸<EFBFBD>摨?```

<EFBFBD><EFBFBD>餈𥕦漲嚗𡁶漲35%

  • Tool B<>𡒊垢嚗?00% <20>?- Tool B<>滨垢嚗?% <20>?- Tool A嚗?% <20>?- Tool C嚗?% <20>?- Portal嚗?% <20>?```

<EFBFBD><EFBFBD> <20>渲陝

<EFBFBD>蠘陝<EFBFBD><EFBFBD><EFBFBD><EFBFBD>銝𥟠C璅<EFBFBD><EFBFBD><EFBFBD>𤑳<EFBFBD><EFBFBD><EFBFBD>嚗𣬚鸌<EFBFBD>急糓<EFBFBD>其誨<EFBFBD><EFBFBD>腺憭勗<EFBFBD>敹恍<EFBFBD><EFBFBD>撱箇<EFBFBD><EFBFBD><EFBFBD><EFBFBD>? *<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>摰𧼮<EFBFBD><EFBFBD>䭾芋<EFBFBD>㛖𠶖<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𡠺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>頞喉<EFBFBD>隞乩噶<EFBFBD>游末<EFBFBD><EFBFBD><EFBFBD><EFBFBD>蝏剖極雿栶<EFBFBD>?


<EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD><EFBFBD> 2025-12-10
*<EFBFBD><EFBFBD>﹝蝏湔擪嚗? DC璅<E79285><EFBFBD><E69298>穃𣪧<E7A983>? *<EFBFBD>𠉛頂<EFBFBD><EFBFBD>嚗? 憿寧𤌍Issues