Files
evotraders/.omc/project-memory.json
cillin 16bb3c4211 docs(README): 更新项目说明文档,完善架构与启动指南
- 调整 CLAUDE.md 内容,增加使用指导和架构概览
- 补充微服务启动说明及单服务启动命令
- 明确 Gateway 服务器四阶段启动流程和职责划分
- 细化后端目录结构说明,补充主要文件职责描述
- 新增系统分层结构图,优化整体架构理解
- 更新 .gitignore,添加 runs 目录忽略规则
- 同步 .omc 相关状态文件,更新项目状态跟踪信息
2026-03-24 17:19:31 +08:00

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": []
}