+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..bcb4222
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/backend/.idea/.gitignore b/backend/.idea/.gitignore
new file mode 100644
index 0000000..35410ca
--- /dev/null
+++ b/backend/.idea/.gitignore
@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/backend/.idea/fastAPI.iml b/backend/.idea/fastAPI.iml
new file mode 100644
index 0000000..d4367e4
--- /dev/null
+++ b/backend/.idea/fastAPI.iml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backend/.idea/inspectionProfiles/Project_Default.xml b/backend/.idea/inspectionProfiles/Project_Default.xml
new file mode 100644
index 0000000..cfdba9d
--- /dev/null
+++ b/backend/.idea/inspectionProfiles/Project_Default.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backend/.idea/inspectionProfiles/profiles_settings.xml b/backend/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/backend/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backend/.idea/misc.xml b/backend/.idea/misc.xml
new file mode 100644
index 0000000..82bf008
--- /dev/null
+++ b/backend/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backend/.idea/modules.xml b/backend/.idea/modules.xml
new file mode 100644
index 0000000..0f458f1
--- /dev/null
+++ b/backend/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backend/.idea/vcs.xml b/backend/.idea/vcs.xml
new file mode 100644
index 0000000..6c0b863
--- /dev/null
+++ b/backend/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/backend/README.md b/backend/README.md
new file mode 100644
index 0000000..6742f4d
--- /dev/null
+++ b/backend/README.md
@@ -0,0 +1,6 @@
+- api/v1/endpoints/:所有接口路由
+- schemas/:Pydantic 数据模型
+- services/:业务逻辑/服务层
+- constants/:常量、配置
+- core/:全局配置、工具等
+- main.py:应用入口
\ No newline at end of file
diff --git a/backend/app/__init__.py b/backend/app/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/backend/app/__pycache__/__init__.cpython-310.pyc b/backend/app/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..9992e69a592af24414fc293763d306442af160ec
GIT binary patch
literal 161
zcmd1j<>g`kf|PA>86f&Gh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o71o$aS`g2`x@7
zDvmKUwlKGdaY-%CF3B&5dAe@ii*;+C?49#u$E=vN%)G>$n6$*=62}0~n8bpDnE3e2
eyv&mLc)fzkTO2mI`6;D2sdgaKig`kf@$00GC=fW5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!?Nkn3y}6Iz^F
zR2*YyY+-H@g#C5{1}F^L5QK%5y9
hAD@|*SrQ+wS5SG2!zMRBr8Fni4rD_y6OdqG001K*D)RsU
literal 0
HcmV?d00001
diff --git a/backend/app/api/v1/__init__.py b/backend/app/api/v1/__init__.py
new file mode 100644
index 0000000..e69de29
diff --git a/backend/app/api/v1/__pycache__/__init__.cpython-310.pyc b/backend/app/api/v1/__pycache__/__init__.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..98a5ba48673b4c51e17f40dc3e74e79916aa12ed
GIT binary patch
literal 168
zcmd1j<>g`kf=%1vGC=fW5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!>;kn3y}6Iz^F
zR2*YyY+-H@g#C5{1}F^L5QK%5y<
kW*8G6pP83g5+AQuPg`kf(P5;GC=fW5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;yrHkn3y}6Iz^F
zR2*YyY+-H@g#C5{1}F^L5QK%5y<
uW*C#2mr{_QnO9OA6Ca2KczG$)edA`F%ytrVE_Q(elUFi
literal 0
HcmV?d00001
diff --git a/backend/app/api/v1/endpoints/__pycache__/chat.cpython-310.pyc b/backend/app/api/v1/endpoints/__pycache__/chat.cpython-310.pyc
new file mode 100644
index 0000000000000000000000000000000000000000..13bd989428e35d6fd5da99a70f53f22798349106
GIT binary patch
literal 1105
zcmY*YOKVgy6i#xV^RkXDDlS|Kvv9O1Sfmt17rH6ZD#+#P5GU!(t+|gTnPSTwQKs82
z+=_@UUFcd6SN@A^RnQ;cM(}ZRXVjWYK61`IIgjt0S-ftV8rnRMNQs(
z(PI8f%mUunAS`6HJ$HhmL#)1zI*qRo3w5xmUA}RBEgxwvL1?dQ$!VHogEg*-JX5^m
znD8D|yf>1<1Vc_4m&!DBQuI=;6diE5Hm|B{y&_k-C;8ThD-G(#l_Aw@Q*pO>rk|&U
z;5q@f#${B~KDIf`mL3{8k^mG}jI
ziL!d7!Js(`8Uh+z;wNOwIwhu_=8TIT8>I!5lk_!E6%47OT1#mgE*k(~NV;bYPG2E8
z2lBU7fGZc{TMBrL7tbwSScn$4gwnQ8&RaNQ
z?|FrUG$l+tl7R)=;>u;ml{Gj=O)A8nF;Y?cpwzRBnxLRNBB!jPZVHFtqH%3emSc4i
zfIMmv9~0vLJmiL${QcY?#Ph$)6JWC1nKOYU6G)VH0!(`*b>(c*Rh4OU9H{R0VMa9t
zj=Qra!?gZOzbbTU2wmJx`doE|NdHWJRczF-epG+RQ>vuxi1B6h%#3TFNtM-svg~Zg
ds(G7}Ts%`P*OfEJ>}Ha{R@
zZ((Xdto(~@ji4W3@12ccF5Jtx^EmgMnJ}NvA&BeO)9wmJ=tDR2k%DF$QaVr=V%SFk
zb}`nN_#`k~Bf*BB3QX6;h~p7*EpDBsS&Ey?91~`-^c@;uH^VZAsF?i*CRD_6wtBGF
z3