Files
AIclinicalresearch/docs/03-业务模块/RVW-稿件审查系统/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

12 KiB
Raw Blame History

RVW蝔蹂辣摰⊥䰻璅<EFBFBD> - 敶枏<E695B6><E69E8F><EFBFBD><E59786><EFBFBD><EFBFBD><E69298><EFBFBD><E78390>?

*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧋦嚗? v3.2
*<EFBFBD>𥕦遣<EFBFBD><EFBFBD>嚗? 2026-01-07
<EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD><EFBFBD> 2026-01-10
蝏湔擪<EFBFBD><EFBFBD><EFBFBD><><E69298>穃𣪧<E7A983>? 敶枏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>?Phase 1-6 摰峕<E691B0>嚗玺chema<6D>𠉛氖摰峕<E691B0>嚗峕芋<E5B395>?5%<25>舐鍂
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗? 敹恍<E695B9><EFBFBD>ΟVW璅<E79285><E288AA><EFBFBD><E59786><EFBFBD>銝箸鰵AI<41><EFBFBD><E68B87>𣂷<EFBFBD>銝𠹺<E98A9D><F0A0B9BA>?


<EFBFBD><EFBFBD><E79285><EFBFBD><E79281>

<EFBFBD>箸𧋦靽⊥<EFBFBD>

憿寧𤌍 靽⊥<EFBFBD>
<EFBFBD><EFBFBD>滨妍 RVW - 蝔蹂辣摰⊥䰻蝟餌<E89D9F> (Review)
<EFBFBD>摰帋<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>摰∠阮颲<EFBFBD>𨭌蝟餌<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*<EFBFBD><EFBFBD><EFBFBD>隞瑕<EFBFBD>? 潃鐥<EFBFBD>潃鐥<EFBFBD>潃?<3F><><EFBFBD>
*<EFBFBD><EFBFBD><EFBFBD>? 潃鐥<EFBFBD>潃鐥<EFBFBD>潃?<3F><><EFBFBD><EFBFBD><EFBFBD>瑞黎摰<E9BB8E><E691B0>銝滚<E98A9D>嚗?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>嘥恣蝻𤥁<EFBFBD>
*<EFBFBD><EFBFBD>𤑳𠶖<EFBFBD>? <EFBFBD>?<EFBFBD><EFBFBD><EFBFBD><EFBFBD>100%摰峕<E691B0>嚗峕𣈲<E5B395><F0A388B2>ord撖澆枂嚗<E69E82><EFBFBD><E6AD87><EFBFBD><EFBFBD>?frontend-v2

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

<EFBFBD><EFBFBD><EFBFBD>銝?*"撘<>蝞勗朖<E58B97>?**<2A><><EFBFBD>賢恣蝔踹極<E8B8B9><EFBFBD><E791AF><EFBFBD>颲睲<E9A2B2>隡删阮隞塚<E99A9E>蝟餌<E89D9F><E9A48C>芸𢆡餈鞱<E9A488><E99EB1><EFBFBD><EFBFBD><E79289><EFBFBD><EFBFBD><E996AB><EFBFBD>?<3F><EFBFBD>摮佗<E691AE>嚗諹<E59A97><E8ABB9>箏虾靘𥕦<E99D98><F0A595A6><EFBFBD><EFBFBD>摰∠阮<E288A0><EFBFBD><E4BA99>?> **<2A><EFBFBD><E8A9A8><EFBFBD><EFBFBD>**嚗帋<E59A97>隡惩<E99AA1><E683A9>箸𥁒<E7AEB8>?< 2<><32><EFBFBD>嚗𥡝<E59A97><F0A5A19D><EFBFBD><EFBFBD>折䔮憸䀹<E686B8><E480B9><EFBFBD> > 80%

<EFBFBD><EFBFBD><EFBFBD>

<EFBFBD><EFBFBD>AI<EFBFBD><EFBFBD><EFBFBD>歇摰峕<EFBFBD> <20><><EFBFBD>

  1. **蝔輻漲閫<E6BCB2><E996AB><EFBFBD><EFBFBD>隡?*嚗?1憿寞<E686BF><E5AF9E><EFBFBD><EFBFBD>
    • <EFBFBD><EFBFBD><EFBFBD>摮埈㺭<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>䕸PI蝑? - <20><EFBFBD><E7AE94>𠹺葉<F0A0B9BA>𤾸龫摮西<E691AE>憯唳<E686AF>敹𨰜<E695B9>讠阮蝥行<E89DA5><E8A18C>?
  2. **<2A><EFBFBD>摮西<E691AE>隡?*嚗?<3F><EFBFBD>嚗?0銝芣<E98A9D><E88AA3><EFBFBD>嚗? - 蝘𤑳<E89D98>霈曇恣霂<E681A3>摯嚗?銝芣<E98A9D><E88AA3><EFBFBD>嚗? - 蝏蠘恣摮行䲮瘜閙<E7989C>餈啗<E9A488>隡堆<E99AA1>5銝芣<E98A9D><E88AA3><EFBFBD>嚗? - 蝏蠘恣<E8A098><E681A3><EFBFBD><EFBFBD>摯嚗?銝芣<E98A9D><E88AA3><EFBFBD>嚗?
  3. 蝏澆<EFBFBD><EFBFBD><EFBFBD> + PICO<43>𣂼<EFBFBD>
    • <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-100嚗? - <20><EFBFBD>摮衣𠶖<E8A1A3><F0A0B696><EFBFBD><EFBFBD>𣞁<EFBFBD>躰秤 <20>椬摮条<E691AE> <20><EFBFBD><EFBFBD>嚗? - PICO蝏𤘪<E89D8F><F0A498AA>𡝗<EFBFBD><F0A19D97><EFBFBD>P/I/C/O嚗?

鈭支<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 撌脣<E6928C><E884A3><EFBFBD>

<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>? <EFBFBD><EFBFBD><EFBFBD>? <EFBFBD><EFBFBD>?
<EFBFBD><EFBFBD>隞嗡<EFBFBD>隡? <EFBFBD>? <EFBFBD>? <EFBFBD>?撌脣<E6928C><E884A3>?
<EFBFBD><EFBFBD>銝𠹺<EFBFBD> <EFBFBD>? <EFBFBD>? <EFBFBD>?撌脣<E6928C><E884A3>?
摰∠阮撌乩<EFBFBD><EFBFBD><EFBFBD>摰質”嚗? <EFBFBD>? <EFBFBD>? <EFBFBD>?撌脣<E6928C><E884A3>?
<EFBFBD><EFBFBD>雿㯄<EFBFBD>㗇𥋘 <EFBFBD>芸𢆡 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <EFBFBD>?撌脣<E6928C><E884A3>?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>? <EFBFBD>? <EFBFBD>?撌脣<E6928C><E884A3>?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <EFBFBD>? <EFBFBD>? <EFBFBD>?撌脣<E6928C><E884A3>?
<EFBFBD><EFBFBD>蟮敶埝﹝ <EFBFBD>? <EFBFBD>? <EFBFBD><EFBFBD> <20>唳旿摨枏歇<E69E8F><EFBFBD>嚗𪄇I<F0AA8487><49><EFBFBD>
蝟餌<EFBFBD>霈曄蔭 <EFBFBD>? <EFBFBD>? <EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><E69298>?
<EFBFBD><EFBFBD>憿菟𢒰 <EFBFBD>? <EFBFBD><EFBFBD> <EFBFBD><EFBFBD> 憭滨鍂撟喳蝱<E596B3><EFBFBD>
PICO<EFBFBD><EFBFBD> <EFBFBD>? <EFBFBD>? <EFBFBD><EFBFBD> <20>唳旿摨枏歇<E69E8F><EFBFBD>嚗𪄇I<F0AA8487><49><EFBFBD>

<EFBFBD><EFBFBD>儭?<3F><EFBFBD><E59786><EFBFBD>?

<EFBFBD>?撌脣<E6928C><E884A3><EFBFBD>蝘鳴<E89D98>Modules嚗?

<EFBFBD>𡒊垢嚗<EFBFBD><EFBFBD> 撌脣<E6928C><E884A3><EFBFBD>嚗?backend/src/modules/rvw/
<0A><EFBFBD><E98EBF><EFBFBD> routes/index.ts                  # v2 API頝舐眏嚗?api/v2/rvw嚗?<3F><EFBFBD><E98EBF><EFBFBD> controllers/reviewController.ts  # <20><EFBFBD><E689B9><EFBFBD><E58981>急鸌<E680A5>𤩺<EFBFBD>雿栶<E99BBF><E6A0B6><EFBFBD><EFBFBD><E8B3AD>㗇𥋘嚗?<3F><EFBFBD><E98EBF><EFBFBD> services/
<0A>?  <20><EFBFBD><E98EBF><EFBFBD> reviewService.ts             # <20><EFBFBD><E8A9A8>滚𦛚嚗<F0A69B9A><EFBFBD><EFBFBD>撱箝<E692B1><E7AE9D><EFBFBD>銵䕘<E98AB5>
<0A>?  <20><EFBFBD><E98EBF><EFBFBD> editorialService.ts          # 蝔輻漲閫<E6BCB2><E996AB><EFBFBD><EFBFBD>隡?<3F>?  <20><EFBFBD><E98EBF><EFBFBD> methodologyService.ts        # <20><EFBFBD>摮西<E691AE>隡?<3F>?  <20><EFBFBD><E5A999><EFBFBD> utils.ts                     # 撌亙<E6928C><E4BA99>賣㺭
<0A><EFBFBD><E98EBF><EFBFBD> workers/
<0A>?  <20><EFBFBD><E5A999><EFBFBD> reviewWorker.ts              # pg-boss撘<73>郊隞餃𦛚憭<F0A69B9A><E686AD>
<0A><EFBFBD><E98EBF><EFBFBD> types/index.ts                   # TypeScript蝐餃<E89D90>摰帋<E691B0>
<0A><EFBFBD><E5A999><EFBFBD> __tests__/                       # API瘚贝<E7989A><E8B49D>𡁏𧋦

<0A>滨垢嚗<E59EA2><E59A97> 撌脣<E6928C><E884A3><EFBFBD>嚗?frontend-v2/src/modules/rvw/
<0A><EFBFBD><E98EBF><EFBFBD> index.tsx                        # 璅<E79285><E288AA>亙藁
<0A><EFBFBD><E98EBF><EFBFBD> api/index.ts                     # API<50>亙藁
<0A><EFBFBD><E98EBF><EFBFBD> types/index.ts                   # 蝐餃<E89D90>摰帋<E691B0>
<0A><EFBFBD><E98EBF><EFBFBD> styles/index.css                 # <20><EFBFBD><E79195><EFBFBD><0A><EFBFBD><E98EBF><EFBFBD> pages/
<0A>?  <20><EFBFBD><E5A999><EFBFBD> Dashboard.tsx                # 摰∠阮撌乩<E6928C><E4B9A9><EFBFBD>隞餃𦛚<E9A483>𡑒”<F0A19192><E2809D><EFBFBD><EFBFBD><EFBFBD>
<0A><EFBFBD><E5A999><EFBFBD> components/
    <20><EFBFBD><E98EBF><EFBFBD> Header.tsx                   # 憿萄仍嚗<E4BB8D><E59A97>隡䭾<E99AA1><E4ADBE><EFBFBD>
    <20><EFBFBD><E98EBF><EFBFBD> Sidebar.tsx                  # 靘扯器<E689AF>誩紡<E8AAA9>?    <20><EFBFBD><E98EBF><EFBFBD> TaskTable.tsx                # 隞餃𦛚<E9A483>𡑒”銵冽聢
    <20><EFBFBD><E98EBF><EFBFBD> TaskDetail.tsx               # 隞餃𦛚霂行<E99C82><EFBFBD><E59A97>摨行辺+<2B><EFBFBD>+Word撖澆枂嚗?    <20><EFBFBD><E98EBF><EFBFBD> EditorialReport.tsx          # 蝔輻漲閫<E6BCB2><E996AB><EFBFBD>扳𥁒<E689B3>?    <20><EFBFBD><E98EBF><EFBFBD> MethodologyReport.tsx        # <20><EFBFBD>摮西<E691AE>隡唳𥁒<E594B3>?    <20><EFBFBD><E98EBF><EFBFBD> AgentModal.tsx               # <20><EFBFBD>雿㯄<E99BBF>㗇𥋘撘寧<E69298>
    <20><EFBFBD><E5A999><EFBFBD> ScoreRing.tsx                # 霂<><E99C82><EFBFBD><EFBFBD>隞?
<0A><EFBFBD><E68A92>穿<EFBFBD>靽萘<E99DBD><E89098>澆捆嚗㚁<E59A97>
backend/src/legacy/
<0A><EFBFBD><E98EBF><EFBFBD> routes/reviewRoutes.ts           # v1 API頝舐眏嚗<E79C8F><E59A97><EFBFBD><EFBFBD>
<0A><EFBFBD><E98EBF><EFBFBD> controllers/reviewController.ts
<0A><EFBFBD><E5A999><EFBFBD> services/reviewService.ts

Prompt嚗<74><E59A97><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>嚗?backend/prompts/
<0A><EFBFBD><E98EBF><EFBFBD> review_editorial_system.txt      # 蝔輻漲霂<E6BCB2>摯嚗?66銵䕘<E98AB5>
<0A><EFBFBD><E5A999><EFBFBD> review_methodology_system.txt    # <20><EFBFBD>摮西<E691AE>隡堆<E99AA1>257銵䕘<E98AB5>

<0A>唳旿摨橒<E691A8><E6A992>?撌脣<E6928C><E884A3><EFBFBD>嚗?- ReviewTask銵典歇瘛餃<E7989B><E9A483><EFBFBD>畾蛛<E795BE>selectedAgents, editorialScore, methodologyScore, methodologyStatus, picoExtract, isArchived, archivedAt
- <20>?Schema撌脰<E6928C>蝘餃<E89D98> rvw_schema嚗?026-01-10摰峕<E691B0>嚗?```

---

## <20><><><E69298>𤏸<EFBFBD>摨?
| Phase | 隞餃𦛚 | <20><EFBFBD>?| 摰峕<E691B0><E5B395><EFBFBD> |
|-------|------|------|---------|
| Phase 1 | <20>𡒊垢璅<E79285><EFBFBD>宏銝擧<E98A9D>撅?| <20>?撌脣<E6928C><E884A3>?| 2026-01-07 |
| Phase 2 | <20>唳旿摨枏<E691A8>畾菜<E795BE>撅?| <20>?撌脣<E6928C><E884A3>?| 2026-01-07 |
| Phase 3 | <20>滨垢<E6BBA8>齿<EFBFBD>嚗Êrontend-v2嚗?| <20>?撌脣<E6928C><E884A3>?| 2026-01-07 |
| Phase 4 | <20><><EFBFBD>瘚贝<E7989A>銝𦻓ug靽桀<E99DBD> | <20>?撌脣<E6928C><E884A3>?| 2026-01-10 |
| Phase 5 | <20><EFBFBD>撖澆枂嚗Áord嚗?| <20>?撌脣<E6928C><E884A3>?| 2026-01-10 |
| Phase 6 | Schema<6D>𠉛氖餈<E6B096>宏 | <20>?撌脣<E6928C><E884A3>?| 2026-01-10 |
| Phase 7 | 蝟餌<E89D9F>霈曄蔭銝𤾸<E98A9D>獢?| <20><EFBFBD> <20><><EFBFBD> | - |
| **<2A>餉恣** | - | **95%** | - |

### Phase 1-5 摰峕<E691B0><E5B395><EFBFBD>捆

**<2A>𡒊垢嚗㇊hase 1嚗㚁<E59A97>**
- <20>?<3F>𥕦遣 `backend/src/modules/rvw/` 璅<E79285>蝏𤘪<E89D8F>
- <20>?餈<>宏撟嗡<E6929F><E597A1>?reviewService<63><65>ditorialService<63><65>ethodologyService
- <20>?摰䂿緵<E482BF><EFBFBD>雿㯄<E99BBF>㗇𥋘嚗ìelectedAgents嚗塄ditorial/methodology/both嚗?- <20>?摰䂿緵<E482BF><EFBFBD>餈鞱<E9A488>API嚗Ê̄atchRunReviewTasks嚗?- <20>?<3F>踵揢 console.log 銝?logger <20>滚𦛚
- <20>?瘜典<E7989C> v2 API頝舐眏嚗?api/v2/rvw嚗?- <20>?摰䂿緵 pg-boss 撘<>郊隞餃𦛚憭<F0A69B9A><E686AD>嚗ǐeviewWorker嚗?
**<2A>唳旿摨橒<E691A8>Phase 2嚗㚁<E59A97>**
- <20>?瘛餃<E7989B> selectedAgents 摮埈挾嚗𠄎tring[]嚗?- <20>?瘛餃<E7989B> editorialScore 摮埈挾嚗㇅loat?嚗?- <20>?瘛餃<E7989B> methodologyScore 摮埈挾嚗㇅loat?嚗? 2026-01-10<31><EFBFBD>
- <20>?瘛餃<E7989B> methodologyStatus 摮埈挾嚗𠄎tring?嚗?- <20>?瘛餃<E7989B> picoExtract 摮埈挾嚗㇇son?嚗?- <20>?瘛餃<E7989B> isArchived<65><64>rchivedAt 摮埈挾嚗<E68CBE><E59A97><EFBFBD>𣈲<EFBFBD><F0A388B2><EFBFBD>
- <20>?雿輻鍂 prisma db push <20>峕郊<E5B395>唳㺭<E594B3><EFBFBD>

**<2A>滨垢嚗㇊hase 3嚗㚁<E59A97>**
- <20>?<3F>𥕦遣 `frontend-v2/src/modules/rvw/` 璅<E79285><E288AA><EFBFBD>蝏𤘪<E89D8F>
- <20>?摰䂿緵 Dashboard 憿菟𢒰嚗<F0A292B0><EFBFBD><EFBFBD>銵具<E98AB5><E585B7><EFBFBD><EFBFBD><EFBFBD><E589B9><EFBFBD>𤩺<EFBFBD>雿頣<E99BBF>
- <20>?摰䂿緵 TaskDetail 蝏<>辣嚗<E8BEA3>恣蝔輯<E89D94>摨行辺<E8A18C><E8BEBA><EFBFBD><EFBFBD>嗥𠶖<E597A5><F0A0B696>蔭霂<E99C82>
- <20>?摰䂿緵 EditorialReport 蝏<>辣嚗<E8BEA3>阮蝥西<E89DA5><E8A5BF><EFBFBD><EFBFBD><EFBFBD>隡唳𥁒<E594B3>𠺪<EFBFBD>
- <20>?摰䂿緵 MethodologyReport 蝏<>辣嚗<E8BEA3>䲮瘜訫郎霂<E9838E><EFBFBD><EFBFBD>嚗?- <20>?摰䂿緵 AgentModal 蝏<>辣嚗<E8BEA3><EFBFBD><EFBFBD><E8B3AD>㗇𥋘撘寧<E69298>嚗?- <20>?瘜典<E7989C><E585B8>?moduleRegistry.ts

**<2A><><EFBFBD>瘚贝<E7989A>銝𦻓ug靽桀<E99DBD>嚗㇊hase 4嚗㚁<E59A97>**
- <20>?靽桀<E99DBD><E6A180><EFBFBD>摮血<E691AE><E8A180><EFBFBD><E594AC>曄內<E69B84><EFBFBD><EFBFBD><E59A97>銵券△<E588B8>曄內"warn"<22><EFBFBD><E494B6><EFBFBD><E887AC><EFBFBD>
- <20>?靽桀<E99DBD><E6A180><EFBFBD>㗇䲮瘜訫郎<E8A8AB>嗉祕<E59789><E7A595>△銝齿遬蝷箸𥁒<E7AEB8>𢠃䔮憸?- <20>?靽桀<E99DBD> activeTab 暺䁅恕<E48185>澆紡<E6BE86><EFBFBD><E6B8A1>曄內<E69B84><EFBFBD>
- <20>?摰峕㟲瘚贝<E7989A><E8B49D>閙惣<E99699><EFBFBD><E8B3AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>雿枏恣蝔踵<E89D94>蝔?
**<2A><EFBFBD>撖澆枂嚗㇊hase 5嚗㚁<E59A97>**
- <20>?摰㕑<E691B0> docx <20>?file-saver 摨?- <20>?摰䂿緵 Word <20><>﹝撖澆枂<E6BE86><EFBFBD>
- <20>?<3F><EFBFBD>蝏𤘪<E89D8F><F0A498AA>𡝗𥁒<F0A19D97>𠺪<EFBFBD><F0A0BAAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>砌縑<E7A08C>航”<E888AA><EFBFBD><E6BDA6>阮蝥西<E89DA5><E8A5BF><EFBFBD><EFBFBD><EFBFBD><E689BC>䲮瘜訫郎霂<E9838E>摯嚗?- <20>?<3F><EFBFBD><E6A185><EFBFBD>遣霈桐蝙<E6A190><EFBFBD><E585B6><EFBFBD><E5B1B8><EFBFBD>霈?
**Schema<6D>𠉛氖餈<E6B096>宏嚗㇊hase 6嚗㚁<E59A97>**
- <20>?撠?review_tasks 銵其<E98AB5> public 餈<><EFBFBD>?rvw_schema
- <20>?<3F>湔鰵 Prisma schema 銝剔<E98A9D> @@schema <20><>誘
- <20>?<3F>齿鰵<E9BDBF><E9B0B5><EFBFBD> Prisma Client
- <20>?撉諹<E69289><E8ABB9><EFBFBD><EFBFBD>㗇䰻霂<E99C82><EFBCB7><EFBFBD><EFBFBD>虜撌乩<E6928C>

霂衣<E99C82>隞餃𦛚皜<F0A69B9A><E79A9C><EFBFBD><E996AB>[RVW璅<E79285><EFBFBD>宏霈<E99C88>](./04-撘<><E69298>𤏸恣<F0A48FB8>?RVW璅<E79285><EFBFBD>宏霈<E99C88>.md)

---

## <20><20><><EFBFBD><EFBFBD>韏?
### 憭滨鍂<E6BBA8><E98D82><EFBFBD><EFBFBD><E59597>?
| <20><EFBFBD> | 雿滨蔭 | <20><EFBFBD>?|
|------|------|------|
| **LLM蝵穃<E89DB5>** | `@/common/llm/LLMFactory` | AI霂<49>摯 |
| **<2A><>﹝憭<EFB99D><E686AD>** | `ExtractionClient` | Word/PDF<44><46>𧋦<EFBFBD>𣂼<EFBFBD> |
| **摮睃<E691AE>** | `@/common/storage` | <20><>辣摮睃<E691AE> |
| **<2A><EFBFBD>** | `@/common/logging` | 蝏𤘪<E89D8F><F0A498AA>𡝗𠯫敹?|
| **隞餃𦛚<E9A483><EFBFBD>** | `jobQueue` | 撘<>郊隞餃𦛚憭<F0A69B9A><E686AD> |

### LLM璅<E79285>

| 璅<E79285> | <20><EFBFBD>?| 霂湔<E99C82> |
|------|------|------|
| DeepSeek-V3 | 暺䁅恕 | <20>找遠瘥娪<E798A5>嚗峕綫<E5B395><E7B6AB><EFBFBD><EFBFBD>𥕦撩 |
| DeepSeek-R1 | 憭<><E686AD>?| 瘛勗漲<E58B97><EFBFBD> |
| Qwen3-72B | 憭<><E686AD>?| 銝剜<E98A9D><E5899C><EFBFBD>圾憟?|

---

## <20><> <20><EFBFBD><E8A9A8><EFBFBD>﹝

### <20><><EFBFBD><E79899>獢?
- [<5B><EFBFBD><E7AE84><EFBFBD>摰∠阮蝟餌<E89D9F>MVP PRD](./01-<2D><><EFBFBD><E79899><EFBFBD>?<3F><EFBFBD><E7AE84><EFBFBD>摰∠阮蝟餌<E89D9F>%20MVP%20鈭批<E988AD><E689B9><EFBFBD><EFBFBD><E79899>獢?md)
- [<5B><EFBFBD>摰∠阮V7<56><EFBFBD>](./01-<2D><><EFBFBD><E79899><EFBFBD>?<3F><EFBFBD>摰∠阮V7.html) - <20>舐凒<E88890><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

### 撘<><E69298><EFBFBD>獢?
- [餈<>宏霈<E99C88>嚗ǒ2.0<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>](./04-撘<><E69298>𤏸恣<F0A48FB8>?RVW璅<E79285><EFBFBD>宏霈<E99C88>.md) 漎<><E6BC8E> **銝餉<E98A9D><EFBFBD><E69298><EFBFBD>獢?*

### <20><><EFBFBD><EFBFBD><EFBFBD>獢?
- [<5B><EFBFBD>蝟餌<E89D9F><E9A48C><EFBFBD><EFBFBD>舀𨰫摨閙𥁒<E99699>𠺖(../../00-憿寧𤌍璁<F0A48C8D>膩/<2F><EFBFBD>蝟餌<E89D9F><E9A48C><EFBFBD><EFBFBD>舀𨰫摨閙𥁒<E99699>?md) - Line 578-748
- [鈭穃<E988AD><E7A983><EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8><EFBFBD>(../../04-撘<><E69298>𤏸<EFBFBD><F0A48FB8>?08-鈭穃<E988AD><E7A983><EFBFBD><E7AC94>𤏸<EFBFBD><F0A48FB8>?md)
- [蝟餌<E89D9F><E9A48C><EFBFBD><E59786><EFBFBD><EFBFBD>霈曇恣](../../00-蝟餌<E89D9F><E9A48C><EFBFBD>霈曇恣/01-蝟餌<E89D9F><E9A48C><EFBFBD><E59786><EFBFBD><EFBFBD>霈曇恣.md)

### Prompt<70><74>辣

- [蝔輻漲閫<E6BCB2><E996AB><EFBFBD><EFBFBD>隡唳<E99AA1><E594B3><EFBFBD>(./蝔輻漲閫<E6BCB2><E996AB><EFBFBD><EFBFBD>隡唳<E99AA1><E594B3>?txt)
- [蝔蹂辣<E8B982><EFBFBD>摮西<E691AE>隡唳<E99AA1><E594B3><EFBFBD>(./蝔蹂辣<E8B982><EFBFBD>摮西<E691AE>隡唳<E99AA1><E594B3>?txt)

---

## <20>㴓 敹恍<E695B9><EFBFBD>憪?
### 霈輸䔮摰∠阮璅<E79285>

1. **<2A>臬𢆡<E887AC>𡒊垢**
   ```bash
   cd backend
   npm run dev
  1. *<EFBFBD>臬𢆡<EFBFBD>滨垢嚗<EFBFBD><EFBFBD>?frontend-v2嚗?

    cd frontend-v2
    npm run dev
    
  2. 霈輸䔮摰∠阮憿菟𢒰

    • <EFBFBD><EFBFBD> http://localhost:3000
    • <EFBFBD>孵稬憿園<EFBFBD>撖潸⏛<EFBFBD><EFBFBD> "憸<>恣蝔? <20><>
    • <EFBFBD>𣇉凒<EFBFBD>亥挪<EFBFBD>?http://localhost:3000/rvw
  3. 瘚贝<EFBFBD><EFBFBD><EFBFBD>

    • <EFBFBD>孵稬"銝𠹺<E98A9D>蝔蹂辣"<22>厰僼
    • <EFBFBD>㗇𥋘Word/PDF<44><46>﹝嚗<EFB99D>楆5MB嚗? - <20>㗇𥋘<E39787><EFBFBD>雿橒<E99BBF>蝔輻漲閫<E6BCB2><E996AB><EFBFBD>?<3F><EFBFBD>摮?銝方<E98A9D><E696B9><EFBFBD><EFBFBD><EFBFBD>
    • <EFBFBD>孵稬"餈鞱<E9A488>"<22>厰僼
    • 蝑匧<EFBFBD>AI霂<EFBFBD>摯摰峕<EFBFBD><EFBFBD>漲1-2<><32><EFBFBD>嚗? - <20><EFBFBD><EFBFBD><EFBFBD><EFBFBD>

API瘚贝<EFBFBD><EFBFBD><EFBFBD>?v2 API嚗?

### <20><EFBFBD>隞餃𦛚<E9A483>𡑒”
GET http://localhost:3001/api/v1/rvw/tasks

### <20>厩𠶖<E58EA9><F0A0B696><EFBFBD><EFBFBD>?GET http://localhost:3001/api/v1/rvw/tasks?status=pending

### 銝𠹺<E98A9D>蝔蹂辣
POST http://localhost:3001/api/v1/rvw/tasks
Content-Type: multipart/form-data
# file: <20><># selectedAgents: ["editorial", "methodology"]

### 餈鞱<E9A488><E99EB1>蓥葵隞餃𦛚
POST http://localhost:3001/api/v1/rvw/tasks/{{taskId}}/run
Content-Type: application/json
{"selectedAgents": ["editorial", "methodology"]}

### <20><EFBFBD>餈鞱<E9A488>隞餃𦛚
POST http://localhost:3001/api/v1/rvw/tasks/batch-run
Content-Type: application/json
{"taskIds": ["id1", "id2"], "selectedAgents": ["editorial"]}

### <20><EFBFBD>隞餃𦛚霂行<E99C82>
GET http://localhost:3001/api/v1/rvw/tasks/{{taskId}}

### <20><EFBFBD><E79195><EFBFBD>
GET http://localhost:3001/api/v1/rvw/tasks/{{taskId}}/report

<EFBFBD><EFBFBD>API嚗<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>摰對<EFBFBD>

### 銝𠹺<E98A9D>蝔蹂辣嚗<E8BEA3>唂API嚗?POST http://localhost:3001/api/v1/review/upload
Content-Type: multipart/form-data

<EFBFBD>𩤃<EFBFBD> 瘜冽<E7989C>鈭钅★

撖寞鰵AI<EFBFBD><EFBFBD>

  1. <EFBFBD>?**<2A><EFBFBD><E8A9A8><EFBFBD>撌脣<E6928C><E884A3>?*嚗𡁜<E59A97><F0A1819C>𡒊垢撌脰<E6928C>蝘餃<E89D98><E9A483>唳沲<E594B3><E6B2B2><EFBFBD><EFBFBD>舀迤撣訾蝙<E8A8BE>?2. <20>?撌脤<EFBFBD><EFBFBD>𣂼<EFBFBD> frontend-v2嚗𡁻<EFBFBD><EFBFBD>憿園<EFBFBD>撖潸⏛<EFBFBD>?憸<>恣蝔?餈𥕦<E9A488>
  2. <EFBFBD>?**v2 API 撌脣停蝏?嚗?api/v2/rvw/ 頝舐眏<E88890>舐鍂
  3. <EFBFBD>?**<2A>萄儐鈭穃<E988AD><E7A983><EFBFBD><E8A098>?*嚗帋蝙<E5B88B>?logger <20>滚𦛚<E6BB9A>蹂誨 console.log
  4. <EFBFBD>𩤃<EFBFBD> 靽萘<EFBFBD><EFBFBD>你PI嚗鯝1頝舐眏靽脲<EFBFBD><EFBFBD>澆捆嚗峕𣈲<EFBFBD><EFBFBD><EFBFBD>滨垢

撌脣<EFBFBD><EFBFBD>鞉㺿<EFBFBD>?

<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>?
<EFBFBD><EFBFBD> console.log logger<EFBFBD>滚𦛚 <EFBFBD>?撌脣<E6928C><E884A3>?
<EFBFBD><EFBFBD>霈方<EFBFBD> Mock<EFBFBD><EFBFBD>ID getUserId(request) <EFBFBD>?撌脣<E6928C><E884A3>?
<EFBFBD><EFBFBD>雿㯄<EFBFBD>㗇𥋘 <EFBFBD>芸𢆡 <EFBFBD><EFBFBD><EFBFBD><EFBFBD>? <EFBFBD>?撌脣<E6928C><E884A3>?
<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD>? batchRunReviewTasks <EFBFBD>?撌脣<E6928C><E884A3>?

<EFBFBD><EFBFBD>蝏剜㺿<EFBFBD>?

<EFBFBD><EFBFBD> 敶枏<EFBFBD> <EFBFBD><EFBFBD> 隡睃<EFBFBD>蝥?
Schema雿滨蔭 <EFBFBD>?rvw_schema - <EFBFBD>?撌脣<E6928C><E884A3>?
隞餃𦛚憭<EFBFBD><EFBFBD> <EFBFBD>?pg-boss - <EFBFBD>?撌脣<E6928C><E884A3>?
<EFBFBD><EFBFBD>撖澆枂 <EFBFBD>?Word (.docx) PDF隡睃<EFBFBD> P3

<EFBFBD><EFBFBD> 撉峕𤣰<E5B395><F0A4A3B0><EFBFBD>

<EFBFBD>寞旿MVP PRD嚗屸<E59A97><E5B1B8><EFBFBD><E59786><EFBFBD><EFBFBD>銝页<E98A9D>

  1. **瘚<><E7989A><EFBFBD>?*嚗𡁶鍂<F0A181B6><EFBFBD><E79181>𣂼<EFBFBD>銝𠹺<E98A9D>5銝枉DF嚗<46><EFBFBD><EFBFBD><E79285>餈鞱<E9A488>嚗𣬚<E59A97>敺?<3F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E59786><EFBFBD><EFBFBD><EFBFBD>銝?撌脣<E6928C><E884A3>?

  2. **<2A><EFBFBD><E4BA99>?*嚗? - 銝𠹺<E98A9D><EFBFBD><EFBFBD><E89DAD><EFBFBD><EFBFBD><E8AAA9>?<3F><EFBFBD>蝏栞捏"<22><>阮隞塚<E99A9E><EFBFBD><E996AB><EFBFBD>扳惣<E689B3><EFBFBD><EFBFBD><EFBFBD>仿<EFBFBD>

    • 銝𠹺<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>𤩺毽瘛?t璉<74>撉?<3F>?<3F>⊥䲮璉<E4B2AE>撉?<3F><>阮隞塚<E99A9E><E5A19A><EFBFBD>摮行惣<E8A18C><EFBFBD><EFBFBD><EFBFBD>?摮条<E691AE>"<22>?<3F>躰秤"
  3. **<2A>惩援皞?*嚗朞<E59A97>蝏凋<E89D8F>隡?0銝芣<E98A9D>隞塚<E99A9E>蝟餌<E89D9F>銝滚㨃甇鳴<E79487>銝滨蒾撅?


<EFBFBD><EFBFBD> <20>芣䔉閫<E49489><E996AB>

<EFBFBD>?撌脣<E6928C><E884A3><EFBFBD>2026-01-07 ~ 2026-01-10嚗?

  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD>?modules/rvw嚗<77><E59A97>蝡荔<E89DA1>
  • <EFBFBD><EFBFBD><EFBFBD><EFBFBD>?modules/rvw嚗<77><E59A97>蝡?frontend-v2嚗?- [x] <20><EFBFBD>MVP<56><EFBFBD><E595A3><EFBFBD><E8B89D><EFBFBD>銝𠹺<E98A9D><F0A0B9BA><EFBFBD>極雿𨅯蝱<F0A885AF><E89DB1><EFBFBD><EFBFBD><E8B3AD>㗇𥋘嚗?- [x] 鈭穃<E988AD><E7A983><EFBFBD>㺿<EFBFBD>𩤃<EFBFBD>logger<65>滚𦛚嚗?- [x] v2 API 頝舐眏瘜典<E7989C>
  • <EFBFBD>唳旿摨枏<EFBFBD>畾菜<EFBFBD>撅?- [x] pg-boss撘<73>郊隞餃𦛚憭<F0A69B9A><E686AD>嚗?026-01-10嚗?- [x] Word<72><EFBFBD>撖澆枂嚗?026-01-10嚗?- [x] <20><EFBFBD>摮血<E691AE><E8A180>唳遬蝷箔耨憭㵪<E686AD>2026-01-10嚗?- [x] <20>閙惣<E99699><EFBFBD>摰∠阮<E288A0>曄內靽桀<E99DBD>嚗?026-01-10嚗?- [x] Schema餈<61><EFBFBD>?rvw_schema嚗?026-01-10嚗?

<EFBFBD>𡒊賒<EFBFBD><EFBFBD>𧋦

  • PDF<EFBFBD><EFBFBD>撖澆枂隡睃<EFBFBD>
  • PICO<EFBFBD><EFBFBD>UI摰䂿緵
  • <EFBFBD><EFBFBD>蟮敶埝﹝UI摰䂿緵
  • <EFBFBD><EFBFBD>憿菟𢒰嚗<EFBFBD>𡠺蝡衤漣<EFBFBD><EFBFBD>𧒄嚗?- [ ] 摰∠阮鈭箇恣<E7AE87><E681A3>頂蝏?- [ ] 憭朞蔭摰∠阮瘚<E998AE><E7989A>
  • <EFBFBD><EFBFBD>摨梶恣<EFBFBD>?- [ ] <20><EFBFBD>鈭批<E988AD><E689B9><EFBFBD>

*<EFBFBD><EFBFBD><EFBFBD><EFBFBD>𧋦嚗? v3.2
<EFBFBD><EFBFBD><EFBFBD>擧凒<EFBFBD><EFBFBD> 2026-01-10
敶枏<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>?Phase 1-6 摰峕<E691B0>嚗峕芋<E5B395>?5%<25>舐鍂嚗玺chema撌脤<E6928C>蝳? 銝衤<EFBFBD>甇伐<EFBFBD> <20>煺漣<E785BA><EFBFBD><E887AC>函蔡瘚贝<E7989A>