diff --git a/.gitignore b/.gitignore index fb14002..5cc503a 100644 --- a/.gitignore +++ b/.gitignore @@ -7,6 +7,7 @@ web/.vite/ .omc/ .omx/ .claude/ +*.egg-info/ .codex/* !.codex/skills/ .codex/skills/* diff --git a/server/src/x_financial_server.egg-info/PKG-INFO b/server/src/x_financial_server.egg-info/PKG-INFO deleted file mode 100644 index c3fb74a..0000000 --- a/server/src/x_financial_server.egg-info/PKG-INFO +++ /dev/null @@ -1,97 +0,0 @@ -Metadata-Version: 2.4 -Name: x-financial-server -Version: 0.1.0 -Summary: Backend service for X-Financial reimbursement and approval platform. -Requires-Python: >=3.11 -Description-Content-Type: text/markdown -Requires-Dist: fastapi<1.0.0,>=0.115.0 -Requires-Dist: uvicorn[standard]<1.0.0,>=0.30.0 -Requires-Dist: sqlalchemy<3.0.0,>=2.0.36 -Requires-Dist: alembic<2.0.0,>=1.14.0 -Requires-Dist: psycopg[binary]<4.0.0,>=3.2.0 -Requires-Dist: PyJWT<3.0.0,>=2.9.0 -Requires-Dist: pydantic-settings<3.0.0,>=2.6.0 -Requires-Dist: python-dotenv<2.0.0,>=1.0.1 -Requires-Dist: email-validator<3.0.0,>=2.2.0 -Requires-Dist: python-multipart<1.0.0,>=0.0.20 -Requires-Dist: openpyxl<4.0.0,>=3.1.5 -Requires-Dist: lightrag-hku<1.5.0,>=1.4.16 -Requires-Dist: qdrant-client<2.0.0,>=1.18.0 -Provides-Extra: dev -Requires-Dist: pytest<9.0.0,>=8.3.0; extra == "dev" -Requires-Dist: httpx<1.0.0,>=0.28.0; extra == "dev" -Requires-Dist: ruff<1.0.0,>=0.8.0; extra == "dev" -Provides-Extra: redis -Requires-Dist: redis<6.0.0,>=5.2.0; extra == "redis" - -# Server - -后端已按 `FastAPI + PostgreSQL + SQLAlchemy + Alembic` 起好基础工程。 - -## 为什么先选 PostgreSQL - -这个项目是报销、审批、员工、流程、审计记录为主,核心特点是: - -- 强事务 -- 多表关联明显 -- 审批流和审计日志需要一致性 -- 后续大概率要做复杂查询、统计和条件筛选 - -这类系统优先选关系型数据库更合适,`PostgreSQL` 是当前默认推荐。 - -## Redis 要不要现在上 - -现在 **不是必须**。 - -先不把 Redis 作为启动前置,原因很直接: - -- 当前第一阶段先把核心业务表、接口、权限、审批流跑通 -- 如果一开始就把 Redis 绑死,会增加部署和排障复杂度 - -Redis 更适合后面这些场景: - -- 登录态 / token 黑名单 -- 热点数据缓存 -- 限流 -- 分布式锁 -- 消息队列 / 后台任务 - -所以现在的策略是: - -- 主数据库:`PostgreSQL` -- Redis:`可选能力`,配置已预留,但不是必需依赖 - -## 目录 - -- `src/app/`:应用代码 -- `alembic/`:数据库迁移 -- `tests/`:测试 - -## 启动 - -1. 创建虚拟环境并安装依赖 - -```bash -cd server -python -m venv .venv -.venv\\Scripts\\activate -pip install -e .[dev] -``` - -2. 在项目根目录准备环境变量 - -```bash -copy ..\\.env.example ..\\.env -``` - -3. 启动服务 - -```bash -uvicorn app.main:app --reload --app-dir src -``` - -## 迁移 - -```bash -alembic upgrade head -``` diff --git a/server/src/x_financial_server.egg-info/SOURCES.txt b/server/src/x_financial_server.egg-info/SOURCES.txt deleted file mode 100644 index c7b0476..0000000 --- a/server/src/x_financial_server.egg-info/SOURCES.txt +++ /dev/null @@ -1,139 +0,0 @@ -README.md -pyproject.toml -src/app/__init__.py -src/app/main.py -src/app/api/__init__.py -src/app/api/deps.py -src/app/api/router.py -src/app/api/v1/__init__.py -src/app/api/v1/router.py -src/app/api/v1/endpoints/__init__.py -src/app/api/v1/endpoints/agent_assets.py -src/app/api/v1/endpoints/agent_runs.py -src/app/api/v1/endpoints/audit_logs.py -src/app/api/v1/endpoints/auth.py -src/app/api/v1/endpoints/bootstrap.py -src/app/api/v1/endpoints/employees.py -src/app/api/v1/endpoints/health.py -src/app/api/v1/endpoints/knowledge.py -src/app/api/v1/endpoints/ocr.py -src/app/api/v1/endpoints/ontology.py -src/app/api/v1/endpoints/orchestrator.py -src/app/api/v1/endpoints/reimbursements.py -src/app/api/v1/endpoints/settings.py -src/app/api/v1/endpoints/system_logs.py -src/app/core/__init__.py -src/app/core/admin_secret.py -src/app/core/agent_enums.py -src/app/core/bootstrap.py -src/app/core/config.py -src/app/core/logging.py -src/app/core/openapi.py -src/app/core/secret_box.py -src/app/core/security.py -src/app/db/__init__.py -src/app/db/base.py -src/app/db/base_class.py -src/app/db/session.py -src/app/middleware/__init__.py -src/app/middleware/logging.py -src/app/models/__init__.py -src/app/models/agent_asset.py -src/app/models/agent_conversation.py -src/app/models/agent_run.py -src/app/models/approval.py -src/app/models/audit_log.py -src/app/models/employee.py -src/app/models/employee_change_log.py -src/app/models/financial_record.py -src/app/models/organization.py -src/app/models/reimbursement.py -src/app/models/role.py -src/app/models/system_model_setting.py -src/app/models/system_setting.py -src/app/models/system_setting_secret.py -src/app/repositories/__init__.py -src/app/repositories/agent_asset.py -src/app/repositories/agent_run.py -src/app/repositories/audit_log.py -src/app/repositories/employee.py -src/app/repositories/reimbursement.py -src/app/repositories/settings.py -src/app/schemas/__init__.py -src/app/schemas/agent_asset.py -src/app/schemas/agent_run.py -src/app/schemas/audit_log.py -src/app/schemas/auth.py -src/app/schemas/bootstrap.py -src/app/schemas/common.py -src/app/schemas/employee.py -src/app/schemas/knowledge.py -src/app/schemas/ocr.py -src/app/schemas/ontology.py -src/app/schemas/orchestrator.py -src/app/schemas/reimbursement.py -src/app/schemas/settings.py -src/app/schemas/system_log.py -src/app/schemas/user_agent.py -src/app/services/__init__.py -src/app/services/agent_asset_spreadsheet.py -src/app/services/agent_assets.py -src/app/services/agent_conversations.py -src/app/services/agent_foundation.py -src/app/services/agent_runs.py -src/app/services/audit.py -src/app/services/auth.py -src/app/services/document_intelligence.py -src/app/services/employee.py -src/app/services/employee_seed.py -src/app/services/expense_claims.py -src/app/services/expense_rule_runtime.py -src/app/services/hermes_sync.py -src/app/services/knowledge.py -src/app/services/knowledge_index_tasks.py -src/app/services/knowledge_normalizer.py -src/app/services/knowledge_rag.py -src/app/services/knowledge_scheduler.py -src/app/services/knowledge_sync.py -src/app/services/model_connectivity.py -src/app/services/ocr.py -src/app/services/ontology.py -src/app/services/orchestrator.py -src/app/services/reimbursement.py -src/app/services/runtime_chat.py -src/app/services/settings.py -src/app/services/system_hermes.py -src/app/services/system_logs.py -src/app/services/user_agent.py -src/x_financial_server.egg-info/PKG-INFO -src/x_financial_server.egg-info/SOURCES.txt -src/x_financial_server.egg-info/dependency_links.txt -src/x_financial_server.egg-info/requires.txt -src/x_financial_server.egg-info/top_level.txt -tests/test_agent_asset_onlyoffice_key.py -tests/test_agent_asset_service.py -tests/test_agent_asset_spreadsheet_import.py -tests/test_agent_foundation_endpoints.py -tests/test_agent_runs_service.py -tests/test_auth_service.py -tests/test_config_settings_reload.py -tests/test_document_intelligence.py -tests/test_employee_service.py -tests/test_env_file_precedence.py -tests/test_expense_claim_service.py -tests/test_imports.py -tests/test_knowledge_normalizer.py -tests/test_knowledge_onlyoffice_config.py -tests/test_knowledge_rag_service.py -tests/test_knowledge_service.py -tests/test_ocr_endpoints.py -tests/test_ocr_service.py -tests/test_ontology_service.py -tests/test_openapi_schema.py -tests/test_reimbursement_endpoints.py -tests/test_runtime_chat_service.py -tests/test_server_start_dependencies.py -tests/test_settings_persistence.py -tests/test_settings_service.py -tests/test_system_logs_service.py -tests/test_user_agent_service.py \ No newline at end of file diff --git a/server/src/x_financial_server.egg-info/dependency_links.txt b/server/src/x_financial_server.egg-info/dependency_links.txt deleted file mode 100644 index 8b13789..0000000 --- a/server/src/x_financial_server.egg-info/dependency_links.txt +++ /dev/null @@ -1 +0,0 @@ - diff --git a/server/src/x_financial_server.egg-info/requires.txt b/server/src/x_financial_server.egg-info/requires.txt deleted file mode 100644 index 7dbbbd2..0000000 --- a/server/src/x_financial_server.egg-info/requires.txt +++ /dev/null @@ -1,21 +0,0 @@ -fastapi<1.0.0,>=0.115.0 -uvicorn[standard]<1.0.0,>=0.30.0 -sqlalchemy<3.0.0,>=2.0.36 -alembic<2.0.0,>=1.14.0 -psycopg[binary]<4.0.0,>=3.2.0 -PyJWT<3.0.0,>=2.9.0 -pydantic-settings<3.0.0,>=2.6.0 -python-dotenv<2.0.0,>=1.0.1 -email-validator<3.0.0,>=2.2.0 -python-multipart<1.0.0,>=0.0.20 -openpyxl<4.0.0,>=3.1.5 -lightrag-hku<1.5.0,>=1.4.16 -qdrant-client<2.0.0,>=1.18.0 - -[dev] -pytest<9.0.0,>=8.3.0 -httpx<1.0.0,>=0.28.0 -ruff<1.0.0,>=0.8.0 - -[redis] -redis<6.0.0,>=5.2.0 diff --git a/server/src/x_financial_server.egg-info/top_level.txt b/server/src/x_financial_server.egg-info/top_level.txt deleted file mode 100644 index b80f0bd..0000000 --- a/server/src/x_financial_server.egg-info/top_level.txt +++ /dev/null @@ -1 +0,0 @@ -app