Files
AIclinicalresearch/docs/03-业务模块/ASL-AI智能文献/04-开发计划/01-开发里程碑.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

415 lines
19 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ASL 妯″潡寮€鍙戦噷绋嬬<E7BB8B>
> **鏂囨。鐗堟湰锛?* V3.0
> **鍒涘缓鏃ユ湡锛?* 2025-11-16
> **缁存姢鑰咃細** AI鏅鸿兘鏂囩尞寮€鍙戝洟闃?
> **鏈€鍚庢洿鏂帮細** 2025-11-16
> **猸?閲嶈<E996B2>锛氬熀浜庣湡瀹炴灦鏋勶紙Frontend-v2 + Backend澧為噺婕旇繘锛?*
---
## 馃搵 鏂囨。姒傝堪
<EFBFBD>枃妗畾涔?ASL锛圓I鏅鸿兘鏂囩尞锛夋ā鍧楃殑瀹屾暣寮€鍙戦噷绋嬬<E7BB8B>锛岄噰鐢?**MVP 鈫?V1.0 鈫?V2.0** 涓夐樁娈垫笎杩涘紡婕旇繘绛栫暐銆?
**鏋舵瀯鍓嶆彁锛?*
- 鉁?Frontend-v2 鍏ㄦ柊鏋舵瀯锛堥《閮ㄥ<E996AE>鑸?+ 妯″潡娉ㄥ唽锛? Week 2 Day 6-7 宸插畬鎴?- 鉁?Backend 澧為噺婕旇繘鏋舵瀯锛坙egacy/ + common/ + modules/锛? Week 2 Day 8-9 宸插畬鎴?- 鉁?鏁版嵁搴?10涓猄chema闅旂<E99785> - Week 1 宸插畬鎴?- 馃毀 ASL 妯″潡鍗犱綅灏辩华锛岀瓑寰?Week 3 寮€鍙?
---
## 馃彈锔?褰撳墠鏋舵瀯鍩虹<E98DA9>锛堝凡瀹屾垚锛?
### Frontend-v2 鐪熷疄鏋舵瀯
```
frontend-v2/src/
鈹溾攢鈹€ framework/ # 鉁?宸插疄鐜帮紙Week 2 Day 6-7锛?鈹? 鈹溾攢鈹€ layout/
鈹? 鈹? 鈹溾攢鈹€ MainLayout.tsx # 鉁?涓诲竷灞€锛堥《閮ㄥ<E996AE><EFBFBD>
鈹? 鈹? 鈹斺攢鈹€ TopNavigation.tsx # 鉁?椤堕儴瀵艰埅鏍忥紙6涓<36>ā鍧楋級
鈹? 鈹溾攢鈹€ modules/
鈹? 鈹? 鈹溾攢鈹€ moduleRegistry.ts # 鉁?妯″潡娉ㄥ唽涓<E594BD>
鈹? 鈹? 鈹溾攢鈹€ ErrorBoundary.tsx # 鉁?閿欒<E996BF>杈圭晫
鈹? 鈹? 鈹斺攢鈹€ types.ts # 鉁?妯″潡绫诲瀷瀹氫箟
鈹? 鈹溾攢鈹€ router/
鈹? 鈹? 鈹斺攢鈹€ RouteGuard.tsx # 鉁?璺<>敱瀹堝崼
鈹? 鈹斺攢鈹€ permission/
鈹? 鈹溾攢鈹€ PermissionContext.tsx # 鉁?鏉冮檺鎺у埗
鈹? 鈹斺攢鈹€ usePermission.ts # 鉁?鏉冮檺Hook
鈹?鈹斺攢鈹€ modules/ # 馃摝 涓氬姟妯″潡
鈹溾攢鈹€ asl/ # 馃毀 ASL妯″潡锛堝崰浣嶏紝Week 3寮€鍙戯級
鈹? 鈹斺攢鈹€ index.tsx # 鉁?鍗犱綅椤甸潰
鈹溾攢鈹€ aia/ # 鉁?AI闂<49>瓟锛堝崰浣嶏級
鈹溾攢鈹€ pkb/ # 鉁?鐭ヨ瘑搴擄紙鍗犱綅锛? 鈹溾攢鈹€ dc/ # 鉁?鏁版嵁娓呮礂锛堝崰浣嶏級
鈹溾攢鈹€ ssa/ # 鉁?缁熻<E7BC81>鍒嗘瀽锛堝崰浣嶏級
鈹斺攢鈹€ st/ # 鉁?缁熻<E7BC81>宸ュ叿锛堝崰浣嶏級
```
### Backend 鐪熷疄鏋舵瀯
```
backend/src/
鈹溾攢鈹€ legacy/ # 鉁?鐜版湁涓氬姟锛圵eek 2 Day 8-9瀹屾垚杩佺Щ锛?鈹? 鈹溾攢鈹€ routes/ # 7涓<37>矾鐢辨枃浠?鈹? 鈹? 鈹溾攢鈹€ projects.ts # AIA: 椤圭洰璺<E6B4B0>
鈹? 鈹? 鈹溾攢鈹€ agents.ts # AIA: 鏅鸿兘浣撹矾鐢?鈹? 鈹? 鈹溾攢鈹€ conversations.ts # AIA: 瀵硅瘽璺<E798BD>
鈹? 鈹? 鈹溾攢鈹€ chatRoutes.ts # AIA: 閫氱敤瀵硅瘽
鈹? 鈹? 鈹溾攢鈹€ knowledgeBases.ts # PKB: 鐭ヨ瘑搴撹矾鐢?鈹? 鈹? 鈹溾攢鈹€ batchRoutes.ts # PKB: 鎵瑰<E98EB5>鐞嗚矾鐢?鈹? 鈹? 鈹斺攢鈹€ reviewRoutes.ts # RVW: 绋夸欢瀹℃煡璺<E785A1>
鈹? 鈹溾攢鈹€ controllers/ # 鎺у埗鍣?鈹? 鈹斺攢鈹€ services/ # 鏈嶅姟
鈹?鈹溾攢鈹€ common/ # 鉁?閫氱敤鑳藉姏灞傦紙宸插疄鐜帮級
鈹? 鈹溾攢鈹€ llm/adapters/ # LLM閫傞厤鍣?鈹? 鈹? 鈹溾攢鈹€ DeepSeekAdapter.ts # 鉁?DeepSeek-V3
鈹? 鈹? 鈹溾攢鈹€ QwenAdapter.ts # 鉁?Qwen3-72B
鈹? 鈹? 鈹斺攢鈹€ LLMFactory.ts # 鉁?宸ュ巶绫?鈹? 鈹溾攢鈹€ rag/
鈹? 鈹? 鈹斺攢鈹€ DifyClient.ts # 鉁?RAG瀹㈡埛绔?鈹? 鈹溾攢鈹€ document/
鈹? 鈹? 鈹斺攢鈹€ ExtractionClient.ts # 鉁?鏂囨。鎻愬彇瀹㈡埛绔?鈹? 鈹溾攢鈹€ middleware/
鈹? 鈹? 鈹斺攢鈹€ validateProject.ts # 鉁?楠岃瘉涓<E79889>棿浠?鈹? 鈹斺攢鈹€ utils/
鈹? 鈹斺攢鈹€ jsonParser.ts # 鉁?JSON瑙瀽宸ュ叿
鈹?鈹斺攢鈹€ modules/ # 馃専 鏂版ā鍧楀紑鍙戝尯
鈹斺攢鈹€ asl/ # 馃毀 ASL妯″潡锛堢┖鐩<E29496>綍锛學eek 3寮€鍙戯級
鈹斺攢鈹€ 锛堝緟鍒涘缓锛?```
### Database Schema锛堝凡闅旂<E99785>锛?```
PostgreSQL 15 + Prisma 6.17.0
鉁?platform_schema - 鐢ㄦ埛琛<E59F9B>紙users锛?鉁?aia_schema - AI闂<49>瓟锛坧rojects, conversations, messages绛夛級
鉁?pkb_schema - 鐭ヨ瘑搴擄紙knowledge_bases, documents, batch_tasks绛夛級
馃毀 asl_schema - AI鏅鸿兘鏂囩尞锛圵eek 3 瀹氫箟琛ㄧ粨鏋勶級
馃搵 common_schema - 閫氱敤鑳藉姏灞傦紙棰勭暀锛?馃搵 dc_schema - 鏁版嵁娓呮礂锛堥<E9949B>鐣欙級
馃搵 rvw_schema - 绋夸欢瀹℃煡锛堥<E9949B>鐣欙級
馃搵 admin_schema - 杩愯惀绠悊锛堥<E9949B>鐣欙級
馃搵 ssa_schema - 缁熻<E7BC81>鍒嗘瀽锛堥<E9949B>鐣欙級
馃搵 st_schema - 缁熻<E7BC81>宸ュ叿锛堥<E9949B>鐣欙級
```
---
## 馃幆 鎬讳綋鎴樼暐
```
鈹屸攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹?鈹? ASL 涓夐樁娈垫紨杩涜矾绾垮浘 鈹?鈹溾攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹?鈹? MVP (4鍛? V1.0 (6鍛? V2.0 (8鍛? 鈹?鈹? 鈹溾攢 鍩虹<E98DA9><EFBFBD>敤 鈹溾攢 楂樿川閲? 鈹溾攢 鍖诲<E98D96>绾? 鈹?鈹? 鈹溾攢 蹇<>€熼獙璇? 鈹溾攢 鏅鸿兘浼樺寲 鈹溾攢 鑷<>姩瀹¤<E780B9> 鈹?鈹? 鈹溾攢 鎴愭湰浼樺厛 鈹溾攢 璐ㄩ噺鎻愬崌 鈹溾攢 瀹屾暣杩芥函 鈹?鈹? 鈹斺攢 浜哄伐澶嶆牳 鈹斺攢 瑙勫垯楠岃瘉 鈹斺攢 HITL鏅鸿兘鍒嗘祦 鈹?鈹斺攢鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹€鈹?
鏍稿績璁捐<EFBFBD>鍘熷垯锛? 1. 鏋舵瀯鍏堣<E98D8F>锛氬湪宸插畬鎴愮殑 Frontend-v2 鍜?Backend 鏋舵瀯鍩虹<E98DA9>涓婂紑鍙? 2. 鍒嗘<E98D92>瀹炴柦锛氭瘡闃舵<E99783>浜や粯鍙<E7B2AF>敤鍔熻兘
3. 璐ㄩ噺鍙<E599BA>帶锛氬噯纭<E599AF>巼浠?5% 鈫?90% 鈫?95%
4. 鎴愭湰鍙<E6B9B0>帶锛氫紭鍏堜娇鐢―eepSeek+Qwen3锛屽彲鍒囨崲楂樼<E6A582>妯″瀷
```
---
## 馃搳 涓夐樁娈甸噷绋嬬<E7BB8B>瀵规瘮
| 缁村害 | MVP (4鍛? | V1.0 (6鍛? | V2.0 (8鍛? |
|------|----------|-----------|-----------|
| **浜や粯鑼冨洿** | 鏍囬<E98F8D>鎽樿<E98EBD>鍒濈瓫 | + 鍏ㄦ枃澶嶇瓫 + PDF鎻愬彇 | + 鏁版嵁鎻愬彇 + 璐ㄩ噺瀹¤<E780B9> |
| **鍑嗙‘鐜囩洰鏍?* | 鈮?85% | 鈮?90% | 鈮?95% |
| **妯″瀷缁勫悎** | DeepSeek + Qwen3 | 鎴愭湰浼樺寲绛栫暐 | 涓夋ā鍨嬩徊瑁?|
| **璐ㄩ噺鎺у埗** | 鍙屾ā鍨嬮獙璇?+ JSON Schema | + Few-shot + 瑙勫垯寮曟搸 | + HITL + 鑷<>姩瀹¤<E780B9> |
| **鍙<>拷婧<E68BB7>€?* | 鍩烘湰鏃ュ織 | 瀹屾暣璇佹嵁閾?| 瀹¤<E780B9>绾ц<E7BBBE>褰?|
| **鍓嶇<E98D93>** | 鍩虹<E98DA9>宸ヤ綔鍙帮紙Frontend-v2锛?| 浼樺寲浜や簰 | 瀹屾暣UI |
| **鍚庣<E98D9A>** | modules/asl/鏍稿績鍔熻兘 | + PDF鏈嶅姟闆嗘垚 | + 楂樼骇璐ㄩ噺淇濋殰 |
| **鎴愭湰/1000绡?* | 楼5 | 楼21 | 楼24 + 浠茶<E6B5A0> |
---
## 馃殌 MVP 闃舵<E99783>锛堢<E9949B> 1-4 鍛<>
### 闃舵<E99783><EFBFBD>
**浜や粯鏍囧噯**锛?- 鉁?鏍囬<E98F8D>鎽樿<E98EBD>鍒濈瓫鍔熻兘瀹屾暣鍙<E69AA3>
- 鉁?Excel 瀵煎叆銆丄I 鍙屾ā鍨嬬瓫閫夈€佷汉宸ュ<E5AEB8>鏍?- 鉁?鍑嗙‘鐜?鈮?85%
- 鉁?鎴愭湰鎺у埗锛氣墹 楼50/1000 绡?- 鉁?鍓嶇<E98D93>闆嗘垚鍒?Frontend-v2 椤堕儴瀵艰埅
- 鉁?鍚庣<E98D9A> API 娉ㄥ唽鍒?/api/v1/asl/*
### 閲岀▼纰戝垝鍒?
#### **M1.1 - 鏁版嵁搴揝chema璁捐<E79281>**锛圵eek 1, Day 1锛?
**浠诲姟**锛?- [ ] 璁捐<E79281> asl_schema 琛ㄧ粨鏋勶紙4寮犳牳蹇冭〃锛? - `asl_screening_projects`锛堢瓫閫夐」鐩<EFBFBD>〃锛? - `asl_literatures`锛堟枃鐚<EFBFBD>潯鐩<EFBFBD>〃锛? - `asl_screening_results`锛堢瓫閫夌粨鏋滆〃锛? - `asl_screening_tasks`锛堢瓫閫変换鍔¤〃锛?- [ ] 鍦?`backend/prisma/schema.prisma`<>坊鍔犳ā鍨嬪畾涔? - 浣跨敤 `@@schema("asl_schema")` 鎸囧畾Schema
- 瀹氫箟澶栭敭鍏崇郴锛堝紩鐢?`platform_schema.users`锛? - **娣诲姞 OSS 鐩稿叧瀛楁<E7809B>**锛堟敮鎸佷簯鍘熺敓閮ㄧ讲锛夛細
- `pdfUrl` - PDF璁块棶URL
- `pdfOssKey` - OSS瀛樺偍Key
- `pdfFileSize` - 鏂囦欢澶у皬
- [ ] 杩愯<E69DA9> Prisma 杩佺Щ
```bash
cd backend
npx prisma migrate dev --name add_asl_tables
npx prisma generate
```
**浜や粯鐗?*锛?- 鉁?asl_schema 琛ㄥ垱寤哄畬鎴?- 鉁?Prisma Client 鐢熸垚鎴愬姛
- 鉁?鏁版嵁搴撹縼绉绘垚鍔?- 鉁?OSS 瀛楁<E7809B>棰勭暀瀹屾垚
---
#### **M1.2 - 鍚庣<E98D9A>API鎼<49>缓**锛圵eek 1, Day 2-3锛?
> **猸?鍓嶇疆鏉′欢锛?025-11-17 鏇存柊锛?*锛氬钩鍙板熀纭€璁炬柦宸插畬鎴愬疄鏂?鉁?
> **瀹屾垚鐘舵€?*锛?涓<>牳蹇冩ā鍧楋紝100%娴嬭瘯閫氳繃
> **瀹屾垚鎶ュ憡**锛歔骞冲彴鍩虹<E98DA9>璁炬柦瀹炴柦瀹屾垚鎶ュ憡](../../../08-椤圭洰绠$悊/03-姣忓懆璁″垝/2025-11-17-骞冲彴鍩虹<E98DA9>璁炬柦瀹炴柦瀹屾垚鎶ュ憡.md)
> **浣跨敤鎸囧崡**锛歔backend/src/common/README.md](../../../../backend/src/common/README.md)
**骞冲彴宸叉彁渚涚殑8涓<38>牳蹇冩ā鍧楋紙鏃犻渶ASL妯″潡瀹炵幇锛?*锛?
| # | 妯″潡 | 璺<>緞 | 浣跨敤鏂瑰紡 | 璇存槑 |
|---|------|------|---------|------|
| 1 | **瀛樺偍鏈嶅姟** | `common/storage/` | `import { storage } from '@/common/storage'` | 鏂囦欢涓婁紶涓嬭浇锛堟湰鍦?OSS鍒囨崲锛?|
| 2 | **鏃ュ織绯荤粺** | `common/logging/` | `import { logger } from '@/common/logging'` | 缁撴瀯鍖朖SON鏃ュ織 |
| 3 | **缂撳瓨鏈嶅姟** | `common/cache/` | `import { cache } from '@/common/cache'` | 鍐呭瓨/Redis缂撳瓨 |
| 4 | **寮傛<E5AFAE>浠诲姟** | `common/jobs/` | `import { jobQueue } from '@/common/jobs'` | 闀挎椂闂翠换鍔″<E98D94>鐞?|
| 5 | **鍋ュ悍妫€鏌?* | `common/health/` | `import { registerHealthRoutes } from '@/common/health'` | SAE鍋ュ悍妫€鏌?|
| 6 | **鐩戞帶鎸囨爣** | `common/monitoring/` | `import { Metrics } from '@/common/monitoring'` | 鎬ц兘鐩戞帶鍜屽憡璀?|
| 7 | **鏁版嵁搴撹繛鎺ユ睜** | `config/database.ts` | `import { prisma } from '@/config/database'` | 鍏ㄥ眬Prisma瀹炰緥 |
| 8 | **鐜<><E9909C>閰嶇疆** | `config/env.ts` | `import { env } from '@/config/env'` | 缁熶竴閰嶇疆绠$悊 |
**浠诲姟**锛?- [ ] 鍒涘缓 `backend/src/modules/asl/` 鐩<>綍缁撴瀯
```
modules/asl/
鈹溾攢鈹€ routes/
鈹? 鈹斺攢鈹€ index.ts # 璺<>敱娉ㄥ唽
鈹溾攢鈹€ controllers/
鈹? 鈹溾攢鈹€ projectController.ts # 椤圭洰鎺у埗鍣? 鈹? 鈹溾攢鈹€ literatureController.ts # 鏂囩尞鎺у埗鍣? 鈹? 鈹斺攢鈹€ screeningController.ts # 绛涢€夋帶鍒跺櫒
鈹溾攢鈹€ services/
鈹? 鈹溾攢鈹€ projectService.ts # 椤圭洰涓氬姟閫昏緫
鈹? 鈹溾攢鈹€ literatureService.ts # 鏂囩尞涓氬姟閫昏緫
鈹? 鈹斺攢鈹€ llmScreeningService.ts # LLM绛涢€夋湇鍔? 鈹溾攢鈹€ schemas/
鈹? 鈹斺攢鈹€ screening.schema.ts # JSON Schema瀹氫箟
鈹斺攢鈹€ types/
鈹斺攢鈹€ screening.types.ts # TypeScript绫诲瀷
```
- [ ] 鍦?`backend/src/index.ts` 涓<>敞鍐孉SL璺<4C>
```typescript
import { aslRoutes } from './modules/asl/routes/index.js'
await app.register(aslRoutes, { prefix: '/api/v1/asl' })
```
- [ ] 瀹炵幇鏍稿績API锛堝弬鑰?API璁捐<E79281>瑙勮寖鏂囨。锛? - `POST /api/v1/asl/projects` - 鍒涘缓椤圭洰
- `POST /api/v1/asl/projects/:id/literatures/import` - 瀵煎叆鏂囩尞
- `POST /api/v1/asl/projects/:id/screening/start` - 鍚<>姩绛涢€? - `GET /api/v1/asl/projects/:id/screening/results` - 鑾峰彇缁撴灉
- [ ] **閰嶇疆鐜<E79686><E9909C>鍙橀噺**
```bash
# .env.development锛堟湰鍦板紑鍙戯級
STORAGE_TYPE=local
# .env.production锛堢敓浜х幆澧冿紝SAE閰嶇疆锛? STORAGE_TYPE=oss
OSS_REGION=oss-cn-hangzhou
OSS_BUCKET=aiclinical-prod
```
**浜や粯鐗?*锛?- 鉁?ASL鍚庣<E98D9A><EFBFBD>綍缁撴瀯瀹屾暣
- 鉁?API璺<49>敱娉ㄥ唽鎴愬姛
- 鉁?鏍稿績API鍙<49>皟鐢<E79A9F>紙Postman娴嬭瘯閫氳繃锛?- 鉁?姝父浣跨敤骞冲彴鏈嶅姟锛坰torage/logger/cache/jobQueue/prisma绛?涓<>ā鍧楋級
---
#### **M1.3 - LLM绛涢€夋牳蹇?*锛圵eek 2, Day 1-2锛?
**浠诲姟**锛?- [ ] 瀹炵幇鍙屾ā鍨嬪苟琛岃皟鐢ㄩ€昏緫
- 澶嶇敤 `common/llm/adapters/LLMFactory.ts`
- 璋冪敤 DeepSeek-V3 + Qwen3-72B
- [ ] 瀹氫箟JSON Schema锛圥ICO鍒ゆ柇缁撴瀯锛?- [ ] 璁捐<E79281>鎻愮ず璇嶆ā鏉匡紙v1.0.0锛? - 瀛樻斁鍦?`backend/prompts/asl/screening/v1.0.0-basic.txt`
- [ ] 瀹炵幇鍐茬獊妫€娴嬬畻娉?- [ ] 瀹炵幇鑷<E5B987>姩鍒嗘祦瑙勫垯锛堢疆淇″害 < 0.7 鈫?浜哄伐澶嶆牳锛?
**浜や粯鐗?*锛?- 鉁?鍙屾ā鍨嬪彲鎴愬姛璋冪敤
- 鉁?JSON Schema楠岃瘉閫氳繃鐜?> 95%
- 鉁?鍐茬獊妫€娴嬪噯纭?
---
#### **M1.4 - 鍓嶇<E98D93>妯″潡寮€鍙?*锛圵eek 2-3锛?
**浠诲姟**锛?- [ ] 鏇存柊 `frontend-v2/src/modules/asl/index.tsx`
```typescript
// 绉婚櫎鍗犱綅鏍囪<E98F8D>锛屽疄鐜扮湡瀹炴ā鍧? const ASLModule: ModuleDefinition = {
id: 'literature-platform',
name: 'AI鏅鸿兘鏂囩尞',
path: '/literature',
icon: FileSearchOutlined,
component: lazy(() => import('./routes')),
placeholder: false, // 鈫?鏀逛负 false
requiredVersion: 'advanced',
}
```
- [ ] 鍒涘缓 `frontend-v2/src/modules/asl/` 瀛愮洰褰? ```
asl/
鈹溾攢鈹€ index.tsx # 妯″潡瀹氫箟
鈹溾攢鈹€ routes.tsx # 璺<>敱閰嶇疆
鈹溾攢鈹€ pages/
鈹? 鈹溾攢鈹€ ProjectList.tsx # 椤圭洰鍒楄〃
鈹? 鈹溾攢鈹€ ScreeningSettings.tsx # 璁剧疆涓庡惎鍔? 鈹? 鈹溾攢鈹€ ScreeningWorkbench.tsx # 瀹℃牳宸ヤ綔鍙? 鈹? 鈹斺攢鈹€ ScreeningResults.tsx # 鍒濈瓫缁撴灉
鈹溾攢鈹€ components/
鈹? 鈹溾攢鈹€ ExcelUploader.tsx # Excel涓婁紶
鈹? 鈹溾攢鈹€ ScreeningTable.tsx # 绛涢€夎〃鏍? 鈹? 鈹溾攢鈹€ DualModelModal.tsx # 鍙岃<E98D99>鍥炬ā鎬佹<E98EAC>
鈹? 鈹斺攢鈹€ ResultsExport.tsx # 缁撴灉瀵煎嚭
鈹溾攢鈹€ api/
鈹? 鈹溾攢鈹€ projectApi.ts # 椤圭洰API
鈹? 鈹溾攢鈹€ screeningApi.ts # 绛涢€堿PI
鈹? 鈹斺攢鈹€ index.ts
鈹溾攢鈹€ hooks/
鈹? 鈹溾攢鈹€ useScreening.ts # 绛涢€塇ook
鈹? 鈹斺攢鈹€ useLiterature.ts # 鏂囩尞Hook
鈹斺攢鈹€ types/
鈹斺攢鈹€ screening.ts # 绫诲瀷瀹氫箟
```
- [ ] 瀹炵幇Excel涓婁紶鍔熻兘锛堜娇鐢?`xlsx` 搴擄級
- [ ] 瀹炵幇瀹℃牳宸ヤ綔鍙帮紙琛ㄦ牸鍖栧竷灞€锛屽弬鑰冨師鍨嬪浘锛?- [ ] 瀹炵幇鍙岃<E98D99>鍥惧師鏂囧<E98F82>鏌ユā鎬佹<E98EAC>
- [ ] 瀹炵幇缁撴灉灞曠ず鍜屽<E98D9C>鍑?
**浜や粯鐗?*锛?- 鉁?ASL妯″潡鍦ㄩ《閮ㄥ<E996AE><EFBFBD>樉绀哄苟鍙<E88B9F>偣鍑?- 鉁?鍓嶇<E98D93>3涓<33>富瑕侀〉闈㈠畬鏁?- 鉁?鍓嶅悗绔<E68297>仈璋冩垚鍔?
---
#### **M1.5 - 闆嗘垚娴嬭瘯涓庨獙鏀?*锛圵eek 4锛?
**浠诲姟**锛?- [ ] 绔<>埌绔<E59F8C>畬鏁存祦绋嬫祴璇? - 涓婁紶 199绡囨枃鐚?Excel 鈫?绛涢€?鈫?澶嶆牳 鈫?瀵煎嚭
- [ ] 鍑嗙鐜囨祴璇曪紙浣跨敤閲戞爣鍑嗘暟鎹<E69A9F>泦锛? - 鐩<>爣锛氣墺 85%
- [ ] 鎬ц兘娴嬭瘯
- 100绡囨枃鐚<E69E83>瓫閫?鈮?10鍒嗛挓
- [ ] 淇<><E6B787>Bug鍜屼紭鍖?
**浜や粯鐗?*锛?- 鉁?鍑嗙‘鐜?鈮?85%
- 鉁?鍙屾ā鍨嬩竴鑷寸巼 鈮?80%
- 鉁?JSON Schema楠岃瘉閫氳繃鐜?鈮?95%
- 鉁?浜哄伐澶嶆牳闃熷垪 鈮?20%
---
## 馃搱 V1.0 闃舵<E99783>锛堢<E9949B> 5-10 鍛<>
### 闃舵<E99783><EFBFBD>
**浜や粯鏍囧噯**锛?- 鉁?鏂板<E98F82>鍏ㄦ枃澶嶇瓫鍔熻兘
- 鉁?PDF 鎻愬彇闆嗘垚锛圢ougat + PyMuPDF锛?- 鉁?Unpaywall API 闆嗘垚锛堣嚜鍔ㄤ笅杞藉叏鏂囷級
- 鉁?Few-shot 绀轰緥搴?- 鉁?瑙勫垯寮曟搸楠岃瘉
- 鉁?鍑嗙‘鐜?鈮?90%
### 閲岀▼纰戝垝鍒?
#### **M2.1 - PDF 鎻愬彇鏈嶅姟闆嗘垚**锛圵eek 5锛?
**浠诲姟**锛?- [ ] 灏佽<E7818F> `ExtractionClient`锛堝凡鏈?`common/document/ExtractionClient.ts`锛岄渶浼樺寲锛?- [ ] 瀹炵幇鑷<E5B987>姩璇<E5A7A9>█妫€娴嬪拰绛栫暐閫夋嫨
- [ ] Python 寰<>湇鍔紭鍖栵紙`extraction_service/`锛? - 浼樺寲 Nougat 璋冪敤鎬ц兘
- 娣诲姞瓒呮椂鍜岄敊璇<E6958A><E79287>鐞?- [ ] 瀹炵幇 PDF 璐ㄩ噺璇勪及閫昏緫
**浜や粯鐗?*锛?- 鉁?鍙<>垚鍔熸彁鍙栬嫳鏂囧尰瀛<E5B0B0>DF锛?0-30椤碉級
- 鉁?鎻愬彇鍑嗙‘鐜?> 90%
---
#### **M2.2 - Unpaywall API 闆嗘垚**锛圵eek 5锛?
**浠诲姟**锛?- [ ] 鍒涘缓 `backend/src/common/literature/UnpaywallClient.ts`
- [ ] 瀹炵幇鎵归噺鏌ヨ<E98F8C> DOI 鍙<>笅杞芥€?- [ ] 瀹炵幇 PDF 涓嬭浇鍔熻兘
- [ ] 鏂囦欢瀛樺偍绠$悊
**浜や粯鐗?*锛?- 鉁?鐢ㄦ埛鍙<E59F9B>竴閿<E7ABB4><E996BF>鏌?100 绡囨枃鐚<E69E83>殑鍙<E6AE91>笅杞芥€?- 鉁?鍙<>嚜鍔ㄤ笅杞?OA 鍏ㄦ枃
---
#### **M2.3 - 鍏ㄦ枃澶嶇瓫鍔熻兘**锛圵eek 6-7锛?
**浠诲姟**锛?- [ ] 鎵╁睍鏁版嵁搴撹〃锛坄asl_full_text_screening_results`锛?- [ ] 鍚庣<E98D9A>鍏ㄦ枃澶嶇瓫API
- [ ] 鍓嶇<E98D93>鍏ㄦ枃瀹℃牳宸ヤ綔鍙帮紙澶嶇敤缁勪欢 + PDF鏌ョ湅鍣<E6B985>
**浜や粯鐗?*锛?- 鉁?鐢ㄦ埛鍙<E59F9B><E98D99>鍒濈瓫绾冲叆鏂囩尞杩涜<E69DA9>鍏ㄦ枃澶嶇瓫
- 鉁?鏀<>寔 PDF 鍦ㄧ嚎鏌ョ湅鍜屾爣娉?
---
#### **M2.4 - 璐ㄩ噺澧炲己鍔熻兘**锛圵eek 8-10锛?
**浠诲姟**锛?- [ ] 浜哄伐鏍囨敞 20-30 涓?Few-shot 绀轰緥
- [ ] 瀹氫箟楠岃瘉瑙勫垯锛堟牱鏈<E789B1>噺銆丳鍊笺€佸繀濉<E7B980>瓧娈碉級
- [ ] 瀹炵幇鎴愭湰浼樺寲绛栫暐锛堝揩閫熷垵绛?+ 楂樹环鍊煎<E98D8A>鏍革級
- [ ] 瀹屽杽璇佹嵁閾捐<E996BE>褰?
**浜や粯鐗?*锛?- 鉁?Few-shot 绀轰緥搴?鈮?20 涓?- 鉁?瑙勫垯寮曟搸瑕嗙洊鐜?鈮?80%
- 鉁?璇佹嵁閾惧畬鏁存€?100%
- 鉁?鍑嗙‘鐜?鈮?90%
---
## 馃弳 V2.0 闃舵<E99783>锛堢<E9949B> 11-18 鍛<>
### 闃舵<E99783><EFBFBD>
**浜や粯鏍囧噯**锛?- 鉁?鏂板<E98F82>鍏ㄦ枃鏁版嵁鎻愬彇鍔熻兘
- 鉁?涓夋ā鍨嬪叡璇嗕徊瑁?- 鉁?HITL 鏅鸿兘鍒嗘祦
- 鉁?鎻愮ず璇嶇増鏈<E5A297><E98F88>鐞?- 鉁?鑷<>姩璐ㄩ噺瀹¤<E780B9>
- 鉁?鍑嗙‘鐜?鈮?95%锛堝尰瀛︾骇锛?
### 閲岀▼纰戝垝鍒?
#### **M3.1 - 鍏ㄦ枃鏁版嵁鎻愬彇妯″潡**锛圵eek 11-13锛?
**浠诲姟**锛?- [ ] 鎵╁睍鏁版嵁搴撹〃锛坄asl_extraction_results`, `asl_extraction_revisions`锛?- [ ] 鍚庣<E98D9A>鍒嗘<E98D92>鎻愬彇閫昏緫
- [ ] 鍓嶇<E98D93>琛ㄦ牸鍖栨暟鎹<E69A9F><E98EB9>鏌ュ彴锛堟枃鐚<E69E83>楀彉閲忕煩闃碉級
**浜や粯鐗?*锛?- 鉁?鐢ㄦ埛鍙<E59F9B>厤缃<E58EA4>彁鍙栧彉閲忔竻鍗?- 鉁?鎵归噺鎻愬彇 50 绡囨枃鐚<E69E83>殑缁撴瀯鍖栨暟鎹?- 鉁?鎻愬彇鍑嗙‘鐜?鈮?92%
---
#### **M3.2 - 鍖诲<E98D96>绾ц川閲忎繚闅?*锛圵eek 14-16锛?
**浠诲姟**锛?- [ ] 涓夋ā鍨嬩徊瑁侊紙鍐茬獊 鈫?鍚<>敤 Claude-4.5锛?- [ ] HITL 鏅鸿兘鍒嗘祦锛堜紭鍏堢骇璇勫垎锛?- [ ] 鎻愮ず璇嶇増鏈<E5A297><E98F88>鐞嗭紙Git + 璇<>箟鍖栫増鏈<E5A297>
- [ ] 鑷<>姩璐ㄩ噺瀹¤<E780B9>绯荤粺
**浜や粯鐗?*锛?- 鉁?涓夋ā鍨嬩徊瑁佹垚鍔熺巼 > 95%
- 鉁?HITL 鍒嗘祦鍑嗙‘鐜?> 85%
- 鉁?鎻愮ず璇嶇増鏈<E5A297><E98F88>鐞嗙郴缁熶笂绾?- 鉁?鑷<>姩璐ㄩ噺瀹¤<E780B9>姣忓懆杩愯<E69DA9>
---
#### **M3.3 - 楂樼骇鍔熻兘涓庝紭鍖?*锛圵eek 17-18锛?
**浠诲姟**锛?- [ ] Chain of Thought (CoT) 鎺ㄧ悊
- [ ] 鍔ㄦ€佺ず渚嬮€夋嫨锛堣<E9949B>涔夌浉浼煎害锛?- [ ] 鎵瑰<E98EB5>鐞嗘€ц兘浼樺寲锛圔ull + Redis锛?- [ ] 鐢ㄦ埛浣撻獙浼樺寲锛堝疄鏃惰繘搴︺€丳DF鏍囨敞銆佸揩鎹烽敭锛?
**浜や粯鐗?*锛?- 鉁?绯荤粺绋冲畾鎬ф祴璇曢€氳繃
- 鉁?鎬ц兘娴嬭瘯锛?000 绡囨枃鐚?< 30 鍒嗛挓
- 鉁?鐢ㄦ埛楠屾敹娴嬭瘯閫氳繃
- 鉁?鍑嗙‘鐜?鈮?95%
---
## 馃搵 浜や粯鐗╂<E99097>鏌ユ竻鍗?
### MVP 闃舵<E99783>
- [ ] **鏁版嵁搴?*
- [ ] asl_schema 4寮犺〃鍒涘缓
- [ ] Prisma 杩佺Щ鎴愬姛
- [ ] **鍚庣<E98D9A>**
- [ ] `modules/asl/` 鐩<>綍缁撴瀯瀹屾暣
- [ ] API 璺<>敱娉ㄥ唽鍒?`/api/v1/asl/*`
- [ ] LLM绛涢€夋湇鍔″彲鐢?
- [ ] **鍓嶇<E98D93>**
- [ ] ASL妯″潡娉ㄥ唽鍒?`moduleRegistry.ts`
- [ ] 椤堕儴瀵艰埅鏄剧ず"AI鏅鸿兘鏂囩尞"
- [ ] 3涓<33>富椤甸潰瀹屾暣
- [ ] **娴嬭瘯**
- [ ] 鍑嗙‘鐜囨祴璇?鈮?85%
- [ ]<>埌绔<E59F8C>祴璇曢€氳繃
### V1.0 闃舵<E99783>
- [ ] **鏂板<E98F82>鍔熻兘**
- [ ] PDF 鎻愬彇鏈嶅姟
- [ ] Unpaywall API 闆嗘垚
- [ ] 鍏ㄦ枃澶嶇瓫
- [ ] Few-shot 绀轰緥搴?
- [ ] **娴嬭瘯**
- [ ] 鍑嗙‘鐜?鈮?90%
### V2.0 闃舵<E99783>
- [ ] **鏂板<E98F82>鍔熻兘**
- [ ] 鍏ㄦ枃鏁版嵁鎻愬彇
- [ ] 涓夋ā鍨嬩徊瑁? - [ ] HITL 鏅鸿兘鍒嗘祦
- [ ]<>姩璐ㄩ噺瀹¤<E780B9>
- [ ] **娴嬭瘯**
- [ ] 鍑嗙‘鐜?鈮?95%
- [ ] 鍖诲<E98D96>涓撳<E6B693>楠岃瘉
---
## 馃搳 鍏抽敭鎸囨爣璺熻釜
### 璐ㄩ噺鎸囨爣
| 鎸囨爣 | MVP 鐩<>爣 | V1.0 鐩<>爣 | V2.0 鐩<>爣 |
|------|---------|----------|----------|
| 鎻愬彇鍑嗙‘鐜?| 鈮?85% | 鈮?90% | 鈮?95% |
| 鍙屾ā鍨嬩竴鑷寸巼 | 鈮?80% | 鈮?85% | 鈮?90% |
| JSON Schema 楠岃瘉閫氳繃鐜?| 鈮?95% | 鈮?98% | 鈮?99% |
| 浜哄伐澶嶆牳闃熷垪鍗犳瘮 | 鈮?20% | 鈮?15% | 鈮?10% |
### 鎴愭湰鎸囨爣
| 鍦烘櫙 | MVP | V1.0 | V2.0 |
|------|-----|------|------|
| 鏍囬<E98F8D>鎽樿<E98EBD>绛涢€夛紙1000绡囷級 | 楼5 | 楼21 | 楼24 |
| 鍏ㄦ枃澶嶇瓫锛?00绡囷級 | - | 楼30 | 楼35 |
| 鏁版嵁鎻愬彇锛?0绡囷級 | - | 楼60 | 楼80 |
---
## 馃摎 鐩稿叧鏂囨。
- [璐ㄩ噺淇濋殰涓庡彲杩芥函绛栫暐](../02-鎶€鏈<E282AC><E98F88>璁?06-璐ㄩ噺淇濋殰涓庡彲杩芥函绛栫暐.md)
- [鏂囩尞澶勭悊鎶€鏈<EFBFBD>€夊瀷](../02-鎶€鏈<E282AC><E98F88>璁?07-鏂囩尞澶勭悊鎶€鏈<E282AC>€夊瀷.md)
- [鏁版嵁搴撹<E690B4><EFBFBD>(../02-鎶€鏈<E282AC><E98F88>璁?01-鏁版嵁搴撹<E690B4>璁?md)
- [API 璁捐<E79281>瑙勮寖](../02-鎶€鏈<E282AC><E98F88>璁?02-API璁捐<E79281>瑙勮寖.md)
- [鍓嶅悗绔<EFBFBD>ā鍧楀寲鏋舵瀯璁捐<EFBFBD>-V2](../../../00-绯荤粺鎬讳綋璁捐<E79281>/鍓嶅悗绔<E68297>ā鍧楀寲鏋舵瀯璁捐<E79281>-V2.md)
- [Schema闅旂<EFBFBD>鏋舵瀯璁捐<EFBFBD>](../../../09-鏋舵瀯瀹炴柦/01-Schema闅旂<E99785>鏋舵瀯璁捐<E79281>锛?0涓<30>級.md)
---
**鏇存柊鏃ュ織**锛?- 2025-11-18: V3.1 鏇存柊锛岃ˉ鍏呭钩鍙板熀纭€璁炬柦瀹屾垚鐘舵€侊紙8涓<38>牳蹇冩ā鍧楋級
- 2025-11-16: V3.0 閲嶅啓锛屽熀浜庣湡瀹炴灦鏋勶紙Frontend-v2 + Backend澧為噺婕旇繘 + 10涓猄chema锛?- 2025-11-16: V2.0 閲嶅啓锛屽熀浜庝笁闃舵<E99783><EFBFBD>嚎鍥捐<E98DA5>缁嗚<E7BC81>鍒掗噷绋嬬<E7BB8B>
- 2025-10-29: V1.0 鍒涘缓锛屽垵濮嬬増鏈?