- 调整 CLAUDE.md 内容,增加使用指导和架构概览 - 补充微服务启动说明及单服务启动命令 - 明确 Gateway 服务器四阶段启动流程和职责划分 - 细化后端目录结构说明,补充主要文件职责描述 - 新增系统分层结构图,优化整体架构理解 - 更新 .gitignore,添加 runs 目录忽略规则 - 同步 .omc 相关状态文件,更新项目状态跟踪信息
508 lines
11 KiB
JSON
508 lines
11 KiB
JSON
{
|
|
"version": "1.0.0",
|
|
"lastScanned": 1774313111650,
|
|
"projectRoot": "/Users/cillin/workspeace/evotraders",
|
|
"techStack": {
|
|
"languages": [
|
|
{
|
|
"name": "Python",
|
|
"version": null,
|
|
"confidence": "high",
|
|
"markers": [
|
|
"pyproject.toml"
|
|
]
|
|
}
|
|
],
|
|
"frameworks": [
|
|
{
|
|
"name": "pytest",
|
|
"version": null,
|
|
"category": "testing"
|
|
}
|
|
],
|
|
"packageManager": null,
|
|
"runtime": null
|
|
},
|
|
"build": {
|
|
"buildCommand": null,
|
|
"testCommand": "pytest",
|
|
"lintCommand": "ruff check",
|
|
"devCommand": null,
|
|
"scripts": {}
|
|
},
|
|
"conventions": {
|
|
"namingStyle": null,
|
|
"importStyle": null,
|
|
"testPattern": null,
|
|
"fileOrganization": null
|
|
},
|
|
"structure": {
|
|
"isMonorepo": false,
|
|
"workspaces": [],
|
|
"mainDirectories": [
|
|
"docs",
|
|
"scripts"
|
|
],
|
|
"gitBranches": {
|
|
"defaultBranch": "main",
|
|
"branchingStrategy": null
|
|
}
|
|
},
|
|
"customNotes": [],
|
|
"directoryMap": {
|
|
"backend": {
|
|
"path": "backend",
|
|
"purpose": null,
|
|
"fileCount": 4,
|
|
"lastAccessed": 1774313111639,
|
|
"keyFiles": [
|
|
"__init__.py",
|
|
"cli.py",
|
|
"gateway_server.py",
|
|
"main.py"
|
|
]
|
|
},
|
|
"backtest": {
|
|
"path": "backtest",
|
|
"purpose": null,
|
|
"fileCount": 0,
|
|
"lastAccessed": 1774313111640,
|
|
"keyFiles": []
|
|
},
|
|
"data": {
|
|
"path": "data",
|
|
"purpose": "Data files",
|
|
"fileCount": 3,
|
|
"lastAccessed": 1774313111640,
|
|
"keyFiles": [
|
|
"market_research.db",
|
|
"market_research.db-shm",
|
|
"market_research.db-wal"
|
|
]
|
|
},
|
|
"deploy": {
|
|
"path": "deploy",
|
|
"purpose": null,
|
|
"fileCount": 0,
|
|
"lastAccessed": 1774313111640,
|
|
"keyFiles": []
|
|
},
|
|
"docs": {
|
|
"path": "docs",
|
|
"purpose": "Documentation",
|
|
"fileCount": 1,
|
|
"lastAccessed": 1774313111641,
|
|
"keyFiles": [
|
|
"compat-removal-plan.md"
|
|
]
|
|
},
|
|
"evotraders.egg-info": {
|
|
"path": "evotraders.egg-info",
|
|
"purpose": null,
|
|
"fileCount": 6,
|
|
"lastAccessed": 1774313111641,
|
|
"keyFiles": [
|
|
"PKG-INFO",
|
|
"SOURCES.txt",
|
|
"dependency_links.txt",
|
|
"entry_points.txt",
|
|
"requires.txt"
|
|
]
|
|
},
|
|
"frontend": {
|
|
"path": "frontend",
|
|
"purpose": null,
|
|
"fileCount": 13,
|
|
"lastAccessed": 1774313111641,
|
|
"keyFiles": [
|
|
"README.md",
|
|
"components.json",
|
|
"env.template",
|
|
"eslint.config.js",
|
|
"index.css"
|
|
]
|
|
},
|
|
"live": {
|
|
"path": "live",
|
|
"purpose": null,
|
|
"fileCount": 0,
|
|
"lastAccessed": 1774313111642,
|
|
"keyFiles": []
|
|
},
|
|
"logs": {
|
|
"path": "logs",
|
|
"purpose": null,
|
|
"fileCount": 6,
|
|
"lastAccessed": 1774313111642,
|
|
"keyFiles": [
|
|
"2026-03-16_00-48-03.log",
|
|
"2026-03-18_23-17-29.log",
|
|
"2026-03-18_23-17-30.log",
|
|
"2026-03-19_00-18-04.log",
|
|
"2026-03-19_00-34-21.log"
|
|
]
|
|
},
|
|
"reference": {
|
|
"path": "reference",
|
|
"purpose": null,
|
|
"fileCount": 0,
|
|
"lastAccessed": 1774313111643,
|
|
"keyFiles": []
|
|
},
|
|
"runs": {
|
|
"path": "runs",
|
|
"purpose": null,
|
|
"fileCount": 0,
|
|
"lastAccessed": 1774313111643,
|
|
"keyFiles": []
|
|
},
|
|
"scripts": {
|
|
"path": "scripts",
|
|
"purpose": "Build/utility scripts",
|
|
"fileCount": 1,
|
|
"lastAccessed": 1774313111644,
|
|
"keyFiles": [
|
|
"run_prod.sh"
|
|
]
|
|
},
|
|
"services": {
|
|
"path": "services",
|
|
"purpose": "Business logic services",
|
|
"fileCount": 1,
|
|
"lastAccessed": 1774313111644,
|
|
"keyFiles": [
|
|
"README.md"
|
|
]
|
|
},
|
|
"shared": {
|
|
"path": "shared",
|
|
"purpose": null,
|
|
"fileCount": 0,
|
|
"lastAccessed": 1774313111644,
|
|
"keyFiles": []
|
|
},
|
|
"workspaces": {
|
|
"path": "workspaces",
|
|
"purpose": null,
|
|
"fileCount": 0,
|
|
"lastAccessed": 1774313111645,
|
|
"keyFiles": []
|
|
},
|
|
"backend/api": {
|
|
"path": "backend/api",
|
|
"purpose": "API routes",
|
|
"fileCount": 5,
|
|
"lastAccessed": 1774313111645,
|
|
"keyFiles": [
|
|
"__init__.py",
|
|
"agents.py",
|
|
"guard.py"
|
|
]
|
|
},
|
|
"backend/config": {
|
|
"path": "backend/config",
|
|
"purpose": "Configuration files",
|
|
"fileCount": 6,
|
|
"lastAccessed": 1774313111646,
|
|
"keyFiles": [
|
|
"__init__.py",
|
|
"agent_profiles.yaml",
|
|
"bootstrap_config.py"
|
|
]
|
|
},
|
|
"backend/data": {
|
|
"path": "backend/data",
|
|
"purpose": "Data files",
|
|
"fileCount": 13,
|
|
"lastAccessed": 1774313111647,
|
|
"keyFiles": [
|
|
"__init__.py",
|
|
"cache.py",
|
|
"historical_price_manager.py"
|
|
]
|
|
},
|
|
"docs/assets": {
|
|
"path": "docs/assets",
|
|
"purpose": "Static assets",
|
|
"fileCount": 5,
|
|
"lastAccessed": 1774313111647,
|
|
"keyFiles": [
|
|
"dashboard.jpg",
|
|
"evotraders_demo.gif",
|
|
"evotraders_logo.jpg"
|
|
]
|
|
},
|
|
"frontend/dist": {
|
|
"path": "frontend/dist",
|
|
"purpose": "Distribution/build output",
|
|
"fileCount": 2,
|
|
"lastAccessed": 1774313111647,
|
|
"keyFiles": [
|
|
"index.html",
|
|
"trading_logo.png"
|
|
]
|
|
},
|
|
"frontend/node_modules": {
|
|
"path": "frontend/node_modules",
|
|
"purpose": "Dependencies",
|
|
"fileCount": 1,
|
|
"lastAccessed": 1774313111650,
|
|
"keyFiles": []
|
|
}
|
|
},
|
|
"hotPaths": [
|
|
{
|
|
"path": "CLAUDE.md",
|
|
"accessCount": 15,
|
|
"lastAccessed": 1774342728155,
|
|
"type": "directory"
|
|
},
|
|
{
|
|
"path": "frontend/src/App.jsx",
|
|
"accessCount": 10,
|
|
"lastAccessed": 1774339397617,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/hooks/useWebsocketSessionSync.js",
|
|
"accessCount": 4,
|
|
"lastAccessed": 1774313470024,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "",
|
|
"accessCount": 4,
|
|
"lastAccessed": 1774339108220,
|
|
"type": "directory"
|
|
},
|
|
{
|
|
"path": "backend/services/gateway.py",
|
|
"accessCount": 3,
|
|
"lastAccessed": 1774339389171,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/main.py",
|
|
"accessCount": 3,
|
|
"lastAccessed": 1774342613364,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/store/runtimeStore.js",
|
|
"accessCount": 2,
|
|
"lastAccessed": 1774317990919,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/services/websocket.js",
|
|
"accessCount": 2,
|
|
"lastAccessed": 1774318009819,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/core/pipeline_runner.py",
|
|
"accessCount": 2,
|
|
"lastAccessed": 1774339367538,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/runtime/manager.py",
|
|
"accessCount": 2,
|
|
"lastAccessed": 1774339367572,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/store/marketStore.js",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774313140483,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/hooks/useFeedProcessor.js",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774313148279,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/components/Header.jsx",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774313156696,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/components/TraderView.jsx",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774313156753,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/store/uiStore.js",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774313187460,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/store/portfolioStore.js",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774313187511,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/store/agentStore.js",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774313187573,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/hooks/useWebSocketConnection.js",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774313279414,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/hooks/useStockDataRequests.js",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774313319716,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/hooks/useAgentDataRequests.js",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774313347455,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/src/components/AppShell.jsx",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774313396331,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "start-dev.sh",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774317979859,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/apps/agent_service.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774317984348,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "shared/client/trading_client.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774317984365,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/apps/trading_service.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774317984408,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "pyproject.toml",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774317990970,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/agents/factory.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774318009867,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/config/constants.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774318009922,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/api/__init__.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774318009973,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "README.md",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774339107381,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/runtime/registry.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774339380024,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/runtime/session.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774339380084,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/runtime/context.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774339380120,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/runtime/agent_runtime.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774339380185,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/process/supervisor.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774339389110,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/core/pipeline.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774339389187,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/process/models.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774339397557,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/process/registry.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774339397577,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/config/env_config.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774342678236,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "backend/config/data_config.py",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774342678253,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "frontend/env.template",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774342678290,
|
|
"type": "file"
|
|
},
|
|
{
|
|
"path": "env.template",
|
|
"accessCount": 1,
|
|
"lastAccessed": 1774342678310,
|
|
"type": "file"
|
|
}
|
|
],
|
|
"userDirectives": []
|
|
} |