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%)
12 KiB
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>
- **蝔輻漲閫<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>?
- **<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>嚗?
- 蝏澆<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>蔭霂g<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>㗇䰻霂W<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
-
*<EFBFBD>臬𢆡<EFBFBD>滨垢嚗<EFBFBD>鰵<EFBFBD>?frontend-v2嚗?
cd frontend-v2 npm run dev -
霈輸䔮摰∠阮憿菟𢒰
- <EFBFBD>枏<EFBFBD>
http://localhost:3000 - <EFBFBD>孵稬憿園<EFBFBD>撖潸⏛<EFBFBD>讐<EFBFBD> "憸<>恣蝔? <20><>倌
- <EFBFBD>𣇉凒<EFBFBD>亥挪<EFBFBD>?
http://localhost:3000/rvw
- <EFBFBD>枏<EFBFBD>
-
瘚贝<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>
- <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>
- <EFBFBD>?**v2 API 撌脣停蝏?嚗?api/v2/rvw/ 頝舐眏<E88890>舐鍂
- <EFBFBD>?**<2A>萄儐鈭穃<E988AD><E7A983>蠘<EFBFBD><E8A098>?*嚗帋蝙<E5B88B>?logger <20>滚𦛚<E6BB9A>蹂誨 console.log
- <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>
-
**瘚<><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>?
-
**<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>躰秤"
-
**<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>