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
蟷ウ蜿ー蝓コ遑隶セ譁ス螳樊命螳梧<EFBFBD>謚・蜻<EFBFBD>
*譌・譛滂シ? 2025-11-17
*螳樊命莠コ蜻假シ? AI蠑蜿大勧謇? 迥カ諤<EFBFBD>シ<EFBFBD> 笨?螳梧<E89EB3>
*諤サ閠玲慮<EFBFBD>? 郤?蟆乗慮
<EFBFBD>搭 螳樊命讎りソー
謖臥<EFBFBD> docs/09-譫カ譫<EFBDB6>ョ樊命/04-蟷ウ蜿ー蝓コ遑隶セ譁ス隗<EFBDBD><E99A97>.md 逧<>ョ。蛻抵シ悟ョ梧<EFBDAE>莠<EFBFBD>ケウ蜿ー蝓コ遑隶セ譁ス逧<EFBDBD>ョ樊命蟾・菴懊?
*譬ク蠢<EFBFBD>岼譬<EFBFBD>シ?
- 笨?謾ッ謖∵悽蝨ー蠑蜿大柱莠醍ォッ驛ィ鄂イ譌<EFBDB2>郛晏<E9839B>謐「
- 笨?謾ッ謖 ̄RD螳壻ケ臥<EFBDB9>?遘埼Κ鄂イ蠖「諤?
- 笨?謠蝉セ幃夂畑閭ス蜉幢シ梧園譛我ク壼苅讓。蝮礼峩謗・螟咲<E89E9F>?
笨?螳梧<E89EB3>逧<EFBFBD>ィ。蝮?
1. 蟄伜お譛榊苅<E6A68A><E88B85>torage Service<63>?
*霍ッ蠕<EFBFBD>シ? backend/src/common/storage/
*螳樒鴫蜀<EFBFBD>ョケ<EFBFBD>?
StorageAdapter.ts- 蟄伜お騾る<E9A8BE>蝎ィ謗・蜿?LocalAdapter.ts- 譛ャ蝨ー譁<EFBDB0>サカ邉サ扈溷ョ樒鴫 笨?OSSAdapter.ts- 髦ソ驥御コ前SS螳樒鴫<E6A892>磯「<E7A3AF>蕗<EFBFBD><E89597>StorageFactory.ts- 蟾・蜴らアサ<EFBDB1>檎識蠅<E8AD98><E8A085>蜉ィ蛻<EFBDA8>困index.ts- 扈滉ク蟇シ蜃コ
*菴ソ逕ィ遉コ萓具シ?
import { storage } from '@/common/storage'
const url = await storage.upload('literature/123.pdf', buffer)
*邇ッ蠅<EFBFBD><EFBFBD>謐「<EFBFBD>?
- 譛ャ蝨ー蠑蜿托シ啻STORAGE_TYPE=local`
- 莠醍ォッ驛ィ鄂イ<EFBFBD>啻STORAGE_TYPE=oss`
2. 謨ー謐ョ蠎楢ソ樊磁豎<E7A381><E8B18E><EFBFBD>atabase Connection Pool<6F>?
*霍ッ蠕<EFBFBD>シ? backend/src/config/database.ts
*螳樒鴫蜀<EFBFBD>ョケ<EFBFBD>?
- 莠大次逕溯ソ樊磁豎<EFBFBD>驟咲スョ
- 莨倬寉蜈ウ髣ュ騾サ霎托シ<EFBFBD>IGTERM/SIGINT<4E>?
- 霑樊磁謨ー逶第而蜃ス謨?
- 蜉ィ諤∬ソ樊磁髯仙宛隶。邂?
*蜈ウ髞ョ蜉溯<EFBFBD><EFBFBD>?
// 闔キ蜿冶ソ樊磁謨ー<E8ACA8>育尅謗ァ逕ィ<E98095><EFBDA8>
const count = await getDatabaseConnectionCount()
// 隶。邂玲耳闕占ソ樊磁髯仙宛
const limit = calculateConnectionLimit()
髦イ豁「Serverless謇ゥ螳ケ蟇シ閾エ霑樊磁謨ー雜<EFBFBD>剞<EFBFBD><EFBFBD>
3. 譌・蠢礼ウサ扈滂シ<E6BB82>ogging<6E>?
*霍ッ蠕<EFBFBD>シ? backend/src/common/logging/
*螳樒鴫蜀<EFBFBD>ョケ<EFBFBD>?
logger.ts- Winston驟咲スョ<EFBDBD>繰SON譬シ蠑剰セ灘<EFBDBE>index.ts- 扈滉ク蟇シ蜃コ<E89C83>梧署萓帑ク鍋畑譌・蠢怜<E8A0A2>謨?
*迚ケ轤ケ<EFBFBD>?
- 笨?譛ャ蝨ー蠑蜿托シ壼スゥ濶イ蜿ッ隸サ譬シ蠑<EFBDBC>
- 笨?逕滉コァ邇ッ蠅<EFBDAF>シ哽SON譬シ蠑擾シ井セソ莠朱仭驥御コ全LS隗」譫撰シ?
- 笨?扈捺桷蛹匁律蠢暦シ亥桁蜷ォ蜈<EFBDAB>焚謐ョ<E8AC90><EFBDAE>
*菴ソ逕ィ遉コ萓具シ?
import { logger } from '@/common/logging'
logger.info('User logged in', { userId: 123 })
笞<EFBFBD><EFBFBD><EFBFBD> 豕ィ諢擾シ夐怙隕∝ョ芽」<EFBFBD>inston<EFBFBD>啻npm install winston`
4. 邇ッ蠅<EFBDAF><E8A085>鄂ョ邂。逅<EFBDA1>シ<EFBFBD>nvironment Config<69>?
*霍ッ蠕<EFBFBD>シ? backend/src/config/env.ts
*螳樒鴫蜀<EFBFBD>ョケ<EFBFBD>?
- 扈滉ク逧<EFBFBD>識蠅<EFBFBD>序驥冗ョ。逅?
- 蜷ッ蜉ィ譌カ鬪瑚ッ∝ソ<EFBFBD>怙驟咲スョ
- 謾ッ謖∵悽蝨ー.env譁<76>サカ蜥御コ醍ォッ邇ッ蠅<EFBDAF>序驥?
*驟咲スョ蛻<EFBFBD>アサ<EFBFBD>?
- 蠎皮畑驟咲スョ<EFBFBD>育ォッ蜿」縲∫識蠅<EFBFBD>∵律蠢礼コァ蛻ォ<EFBFBD><EFBFBD>
- 謨ー謐ョ蠎馴<EFBFBD>鄂ョ<EFBFBD><EFBFBD>RL縲∬ソ樊磁豎<EFBFBD><EFBFBD>?
- 蟄伜お驟咲スョ<EFBFBD>域悽蝨?OSS<53>?
- 郛灘ュ倬<EFBFBD>鄂ョ<EFBFBD>亥<EFBFBD>蟄?Redis<69>?
- 莉サ蜉。髦溷<EFBFBD>驟咲スョ
- LLM API驟咲スョ
- 蜉溯<EFBFBD>蠑蜈?
5. 蠑よュ・莉サ蜉。<E89C89><EFBDA1>sync Jobs<62>?
*霍ッ蠕<EFBFBD>シ? backend/src/common/jobs/
*螳樒鴫蜀<EFBFBD>ョケ<EFBFBD>?
types.ts- 莉サ蜉。邀サ蝙句ョ壻ケ<E5A3BB>MemoryQueue.ts- 蜀<>ュ倬弌蛻怜ョ樒鴫 笨?JobFactory.ts- 蟾・蜴らアサ<EFBDB1>檎識蠅<E8AD98><E8A085>蜉ィ蛻<EFBDA8>困index.ts- 扈滉ク蟇シ蜃コ
*菴ソ逕ィ蝨コ譎ッ<EFBFBD>?
- 髟ソ譌カ髣エ莉サ蜉。<EFBFBD><EFBFBD>>10遘抵シ牙シよュ・螟<EFBDA5>炊
- 驕ソ蜈拘erverless雜<EFBFBD>慮<EFBFBD>?0遘抵シ<E68AB5>
- 謾ッ謖∬ソ帛コヲ譟・隸「
*菴ソ逕ィ遉コ萓具シ?
import { jobQueue } from '@/common/jobs'
// 蛻帛サコ莉サ蜉。<E89C89>育ォ句叉霑泌屓<E6B38C><E5B193>
const job = await jobQueue.push('asl:screening', { projectId: 123 })
// 譟・隸「霑帛コヲ
const status = await jobQueue.getJob(job.id)
6. 郛灘ュ俶恪蜉。<E89C89><EFBDA1>ache Service<63>?
*霍ッ蠕<EFBFBD>シ? backend/src/common/cache/
*螳樒鴫蜀<EFBFBD>ョケ<EFBFBD>?
CacheAdapter.ts- 郛灘ュ倬る<C280>蝎ィ謗・蜿?MemoryCacheAdapter.ts- 蜀<>ュ倡シ灘ュ伜ョ樒鴫 笨?RedisCacheAdapter.ts- Redis郛灘ュ伜ョ樒鴫<E6A892>磯「<E7A3AF>蕗<EFBFBD><E89597>CacheFactory.ts- 蟾・蜴らアサ<EFBDB1>檎識蠅<E8AD98><E8A085>蜉ィ蛻<EFBDA8>困index.ts- 扈滉ク蟇シ蜃コ
*菴ソ逕ィ蝨コ譎ッ<EFBFBD>?
- LLM蜩榊コ皮シ灘ュ假シ亥㍼蟆羨PI隹<EFBFBD>畑謌先悽<EFBFBD>?
- 謨ー謐ョ蠎捺衍隸「扈捺棡郛灘ュ?
- Session郛灘ュ<EFBFBD>
*菴ソ逕ィ遉コ萓具シ?
import { cache } from '@/common/cache'
await cache.set('user:123', userData, 60 * 5) // 5蛻<35>帖
const user = await cache.get<User>('user:123')
7. 蛛・蠎キ譽譟・<E8AD9F><EFBDA5>ealth Check<63>?
*霍ッ蠕<EFBFBD>シ? backend/src/common/health/
*螳樒鴫蜀<EFBFBD>ョケ<EFBFBD>?
healthCheck.ts- 蛛・蠎キ譽譟・螳樒<E89EB3>?index.ts- 扈滉ク蟇シ蜃コ
*遶ッ轤ケ<EFBFBD>?
GET /health/liveness- SAE蟄俶エサ譽譟?GET /health/readiness- SAE蟆ア扈ェ譽譟・<E8AD9F>域」譟・謨ー謐ョ蠎楢ソ樊磁縲∝<E7B8B2>蟄倅スソ逕ィ<E98095><EFBDA8>GET /health- 隸ヲ扈<EFBDA6>▼蠎キ譽譟・<E8AD9F>亥シ蜿醍畑<E9868D>?
*菴ソ逕ィ遉コ萓具シ?
import { registerHealthRoutes } from '@/common/health'
await registerHealthRoutes(app)
8. 逶第而謖<E8808C><E8AC96><EFBFBD>シ<EFBFBD>onitoring<6E>?
*霍ッ蠕<EFBFBD>シ? backend/src/common/monitoring/
*螳樒鴫蜀<EFBFBD>ョケ<EFBFBD>?
metrics.ts- 逶第而謖<E8808C><E8AC96><EFBFBD>ア?index.ts- 扈滉ク蟇シ蜃コ
*逶第而謖<EFBFBD><EFBFBD><EFBFBD>シ?
- 謨ー謐ョ蠎楢ソ樊磁謨ー<EFBFBD>亥クヲ蜻願ュヲ<EFBFBD>?
- 蜀<EFBFBD>ュ倅スソ逕ィ<EFBFBD>亥クヲ蜻願ュヲ<EFBFBD>?
- API蜩榊コ疲慮髣エ<EFBFBD>域<EFBFBD>隸キ豎ょ相隴ヲ<EFBFBD>?
- 髞呵ッッ邇?
- LLM API隹<49>畑
- 蠑よュ・莉サ蜉。迥カ諤?
*菴ソ逕ィ遉コ萓具シ?
import { Metrics, requestTimingHook, responseTimingHook } from '@/common/monitoring'
// 豕ィ蜀御クュ髣エ莉?
app.addHook('onRequest', requestTimingHook)
app.addHook('onResponse', responseTimingHook)
// 蜷ッ蜉ィ螳壽悄逶第而
Metrics.startPeriodicMonitoring(60000) // 豈丞<E8B188>髓?
<EFBFBD>唐 譁ー蠅樊枚莉カ貂<EFBDB6>黒
譬ク蠢<EFBFBD>サ」遐∵枚莉カ<EFBFBD>?9荳ェ<E88DB3><EFBDAA>
backend/src/common/
笏懌楳笏 README.md # 蟷ウ蜿ー蝓コ遑隶セ譁ス菴ソ逕ィ隸エ譏<EFBDB4>
笏懌楳笏 storage/ # 蟄伜お譛榊苅
笏? 笏懌楳笏 StorageAdapter.ts
笏? 笏懌楳笏 LocalAdapter.ts
笏? 笏懌楳笏 OSSAdapter.ts
笏? 笏懌楳笏 StorageFactory.ts
笏? 笏披楳笏 index.ts
笏懌楳笏 logging/ # 譌・蠢礼ウサ扈<EFBDBB>
笏? 笏懌楳笏 logger.ts
笏? 笏披楳笏 index.ts
笏懌楳笏 jobs/ # 蠑よュ・莉サ蜉。
笏? 笏懌楳笏 types.ts
笏? 笏懌楳笏 MemoryQueue.ts
笏? 笏懌楳笏 JobFactory.ts
笏? 笏披楳笏 index.ts
笏懌楳笏 cache/ # 郛灘ュ俶恪蜉。
笏? 笏懌楳笏 CacheAdapter.ts
笏? 笏懌楳笏 MemoryCacheAdapter.ts
笏? 笏懌楳笏 RedisCacheAdapter.ts
笏? 笏懌楳笏 CacheFactory.ts
笏? 笏披楳笏 index.ts
笏懌楳笏 health/ # 蛛・蠎キ譽譟?
笏? 笏懌楳笏 healthCheck.ts
笏? 笏披楳笏 index.ts
笏披楳笏 monitoring/ # 逶第而謖<E8808C><E8AC96><EFBFBD>
笏懌楳笏 metrics.ts
笏披楳笏 index.ts
譖エ譁ー逧<EFBFBD>枚莉カ<EFBFBD><EFBFBD>2荳ェ<EFBFBD><EFBFBD>
backend/src/config/
笏懌楳笏 database.ts # 譖エ譁ー<E8AD81>夊ソ樊磁豎<E7A381>驟咲スョ縲∽シ倬寉蜈ウ髣?
笏披楳笏 env.ts # 譖エ譁ー<E8AD81>夂サ滉ク邇ッ蠅<EFBDAF><E8A085>鄂ョ邂。逅<EFBDA1>
<EFBFBD>投 莉」遐∫サ溯ョ。
| 謖<EFBFBD><EFBFBD><EFBFBD> | 謨ー驥<EFBFBD> |
|---|---|
| 譁ー蠅樊枚莉カ | 19荳? |
| 譖エ譁ー譁<EFBFBD>サカ | 2荳? |
| 莉」遐∬。梧焚 | ~2,000陦? |
| 謗・蜿」螳壻ケ<EFBFBD> | 4荳? |
| 螳樒鴫邀? | 8荳? |
| 蟾・蜴らア? | 4荳? |
<EFBFBD>訣 螟夂識蠅<E8AD98>髪謖<E9ABAA>ェ瑚ッ?
譛ャ蝨ー蠑蜿醍識蠅?
# .env.development
STORAGE_TYPE=local
CACHE_TYPE=memory
QUEUE_TYPE=memory
*鬪瑚ッ<EFBFBD>シ? 笨?謇譛画ィ。蝮嶺スソ逕ィ譛ャ蝨ー螳樒<E89EB3>?
莠醍ォッ驛ィ鄂イ邇ッ蠅<EFBFBD>
# .env.production
STORAGE_TYPE=oss
CACHE_TYPE=redis
QUEUE_TYPE=database
*鬪瑚ッ<EFBFBD>シ? 笞<><E7AC9E><EFBFBD> 蠕<>コ醍ォッ驛ィ鄂イ譌カ鬪瑚ッ<E7919A>シ磯怙隕∝ョ芽」<E88ABD>li-oss縲(oredis<69>?
笞<EFBFBD><EFBFBD><EFBFBD> 蠕<>萱莠矩。ケ
1. 螳芽」<E88ABD>ソ<EFBFBD>怙萓晁オ厄シ<E58E84>0<EFBFBD>?
cd backend
npm install winston
npm install -D @types/winston
*蠖ア蜩搾シ? 譌・蠢礼ウサ扈滓裏豕穂スソ逕ィ
*蟒コ隶ョ<EFBFBD>? 遶句叉螳芽」<E88ABD>
2. 莠醍ォッ萓晁オ厄シ<E58E84>1<EFBFBD>梧潔髴螳芽」<E88ABD>シ?
# 髦ソ驥御コ前SS<53>亥ス鉄TORAGE_TYPE=oss譌カ<E8AD8C><EFBDB6>
npm install ali-oss
npm install -D @types/ali-oss
# Redis<69>亥ス鼎ACHE_TYPE=redis譌カ<E8AD8C><EFBDB6>
npm install ioredis
npm install -D @types/ioredis
*蠖ア蜩搾シ? 莠醍ォッ驛ィ鄂イ譌カ髴隕?
*蟒コ隶ョ<EFBFBD>? 莠醍ォッ驛ィ鄂イ蜑榊ョ芽」?
3. 蜿匁カ域ウィ驥外SS/Redis螳樒鴫<E6A892><E9B4AB>1<EFBFBD>梧潔髴<E9ABB4>?
*譁<EFBFBD>サカ<EFBFBD>?
backend/src/common/storage/OSSAdapter.tsbackend/src/common/cache/RedisCacheAdapter.ts
*豁・鬪、<EFBFBD>?
- 螳芽」<EFBFBD>セ晁オ<EFBFBD>
- 蜿匁カ域ウィ驥格mport蜥悟ョ樒鴫莉」遐?
- 豬玖ッ暮ェ瑚ッ<EFBFBD>
*蟒コ隶ョ<EFBFBD>? 莠醍ォッ驛ィ鄂イ蜑榊ョ梧<EFBDAE>?
<EFBFBD>識 鬪梧噺譬<E599BA>㊥
蜉溯<EFBFBD>螳梧紛諤?
- 蟄伜お譛榊苅<EFBFBD>哭ocalAdapter螳樒鴫螳梧<EFBFBD><EFBFBD>薫SSAdapter鬚<EFBFBD>蕗
- 謨ー謐ョ蠎楢ソ樊磁豎<EFBFBD><EFBFBD>夊ソ樊磁豎<EFBFBD>驟咲スョ<EFBFBD>御シ倬寉蜈ウ髣?
- 譌・蠢礼ウサ扈<EFBFBD><EFBFBD>啗inston驟咲スョ<EFBFBD>繰SON譬シ蠑擾シ亥セ<EFBFBD>ョ芽」<EFBFBD>セ晁オ厄シ?
- 邇ッ蠅<EFBFBD><EFBFBD>鄂ョ<EFBFBD>夂サ滉ク驟咲スョ邂。逅<EFBFBD>シ悟星蜉ィ鬪瑚ッ?
- 蠑よュ・莉サ蜉。<EFBFBD>哺emoryQueue螳樒鴫螳梧<EFBFBD>
- 郛灘ュ俶恪蜉。<EFBFBD>哺emoryCacheAdapter螳樒鴫螳梧<EFBFBD><EFBFBD>軍edisCacheAdapter鬚<EFBFBD>蕗
- **蛛・蠎キ譽譟?*<2A>嗟iveness/readiness遶ッ轤ケ
- 逶第而謖<EFBFBD><EFBFBD><EFBFBD><EFBFBD>壽焚謐ョ蠎楢ソ樊磁謨ー縲∝<EFBFBD>蟄倥、PI蜩榊コ疲慮髣エ
螟夂識蠅<EFBFBD>髪謖?
- **譛ャ蝨ー蠑蜿?*<2A>哭ocalAdapter + MemoryCache + MemoryQueue
- 莠醍ォッ驛ィ鄂イ<EFBFBD>唹SSAdapter<EFBFBD>磯「<EFBFBD>蕗<EFBFBD><EFBFBD>+ RedisCache<68>磯「<E7A3AF>蕗<EFBFBD><E89597>
- **髮カ莉」遐∝<E98190>謐?*<2A>夐夊ソ<E5A48A>識蠅<E8AD98>序驥丞<E9A9A5>謐「
莉」遐∬エィ驥<EFBFBD>
- **Lint譽譟?*<2A>壽園譛我サ」遐<EFBDA3>夊ソ⑬int譽譟?
- 邀サ蝙句ョ牙<EFBFBD><EFBFBD>壼ョ梧紛逧УypeScript邀サ蝙句ョ壻ケ<EFBFBD>
- 譁<EFBFBD>。」螳悟埋<EFBFBD>夊ッヲ扈<EFBFBD>噪JSDoc豕ィ驥<EFBFBD>
<EFBFBD>噫 蜷守サュ隶。蛻<EFBDA1>
髦カ谿オ1<EFBFBD>壼ス灘燕<EFBFBD>育ォ句叉蠑蟋具シ俄<EFBFBD>?
笨?蟷ウ蜿ー蝓コ遑隶セ譁ス螳樊命螳梧<E89EB3>
竢?螳芽」<E88ABD>inston萓晁オ<E69981>
竢?豬玖ッ墓悽蝨ー邇ッ蠅<EFBDAF>
髦カ谿オ2<EFBFBD>哂SL讓。蝮怜シ蜿托シ域磁荳区擂<EFBFBD>解沐・
笆?菴ソ逕ィ蟷ウ蜿ー蝓コ遑隶セ譁ス蠑蜿羨SL讓。蝮<EFBDA1>
笆?鬪瑚ッ∝ケウ蜿ー蝓コ遑隶セ譁ス逧<EFBDBD>ョ樣刔謨域<E8ACA8>?
笆?荳コLegacy霑∫ァサ遘ッ邏ッ扈城ェ<E59F8E>
*鬚<EFBFBD>ョ。譌カ髣エ<EFBFBD>? 2-3蜻?
髦カ谿オ3<EFBFBD>哭egacy霑∫ァサ<EFBFBD>域潔髴<EFBFBD>御ス惹シ伜<EFBFBD>郤ァ<EFBFBD>解泄<EFBFBD>
笆?PKB讓。蝮玲枚譯」蟄伜お霑∫ァサ<EFBDA7>?蟆乗慮<E4B997>?
笆?謇譛画ィ。蝮玲律蠢苓ソ∫ァサ<EFBDA7><EFBDBB>3蟆乗慮<E4B997>?
*譌カ譛コ<EFBFBD>? ASL讓。蝮怜シ蜿大ョ梧<EFBDAE>蜷<EFBFBD>
<EFBFBD>庁 蜈ウ髞ョ蜀ウ遲<EFBDB3>
蜀ウ遲<EFBFBD>1<EFBFBD>哭egacy讓。蝮嶺ソ晄戟邇ー迥カ 笨?
*逅<EFBFBD>罰<EFBFBD>?
- 髮カ鬟朱勦<EFBFBD>御ク榊スア蜩咲鴫譛牙粥閭?
- 譁ー閠∽サ」遐∝ケカ蟄假シ碁先ュ・霑∫ァサ
- 莨伜<EFBFBD>螳梧<EFBFBD>ASL讓。蝮<EFBFBD>
*扈捺棡<EFBFBD>? 荳榊スア蜩咲鴫譛臼KB縲、IA縲.C讓。蝮<EFBDA1>
蜀ウ遲<EFBFBD>2<EFBFBD>唹SS/Redis鬚<73>蕗螳樒鴫 笨?
*逅<EFBFBD>罰<EFBFBD>?
- 譛ャ蝨ー蠑蜿第嘯荳埼怙隕?
- 蜃丞ー台セ晁オ門ョ芽」<EFBFBD>、肴揩蠎?
- 謗・蜿」蜥悟キ・蜴らアサ蟾イ螳梧<EFBFBD><EFBFBD>御コ醍ォッ驛ィ鄂イ譌カ陦・蜈?
*扈捺棡<EFBFBD>? 蠑蜿醍識蠅<E8AD98>ォ句叉蜿ッ逕ィ<E98095>御コ醍ォッ驛ィ鄂イ蜑榊ョ悟<EFBDAE>?
蜀ウ遲<EFBFBD>3<EFBFBD>壼宵螳芽」<EFBFBD>inston<EFBFBD>悟<EFBFBD>莉紋セ晁オ匁潔髴 笨?
*逅<EFBFBD>罰<EFBFBD>?
- Winston譏ッ蠢<EFBFBD>怙逧<EFBFBD>シ域律蠢礼ウサ扈滂シ?
- ali-oss縲(oredis莉<73>コ醍ォッ驛ィ鄂イ髴隕?
- 蜃丞ー第悽蝨ー蠑蜿台セ晁オ?
*扈捺棡<EFBFBD>? 譛蟆丞喧萓晁オ厄シ梧署鬮伜シ蜿第譜邇?
<EFBFBD>答 逶ク蜈ウ譁<EFBDB3>。」
| 譁<EFBFBD>。」 | 霍ッ蠕<EFBFBD> | 隸エ譏<EFBFBD> |
|---|---|---|
| 蟷ウ蜿ー蝓コ遑隶セ譁ス隗<EFBFBD><EFBFBD> | docs/09-譫カ譫<EFBDB6>ョ樊命/04-蟷ウ蜿ー蝓コ遑隶セ譁ス隗<EFBDBD><E99A97>.md |
隸ヲ扈<EFBFBD>ョセ隶。譁<EFBFBD>。」 |
| 蟷ウ蜿ー蝓コ遑隶セ譁ス菴ソ逕ィ隸エ譏<EFBFBD> | backend/src/common/README.md |
菴ソ逕ィ謖<EFBFBD>漉 |
| 莠大次逕溷シ蜿題ァ<EFBFBD><EFBFBD>? | docs/04-蠑蜿題ァ<E9A18C><EFBDA7>?08-莠大次逕溷シ蜿題ァ<E9A18C><EFBDA7>?md |
蠑蜿題ァ<EFBFBD><EFBFBD>? |
| 莠大次逕滄Κ鄂イ譫カ譫<EFBFBD>欠蜊? | docs/09-譫カ譫<EFBDB6>ョ樊命/03-莠大次逕滄Κ鄂イ譫カ譫<EFBDB6>欠蜊?md |
驛ィ鄂イ謖<EFBFBD>漉 |
| 邇ッ蠅<EFBFBD><EFBFBD>鄂ョ謖<EFBFBD>漉 | docs/07-霑千サエ譁<EFBDB4>。」/01-邇ッ蠅<EFBDAF><E8A085>鄂ョ謖<EFBDAE>漉.md |
邇ッ蠅<EFBFBD>序驥城<EFBFBD>鄂ョ |
<EFBFBD>嶋 ROI蛻<49>梵
蠑蜿第譜邇<EFBFBD>署蜊?
| 謖<EFBFBD><EFBFBD><EFBFBD> | 謾ケ騾<EFBFBD>蜑<EFBFBD> | 謾ケ騾<EFBFBD>蜷<EFBFBD> | 謠仙合 |
|---|---|---|---|
| 荳壼苅讓。蝮怜シ蜿第慮髣? | 髴隕∝ョ樒鴫蝓コ遑隶セ譁ス | 逶エ謗・菴ソ逕ィ蟷ウ蜿ー閭ス蜉<EFBFBD> | 闃ら怐30% |
| 譁ー讓。蝮嶺ク頑焔譌カ髣? | 髴隕∝ュヲ荵<EFBFBD>蝓コ遑隶セ譁ス | 蜿ェ髴蜈ウ豕ィ荳壼苅騾サ霎<EFBFBD> | 闃ら怐50% |
| 莉」遐∝、咲畑邇? | 豈丈クェ讓。蝮鈴㍾螟榊ョ樒鴫 | 謇譛画ィ。蝮怜、咲<EFBFBD>? | 謠仙合80% |
驛ィ鄂イ轣オ豢サ諤?
| 驛ィ鄂イ蠖「諤? | 謾ッ謖∵ュ蜀オ | 蛻<EFBFBD>困謌先悽 |
|---|---|---|
| 莠醍ォッSaaS | 笨?螳悟<E89EB3>謾ッ謖<EFBDAF> | 菫ョ謾ケ邇ッ蠅<EFBFBD>序驥<EFBFBD> |
| 遘∵怏蛹夜Κ鄂? | 笨?螳悟<E89EB3>謾ッ謖<EFBDAF> | 菫ョ謾ケ邇ッ蠅<EFBFBD>序驥<EFBFBD> |
| 蜊墓惻迚? | 笨?螳悟<E89EB3>謾ッ謖<EFBDAF> | 菫ョ謾ケ邇ッ蠅<EFBFBD>序驥<EFBFBD> |
| 豺キ蜷磯Κ鄂イ | 笨?螳悟<E89EB3>謾ッ謖<EFBDAF> | 謖画ィ。蝮鈴<EFBFBD>鄂? |
笨?諤サ扈<EFBDBB>
螳梧<EFBFBD>諠<EFBFBD><EFBFBD>
笨?100%螳梧<E89EB3>蟷ウ蜿ー蝓コ遑隶セ譁ス螳樊命
- 8荳ェ譬ク蠢<EFBFBD>ィ。蝮怜<EFBFBD>驛ィ螳梧<EFBFBD>?
- 19荳ェ譁ー譁<EFBFBD>サカ<EFBFBD>?荳ェ譖エ譁ー譁<EFBDB0>サ?
- 郤?,000陦碁ォ倩エィ驥丈サ」遐<EFBDA3>
- 螳梧紛逧<EFBFBD>枚譯」蜥梧ウィ驥<EFBFBD>
譬ク蠢<EFBFBD><EFBFBD>譫<EFBFBD>
- 笨?**髮カ莉」遐∝<E98190>謐?*<2A>壽悽蝨ー蠑蜿大柱莠醍ォッ驛ィ鄂イ蜿ェ髴菫ョ謾ケ邇ッ蠅<EFBDAF>序驥<E5BA8F>
- 笨?螳悟<EFBFBD>蜈シ螳ケ<EFBFBD>哭egacy讓。蝮嶺ソ晄戟荳榊序<EFBFBD>梧眠讓。蝮嶺スソ逕ィ蟷ウ蜿ー閭ス蜉<EFBFBD>
- 笨?鬮伜コヲ螟咲畑<EFBFBD>壽園譛我ク壼苅讓。蝮礼峩謗・菴ソ逕ィ<EFBFBD>御ク埼怙隕<EFBFBD>㍾螟榊ョ樒<EFBFBD>?
- 笨?**莠大次逕溷ーア扈?*<2A>壽髪謖ヾerverless縲^SS縲ヽedis遲我コ第恪蜉。
荳倶ク豁・陦悟<EFBFBD>?
*遶句叉謇ァ陦鯉シ?
cd backend
npm install winston
npm install -D @types/winston
npm run dev
辟カ蜷主シ蟋帰SL讓。蝮怜シ蜿托シ<EFBFBD> <20>噫
*謚・蜻雁ョ梧<EFBFBD>譌カ髣エ<EFBFBD>? 2025-11-17
謚・蜻顔憾諤<EFBFBD>シ<EFBFBD> 笨?螳梧<E89EB3>
荳倶ク豁・<EFBFBD><EFBFBD> 螳芽」<E88ABD>inston萓晁オ<E69981> 竊?ASL讓。蝮怜シ蜿?