├── python ├── .python-version ├── valuecell │ ├── adapters │ │ ├── __init__.py │ │ ├── db │ │ │ └── __init__.py │ │ └── models │ │ │ └── __init__.py │ ├── agents │ │ ├── __init__.py │ │ ├── common │ │ │ ├── __init__.py │ │ │ └── trading │ │ │ │ ├── __init__.py │ │ │ │ ├── data │ │ │ │ ├── news.py │ │ │ │ ├── __init__.py │ │ │ │ └── interfaces.py │ │ │ │ ├── features │ │ │ │ ├── news.py │ │ │ │ ├── multimodal.py │ │ │ │ ├── __init__.py │ │ │ │ └── interfaces.py │ │ │ │ ├── portfolio │ │ │ │ ├── __init__.py │ │ │ │ └── interfaces.py │ │ │ │ ├── decision │ │ │ │ ├── grid_composer │ │ │ │ │ └── __init__.py │ │ │ │ ├── prompt_based │ │ │ │ │ └── __init__.py │ │ │ │ └── __init__.py │ │ │ │ ├── _internal │ │ │ │ └── __init__.py │ │ │ │ ├── history │ │ │ │ ├── __init__.py │ │ │ │ ├── recorder.py │ │ │ │ └── interfaces.py │ │ │ │ ├── execution │ │ │ │ ├── __init__.py │ │ │ │ └── interfaces.py │ │ │ │ └── constants.py │ │ ├── utils │ │ │ ├── __init__.py │ │ │ └── context.py │ │ ├── grid_agent │ │ │ ├── __init__.py │ │ │ └── grid_agent.py │ │ ├── research_agent │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ └── schemas.py │ │ ├── prompt_strategy_agent │ │ │ ├── __init__.py │ │ │ └── __main__.py │ │ ├── news_agent │ │ │ ├── __init__.py │ │ │ ├── __main__.py │ │ │ └── prompts.py │ │ └── sources │ │ │ └── __init__.py │ ├── config │ │ └── __init__.py │ ├── contrib │ │ └── __init__.py │ ├── server │ │ ├── __init__.py │ │ ├── api │ │ │ ├── __init__.py │ │ │ ├── routers │ │ │ │ ├── __init__.py │ │ │ │ ├── strategy_api.py │ │ │ │ └── task.py │ │ │ └── schemas │ │ │ │ ├── task.py │ │ │ │ ├── agent_stream.py │ │ │ │ └── trading.py │ │ ├── config │ │ │ └── __init__.py │ │ ├── db │ │ │ ├── models │ │ │ │ ├── base.py │ │ │ │ ├── __init__.py │ │ │ │ └── strategy_prompt.py │ │ │ ├── __init__.py │ │ │ └── repositories │ │ │ │ └── __init__.py │ │ └── services │ │ │ ├── __init__.py │ │ │ └── assets │ │ │ └── __init__.py │ ├── tests │ │ └── __init__.py │ ├── core │ │ ├── agent │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── event │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── plan │ │ │ ├── tests │ │ │ │ ├── __init__.py │ │ │ │ └── test_planner_thread_id.py │ │ │ └── __init__.py │ │ ├── coordinate │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ └── __init__.py │ │ ├── super_agent │ │ │ ├── tests │ │ │ │ └── __init__.py │ │ │ ├── __init__.py │ │ │ └── service.py │ │ ├── task │ │ │ ├── __init__.py │ │ │ ├── tests │ │ │ │ ├── test_locator.py │ │ │ │ └── test_temporal.py │ │ │ ├── locator.py │ │ │ └── temporal.py │ │ ├── conversation │ │ │ └── __init__.py │ │ ├── __init__.py │ │ └── constants.py │ └── utils │ │ ├── ts.py │ │ ├── __init__.py │ │ └── uuid.py └── configs │ ├── locales │ └── language_list.json │ ├── agent_cards │ ├── grid_agent.json │ └── prompt_strategy_agent.json │ ├── providers │ ├── deepseek.yaml │ ├── openrouter.yaml │ └── google.yaml │ ├── agents │ └── research_agent.yaml │ └── config.yaml ├── .vscode ├── settings.json └── launch.json ├── frontend ├── .env.example ├── README.md ├── src-tauri │ ├── build.rs │ ├── icons │ │ ├── 32x32.png │ │ ├── 64x64.png │ │ ├── icon.icns │ │ ├── icon.ico │ │ ├── icon.png │ │ ├── 128x128.png │ │ ├── 128x128@2x.png │ │ ├── StoreLogo.png │ │ ├── Square30x30Logo.png │ │ ├── Square44x44Logo.png │ │ ├── Square71x71Logo.png │ │ ├── Square89x89Logo.png │ │ ├── Square107x107Logo.png │ │ ├── Square142x142Logo.png │ │ ├── Square150x150Logo.png │ │ ├── Square284x284Logo.png │ │ ├── Square310x310Logo.png │ │ ├── ios │ │ │ ├── AppIcon-512@2x.png │ │ │ ├── AppIcon-20x20@1x.png │ │ │ ├── AppIcon-20x20@2x.png │ │ │ ├── AppIcon-20x20@3x.png │ │ │ ├── AppIcon-29x29@1x.png │ │ │ ├── AppIcon-29x29@2x.png │ │ │ ├── AppIcon-29x29@3x.png │ │ │ ├── AppIcon-40x40@1x.png │ │ │ ├── AppIcon-40x40@2x.png │ │ │ ├── AppIcon-40x40@3x.png │ │ │ ├── AppIcon-60x60@2x.png │ │ │ ├── AppIcon-60x60@3x.png │ │ │ ├── AppIcon-76x76@1x.png │ │ │ ├── AppIcon-76x76@2x.png │ │ │ ├── AppIcon-20x20@2x-1.png │ │ │ ├── AppIcon-29x29@2x-1.png │ │ │ ├── AppIcon-40x40@2x-1.png │ │ │ └── AppIcon-83.5x83.5@2x.png │ │ └── android │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_round.png │ │ │ └── ic_launcher_foreground.png │ │ │ ├── values │ │ │ └── ic_launcher_background.xml │ │ │ └── mipmap-anydpi-v26 │ │ │ └── ic_launcher.xml │ ├── hooks.nsh │ ├── .gitignore │ ├── src │ │ └── main.rs │ ├── capabilities │ │ ├── desktop.json │ │ └── default.json │ ├── Cargo.toml │ └── tauri.conf.json ├── app-icon.png ├── src │ ├── app │ │ ├── setting │ │ │ ├── components │ │ │ │ └── memory │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── memory-item-card.tsx │ │ │ └── models.tsx │ │ ├── redirect-to-home.tsx │ │ ├── home │ │ │ ├── components │ │ │ │ ├── index.tsx │ │ │ │ └── stock-list.tsx │ │ │ └── _layout.tsx │ │ ├── agent │ │ │ ├── components │ │ │ │ ├── strategy-items │ │ │ │ │ ├── index.tsx │ │ │ │ │ └── modals │ │ │ │ │ │ └── view-strategy-modal.tsx │ │ │ │ └── chat-conversation │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── chat-streaming-indicator.tsx │ │ │ │ │ ├── chat-multi-section-component.tsx │ │ │ │ │ └── chat-thread-area.tsx │ │ │ └── chat.tsx │ │ ├── test.tsx │ │ └── market │ │ │ ├── agents.tsx │ │ │ └── components │ │ │ └── agent-card.tsx │ ├── assets │ │ ├── png │ │ │ ├── trend.png │ │ │ ├── icon-group.png │ │ │ ├── trend-dark.png │ │ │ ├── exchanges │ │ │ │ ├── gate.png │ │ │ │ ├── mexc.png │ │ │ │ ├── okx.png │ │ │ │ ├── binance.png │ │ │ │ ├── coinbase.png │ │ │ │ ├── blockchain.png │ │ │ │ └── hyperliquid.png │ │ │ ├── message-group.png │ │ │ ├── agents │ │ │ │ ├── BenGraham.png │ │ │ │ ├── BillAckman.png │ │ │ │ ├── CathieWood.png │ │ │ │ ├── PeterLynch.png │ │ │ │ ├── PhilFisher.png │ │ │ │ ├── SecAgent.png │ │ │ │ ├── MichaelBurry.png │ │ │ │ ├── NewPushAgent.png │ │ │ │ ├── RiskManager.png │ │ │ │ ├── AswathDamodaran.png │ │ │ │ ├── CharlieMunger.png │ │ │ │ ├── Emotionalagency.png │ │ │ │ ├── MohnishPabrai.png │ │ │ │ ├── ResearchAgent.png │ │ │ │ ├── StrategyAgent.png │ │ │ │ ├── TechnicalAgency.png │ │ │ │ ├── ValuationAgency.png │ │ │ │ ├── ValueCellAgent.png │ │ │ │ ├── WarrenBuffett.png │ │ │ │ ├── FundamentalProxy.png │ │ │ │ ├── PortfolioManager.png │ │ │ │ ├── RakeshJhunjhunwala.png │ │ │ │ └── StanleyDruckenmiller.png │ │ │ ├── icon-group-dark.png │ │ │ ├── message-group-dark.png │ │ │ ├── logo │ │ │ │ └── valuecell-logo.webp │ │ │ └── model-providers │ │ │ │ ├── azure.png │ │ │ │ ├── google.png │ │ │ │ ├── openai.png │ │ │ │ ├── deepseek.png │ │ │ │ ├── dashscope.png │ │ │ │ ├── openrouter.png │ │ │ │ ├── siliconflow.png │ │ │ │ └── openai-compatible.png │ │ └── svg │ │ │ ├── strategy-status.svg │ │ │ ├── agent-suggest │ │ │ ├── auto-trade.svg │ │ │ ├── news-push.svg │ │ │ └── research-report.svg │ │ │ ├── index.ts │ │ │ ├── send.svg │ │ │ ├── delete-strategy.svg │ │ │ ├── logo.svg │ │ │ └── sidebar │ │ │ └── ranking.svg │ ├── vite-env.d.ts │ ├── components │ │ ├── valuecell │ │ │ ├── skeleton │ │ │ │ └── index.ts │ │ │ ├── form │ │ │ │ └── field │ │ │ │ │ ├── index.tsx │ │ │ │ │ ├── radio-field.tsx │ │ │ │ │ ├── select-field.tsx │ │ │ │ │ ├── text-field.tsx │ │ │ │ │ ├── number-field.tsx │ │ │ │ │ └── password-field.tsx │ │ │ ├── button │ │ │ │ ├── close-button.tsx │ │ │ │ ├── back-button.tsx │ │ │ │ └── link-button.tsx │ │ │ ├── icon │ │ │ │ ├── index.tsx │ │ │ │ ├── svg-icon.tsx │ │ │ │ ├── agent-avatar.tsx │ │ │ │ └── png-icon.tsx │ │ │ ├── renderer │ │ │ │ ├── index.tsx │ │ │ │ ├── markdown-renderer.tsx │ │ │ │ ├── unknown-renderer.tsx │ │ │ │ ├── scheduled-task-renderer.tsx │ │ │ │ └── report-renderer.tsx │ │ │ └── app │ │ │ │ └── auto-update-check.tsx │ │ ├── ui │ │ │ ├── skeleton.tsx │ │ │ ├── spinner.tsx │ │ │ ├── sonner.tsx │ │ │ ├── label.tsx │ │ │ ├── separator.tsx │ │ │ ├── textarea.tsx │ │ │ ├── progress.tsx │ │ │ ├── collapsible.tsx │ │ │ ├── input.tsx │ │ │ ├── switch.tsx │ │ │ ├── avatar.tsx │ │ │ ├── checkbox.tsx │ │ │ ├── radio-group.tsx │ │ │ ├── hover-card.tsx │ │ │ ├── popover.tsx │ │ │ ├── badge.tsx │ │ │ └── alert.tsx │ │ └── tradingview │ │ │ └── tv-symbol-map.json │ ├── types │ │ ├── chart.ts │ │ ├── conversation.ts │ │ ├── setting.ts │ │ ├── stock.ts │ │ ├── system.ts │ │ └── renderer.ts │ ├── hooks │ │ ├── use-form.tsx │ │ ├── use-mobile.ts │ │ ├── use-chart-resize.ts │ │ ├── use-debounce.ts │ │ └── use-tauri-info.ts │ ├── constants │ │ ├── icons.ts │ │ └── stock.ts │ ├── routes.ts │ ├── i18n │ │ └── index.ts │ ├── provider │ │ ├── tracker-provider.tsx │ │ └── multi-section-provider.tsx │ └── store │ │ ├── plugin │ │ └── tauri-store-state.ts │ │ └── system-store.ts ├── .vscode │ └── settings.json ├── react-router.config.ts ├── tsconfig.node.json ├── .gitignore ├── components.json ├── tsconfig.json ├── scripts │ └── pre-build.sh └── public │ └── logo.svg ├── assets ├── valuecell.png ├── architecture.png └── product │ ├── homepage.png │ ├── superagent.png │ ├── NewPushAgent.png │ ├── agent_market.png │ ├── AutoTradingAgent.png │ └── Model_Configuration.png ├── .github ├── ISSUE_TEMPLATE │ ├── custom.md │ ├── feature_request.md │ └── bug_report.md ├── PULL_REQUEST_TEMPLATE.md └── workflows │ └── frontend.yml ├── project.code-workspace ├── Makefile ├── SECURITY.md └── docker └── DockerFile /python/.python-version: -------------------------------------------------------------------------------- 1 | 3.12 2 | -------------------------------------------------------------------------------- /python/valuecell/adapters/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/config/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/contrib/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/server/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/adapters/db/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/server/api/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/grid_agent/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/core/agent/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/core/event/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/core/plan/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/data/news.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/research_agent/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/core/coordinate/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/core/super_agent/tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/data/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/features/news.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/prompt_strategy_agent/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/features/multimodal.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/portfolio/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "makefile.configureOnOpen": false 3 | } -------------------------------------------------------------------------------- /frontend/.env.example: -------------------------------------------------------------------------------- 1 | VITE_API_BASE_URL="http://localhost:8000/api/v1" -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/decision/grid_composer/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/decision/prompt_based/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- 1 | ## run project 2 | 3 | ```bash 4 | bun dev 5 | ``` 6 | -------------------------------------------------------------------------------- /frontend/src-tauri/build.rs: -------------------------------------------------------------------------------- 1 | fn main() { 2 | tauri_build::build() 3 | } 4 | -------------------------------------------------------------------------------- /assets/valuecell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/assets/valuecell.png -------------------------------------------------------------------------------- /frontend/app-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/app-icon.png -------------------------------------------------------------------------------- /assets/architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/assets/architecture.png -------------------------------------------------------------------------------- /assets/product/homepage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/assets/product/homepage.png -------------------------------------------------------------------------------- /frontend/src/app/setting/components/memory/index.tsx: -------------------------------------------------------------------------------- 1 | export { MemoryItemCard } from "./memory-item-card"; 2 | -------------------------------------------------------------------------------- /assets/product/superagent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/assets/product/superagent.png -------------------------------------------------------------------------------- /python/valuecell/server/config/__init__.py: -------------------------------------------------------------------------------- 1 | """Configuration module for ValueCell server.""" 2 | 3 | __all__ = [] 4 | -------------------------------------------------------------------------------- /assets/product/NewPushAgent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/assets/product/NewPushAgent.png -------------------------------------------------------------------------------- /assets/product/agent_market.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/assets/product/agent_market.png -------------------------------------------------------------------------------- /assets/product/AutoTradingAgent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/assets/product/AutoTradingAgent.png -------------------------------------------------------------------------------- /frontend/.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.codeActionsOnSave": { 3 | "source.fixAll.biome": "explicit" 4 | }, 5 | } -------------------------------------------------------------------------------- /frontend/src-tauri/icons/32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/32x32.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/64x64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/64x64.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/icon.icns: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/icon.icns -------------------------------------------------------------------------------- /frontend/src-tauri/icons/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/icon.ico -------------------------------------------------------------------------------- /frontend/src-tauri/icons/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/icon.png -------------------------------------------------------------------------------- /frontend/src/assets/png/trend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/trend.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/128x128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/128x128.png -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/_internal/__init__.py: -------------------------------------------------------------------------------- 1 | """Internal orchestration utilities for strategy agent runtime.""" 2 | -------------------------------------------------------------------------------- /assets/product/Model_Configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/assets/product/Model_Configuration.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/128x128@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/128x128@2x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/StoreLogo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/StoreLogo.png -------------------------------------------------------------------------------- /frontend/src/assets/png/icon-group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/icon-group.png -------------------------------------------------------------------------------- /frontend/src/assets/png/trend-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/trend-dark.png -------------------------------------------------------------------------------- /frontend/src/assets/png/exchanges/gate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/exchanges/gate.png -------------------------------------------------------------------------------- /frontend/src/assets/png/exchanges/mexc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/exchanges/mexc.png -------------------------------------------------------------------------------- /frontend/src/assets/png/exchanges/okx.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/exchanges/okx.png -------------------------------------------------------------------------------- /frontend/src/assets/png/message-group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/message-group.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/Square30x30Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/Square30x30Logo.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/Square44x44Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/Square44x44Logo.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/Square71x71Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/Square71x71Logo.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/Square89x89Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/Square89x89Logo.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/BenGraham.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/BenGraham.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/BillAckman.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/BillAckman.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/CathieWood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/CathieWood.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/PeterLynch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/PeterLynch.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/PhilFisher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/PhilFisher.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/SecAgent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/SecAgent.png -------------------------------------------------------------------------------- /frontend/src/assets/png/exchanges/binance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/exchanges/binance.png -------------------------------------------------------------------------------- /frontend/src/assets/png/icon-group-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/icon-group-dark.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/Square107x107Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/Square107x107Logo.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/Square142x142Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/Square142x142Logo.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/Square150x150Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/Square150x150Logo.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/Square284x284Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/Square284x284Logo.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/Square310x310Logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/Square310x310Logo.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-512@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-512@2x.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/MichaelBurry.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/MichaelBurry.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/NewPushAgent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/NewPushAgent.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/RiskManager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/RiskManager.png -------------------------------------------------------------------------------- /frontend/src/assets/png/exchanges/coinbase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/exchanges/coinbase.png -------------------------------------------------------------------------------- /frontend/src/assets/png/message-group-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/message-group-dark.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-20x20@1x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-20x20@2x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-20x20@3x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-29x29@1x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-29x29@2x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-29x29@3x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-40x40@1x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-40x40@2x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-40x40@3x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-60x60@2x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-60x60@3x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-76x76@1x.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-76x76@2x.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/AswathDamodaran.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/AswathDamodaran.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/CharlieMunger.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/CharlieMunger.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/Emotionalagency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/Emotionalagency.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/MohnishPabrai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/MohnishPabrai.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/ResearchAgent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/ResearchAgent.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/StrategyAgent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/StrategyAgent.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/TechnicalAgency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/TechnicalAgency.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/ValuationAgency.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/ValuationAgency.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/ValueCellAgent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/ValueCellAgent.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/WarrenBuffett.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/WarrenBuffett.png -------------------------------------------------------------------------------- /frontend/src/assets/png/exchanges/blockchain.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/exchanges/blockchain.png -------------------------------------------------------------------------------- /frontend/src/assets/png/exchanges/hyperliquid.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/exchanges/hyperliquid.png -------------------------------------------------------------------------------- /frontend/src/assets/png/logo/valuecell-logo.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/logo/valuecell-logo.webp -------------------------------------------------------------------------------- /frontend/src/assets/png/model-providers/azure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/model-providers/azure.png -------------------------------------------------------------------------------- /frontend/src/assets/png/model-providers/google.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/model-providers/google.png -------------------------------------------------------------------------------- /frontend/src/assets/png/model-providers/openai.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/model-providers/openai.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-20x20@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-20x20@2x-1.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-29x29@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-29x29@2x-1.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-40x40@2x-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-40x40@2x-1.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/FundamentalProxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/FundamentalProxy.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/PortfolioManager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/PortfolioManager.png -------------------------------------------------------------------------------- /frontend/src/assets/png/model-providers/deepseek.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/model-providers/deepseek.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/RakeshJhunjhunwala.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/RakeshJhunjhunwala.png -------------------------------------------------------------------------------- /frontend/src/assets/png/agents/StanleyDruckenmiller.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/agents/StanleyDruckenmiller.png -------------------------------------------------------------------------------- /frontend/src/assets/png/model-providers/dashscope.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/model-providers/dashscope.png -------------------------------------------------------------------------------- /frontend/src/assets/png/model-providers/openrouter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/model-providers/openrouter.png -------------------------------------------------------------------------------- /frontend/src/assets/png/model-providers/siliconflow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/model-providers/siliconflow.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /python/valuecell/agents/news_agent/__init__.py: -------------------------------------------------------------------------------- 1 | """News Agent for fetching and analyzing news content.""" 2 | 3 | from .core import NewsAgent 4 | 5 | __all__ = ["NewsAgent"] 6 | -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /frontend/src/assets/png/model-providers/openai-compatible.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src/assets/png/model-providers/openai-compatible.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /frontend/src/app/redirect-to-home.tsx: -------------------------------------------------------------------------------- 1 | import { Navigate } from "react-router"; 2 | 3 | export default function RedirectToHome() { 4 | return ; 5 | } 6 | -------------------------------------------------------------------------------- /python/valuecell/core/event/__init__.py: -------------------------------------------------------------------------------- 1 | """Response module exports.""" 2 | 3 | from .service import EventResponseService 4 | 5 | __all__ = [ 6 | "EventResponseService", 7 | ] 8 | -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/values/ic_launcher_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #fff 4 | -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /frontend/src-tauri/hooks.nsh: -------------------------------------------------------------------------------- 1 | !macro NSIS_HOOK_PREUNINSTALL 2 | ; Force remove the backend directory (contains .venv and other runtime files) 3 | RMDir /r "$INSTDIR\backend" 4 | !macroend 5 | 6 | -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ValueCell-ai/valuecell/HEAD/frontend/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/custom.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Custom issue template 3 | about: Describe this issue template's purpose here. 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /project.code-workspace: -------------------------------------------------------------------------------- 1 | { 2 | "folders": [ 3 | { 4 | "path": ".", 5 | }, 6 | { 7 | "path": "frontend", 8 | }, 9 | { 10 | "path": "python", 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /python/valuecell/core/coordinate/__init__.py: -------------------------------------------------------------------------------- 1 | from .orchestrator import AgentOrchestrator 2 | from .services import AgentServiceBundle 3 | 4 | __all__ = [ 5 | "AgentOrchestrator", 6 | "AgentServiceBundle", 7 | ] 8 | -------------------------------------------------------------------------------- /python/valuecell/core/plan/__init__.py: -------------------------------------------------------------------------------- 1 | """Planning service public exports.""" 2 | 3 | from .service import PlanService, UserInputRegistry 4 | 5 | __all__ = [ 6 | "PlanService", 7 | "UserInputRegistry", 8 | ] 9 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | format: 2 | ruff format --config ./python/pyproject.toml ./python/ && uv run --directory ./python isort . 3 | 4 | lint: 5 | ruff check --config ./python/pyproject.toml ./python/ 6 | 7 | test: 8 | uv run pytest ./python -------------------------------------------------------------------------------- /frontend/src-tauri/.gitignore: -------------------------------------------------------------------------------- 1 | # Generated by Cargo 2 | # will have compiled files and executables 3 | /target/ 4 | 5 | # Generated by Tauri 6 | # will have schema files for capabilities auto-completion 7 | /gen/schemas 8 | 9 | /binaries/ -------------------------------------------------------------------------------- /frontend/src-tauri/src/main.rs: -------------------------------------------------------------------------------- 1 | // Prevents additional console window on Windows in release, DO NOT REMOVE!! 2 | #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] 3 | 4 | fn main() { 5 | valuecell_lib::run() 6 | } 7 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/decision/__init__.py: -------------------------------------------------------------------------------- 1 | """Decision making components.""" 2 | 3 | from .interfaces import BaseComposer 4 | from .prompt_based.composer import LlmComposer 5 | 6 | __all__ = ["BaseComposer", "LlmComposer"] 7 | -------------------------------------------------------------------------------- /python/valuecell/utils/ts.py: -------------------------------------------------------------------------------- 1 | from datetime import datetime, timezone 2 | 3 | 4 | def get_current_timestamp_ms() -> int: 5 | """Get current timestamp in milliseconds.""" 6 | return int(datetime.now(timezone.utc).timestamp() * 1000) 7 | -------------------------------------------------------------------------------- /frontend/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | interface ImportMetaEnv { 4 | readonly VITE_API_BASE_URL: string; 5 | } 6 | 7 | declare global { 8 | interface ImportMeta { 9 | readonly env: ImportMetaEnv; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/features/__init__.py: -------------------------------------------------------------------------------- 1 | """Feature computation components.""" 2 | 3 | from .interfaces import BaseFeaturesPipeline 4 | from .pipeline import DefaultFeaturesPipeline 5 | 6 | __all__ = ["DefaultFeaturesPipeline", "BaseFeaturesPipeline"] 7 | -------------------------------------------------------------------------------- /frontend/src/components/valuecell/skeleton/index.ts: -------------------------------------------------------------------------------- 1 | export { 2 | AgentCardSkeleton, 3 | AgentMarketSkeleton, 4 | } from "./agent-market-skeleton"; 5 | export { 6 | SparklineStockItemSkeleton, 7 | SparklineStockListSkeleton, 8 | } from "./sparkline-stock-list-skeleton"; 9 | -------------------------------------------------------------------------------- /frontend/src/app/home/components/index.tsx: -------------------------------------------------------------------------------- 1 | export * from "./agent-suggestions-list"; 2 | export { default as AgentTaskCards } from "./agent-task-cards"; 3 | export { default as StockList } from "./stock-list"; 4 | export { default as StockSearchModal } from "./stock-search-modal"; 5 | -------------------------------------------------------------------------------- /frontend/react-router.config.ts: -------------------------------------------------------------------------------- 1 | import type { Config } from "@react-router/dev/config"; 2 | 3 | export default { 4 | // Config options... 5 | // Server-side render by default, to enable SPA mode set this to `false` 6 | ssr: false, 7 | appDirectory: "src", 8 | } satisfies Config; 9 | -------------------------------------------------------------------------------- /frontend/src/app/agent/components/strategy-items/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as PortfolioPositionsGroup } from "./portfolio-positions-group"; 2 | export { default as StrategyComposeList } from "./strategy-compose-list"; 3 | export { default as TradeStrategyGroup } from "./trade-strategy-group"; 4 | -------------------------------------------------------------------------------- /python/valuecell/agents/news_agent/__main__.py: -------------------------------------------------------------------------------- 1 | import asyncio 2 | 3 | from valuecell.agents.news_agent import NewsAgent 4 | from valuecell.core import create_wrapped_agent 5 | 6 | if __name__ == "__main__": 7 | agent = create_wrapped_agent(NewsAgent) 8 | asyncio.run(agent.serve()) 9 | -------------------------------------------------------------------------------- /frontend/src/components/valuecell/form/field/index.tsx: -------------------------------------------------------------------------------- 1 | export { NumberField } from "./number-field"; 2 | export { PasswordField } from "./password-field"; 3 | export { RadioField } from "./radio-field"; 4 | export { SelectField } from "./select-field"; 5 | export { TextField } from "./text-field"; 6 | -------------------------------------------------------------------------------- /frontend/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "skipLibCheck": true, 5 | "module": "ESNext", 6 | "moduleResolution": "bundler", 7 | "allowSyntheticDefaultImports": true 8 | }, 9 | "include": [ 10 | "vite.config.ts" 11 | ] 12 | } -------------------------------------------------------------------------------- /frontend/src-tauri/capabilities/desktop.json: -------------------------------------------------------------------------------- 1 | { 2 | "identifier": "desktop-capability", 3 | "platforms": [ 4 | "macOS", 5 | "windows", 6 | "linux" 7 | ], 8 | "windows": [ 9 | "main" 10 | ], 11 | "permissions": [ 12 | "updater:default", 13 | "process:default" 14 | ] 15 | } -------------------------------------------------------------------------------- /python/valuecell/agents/research_agent/__main__.py: -------------------------------------------------------------------------------- 1 | import asyncio 2 | 3 | from valuecell.core.agent.decorator import create_wrapped_agent 4 | 5 | from .core import ResearchAgent 6 | 7 | if __name__ == "__main__": 8 | agent = create_wrapped_agent(ResearchAgent) 9 | asyncio.run(agent.serve()) 10 | -------------------------------------------------------------------------------- /python/valuecell/core/super_agent/__init__.py: -------------------------------------------------------------------------------- 1 | """Super agent service exports.""" 2 | 3 | from .core import SuperAgentDecision, SuperAgentOutcome 4 | from .service import SuperAgentService 5 | 6 | __all__ = [ 7 | "SuperAgentDecision", 8 | "SuperAgentOutcome", 9 | "SuperAgentService", 10 | ] 11 | -------------------------------------------------------------------------------- /frontend/src/types/chart.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Sparkline data type: [timestamp, value] pairs 3 | * timestamp can be number (unix timestamp), string (ISO), or Date object 4 | */ 5 | export type SparklineData = Array<[number | string | Date, number]>; 6 | 7 | export type MultiLineChartData = Array>; 8 | -------------------------------------------------------------------------------- /python/valuecell/agents/prompt_strategy_agent/__main__.py: -------------------------------------------------------------------------------- 1 | import asyncio 2 | 3 | from valuecell.core.agent import create_wrapped_agent 4 | 5 | from .core import PromptBasedStrategyAgent 6 | 7 | if __name__ == "__main__": 8 | agent = create_wrapped_agent(PromptBasedStrategyAgent) 9 | asyncio.run(agent.serve()) 10 | -------------------------------------------------------------------------------- /frontend/src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /python/valuecell/server/db/models/base.py: -------------------------------------------------------------------------------- 1 | """Base model for ValueCell Server.""" 2 | 3 | from sqlalchemy.ext.declarative import declarative_base 4 | 5 | # Create the base class for all models 6 | Base = declarative_base() 7 | 8 | # Alternative approach using modern SQLAlchemy 2.0 style 9 | # class Base(DeclarativeBase): 10 | # pass 11 | -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | node_modules 6 | dist 7 | dist-ssr 8 | *.local 9 | 10 | # Editor directories and files 11 | .vscode/* 12 | !.vscode/settings.json 13 | .idea 14 | .DS_Store 15 | *.suo 16 | *.ntvs* 17 | *.njsproj 18 | *.sln 19 | *.sw? 20 | 21 | # custom 22 | !lib 23 | .react-router 24 | .vite 25 | 26 | .claude -------------------------------------------------------------------------------- /frontend/src/assets/svg/strategy-status.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | -------------------------------------------------------------------------------- /frontend/src/components/ui/skeleton.tsx: -------------------------------------------------------------------------------- 1 | import { cn } from "@/lib/utils" 2 | 3 | function Skeleton({ className, ...props }: React.ComponentProps<"div">) { 4 | return ( 5 |
10 | ) 11 | } 12 | 13 | export { Skeleton } 14 | -------------------------------------------------------------------------------- /python/valuecell/utils/__init__.py: -------------------------------------------------------------------------------- 1 | from .db import resolve_db_path 2 | from .path import get_agent_card_path 3 | from .port import get_next_available_port, parse_host_port 4 | from .uuid import generate_uuid 5 | 6 | __all__ = [ 7 | "get_next_available_port", 8 | "generate_uuid", 9 | "get_agent_card_path", 10 | "parse_host_port", 11 | "resolve_db_path", 12 | ] 13 | -------------------------------------------------------------------------------- /frontend/src/components/tradingview/tv-symbol-map.json: -------------------------------------------------------------------------------- 1 | { 2 | "CRYPTO:BTC": "BINANCE:BTCUSDT", 3 | "CRYPTO:ETH": "BINANCE:ETHUSDT", 4 | "CRYPTO:SOL": "BINANCE:SOLUSDT", 5 | "CRYPTO:BNB": "BINANCE:BNBUSDT", 6 | "CRYPTO:XRP": "BINANCE:XRPUSDT", 7 | "CRYPTO:ADA": "BINANCE:ADAUSDT", 8 | "CRYPTO:DOGE": "BINANCE:DOGEUSDT", 9 | "CRYPTO:USDT": "COINBASE:USDTUSD", 10 | "CRYPTO:USDC": "COINBASE:USDCUSD" 11 | } 12 | -------------------------------------------------------------------------------- /frontend/src/components/ui/spinner.tsx: -------------------------------------------------------------------------------- 1 | import { Loader2Icon } from "lucide-react" 2 | 3 | import { cn } from "@/lib/utils" 4 | 5 | function Spinner({ className, ...props }: React.ComponentProps<"svg">) { 6 | return ( 7 | 13 | ) 14 | } 15 | 16 | export { Spinner } 17 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/history/__init__.py: -------------------------------------------------------------------------------- 1 | """Trading history recording and digest building.""" 2 | 3 | from .digest import RollingDigestBuilder 4 | from .interfaces import BaseDigestBuilder, BaseHistoryRecorder 5 | from .recorder import InMemoryHistoryRecorder 6 | 7 | __all__ = [ 8 | "InMemoryHistoryRecorder", 9 | "RollingDigestBuilder", 10 | "BaseHistoryRecorder", 11 | "BaseDigestBuilder", 12 | ] 13 | -------------------------------------------------------------------------------- /python/valuecell/core/agent/__init__.py: -------------------------------------------------------------------------------- 1 | """Agent module initialization""" 2 | 3 | # Core agent functionality 4 | from .client import AgentClient 5 | from .connect import RemoteConnections 6 | from .decorator import create_wrapped_agent 7 | from .responses import streaming 8 | 9 | __all__ = [ 10 | # Core agent exports 11 | "AgentClient", 12 | "RemoteConnections", 13 | "streaming", 14 | "create_wrapped_agent", 15 | ] 16 | -------------------------------------------------------------------------------- /python/valuecell/server/api/routers/__init__.py: -------------------------------------------------------------------------------- 1 | """API router module.""" 2 | 3 | from .agent import create_agent_router 4 | from .i18n import create_i18n_router, get_i18n_router 5 | from .system import create_system_router 6 | from .task import create_task_router 7 | 8 | __all__ = [ 9 | "create_i18n_router", 10 | "get_i18n_router", 11 | "create_system_router", 12 | "create_agent_router", 13 | "create_task_router", 14 | ] 15 | -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | 5 | { 6 | "name": "Python Debug", 7 | "type": "debugpy", 8 | "request": "launch", 9 | "program": "${file}", 10 | "console": "integratedTerminal", 11 | "python": "${workspaceFolder}/python/.venv/bin/python", 12 | "args": "${command:pickArgs}" 13 | } 14 | ] 15 | } -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | We patch only what we still care about—and what *you* should still be running. 6 | 7 | | Version | Supported | Details | 8 | |---------|-----------|---------| 9 | | 0.1.x | ✅ | Actively maintained. Critical/security fixes within **14 days** of validated report. | 10 | 11 | ## Reporting a Vulnerability 12 | 13 | **Do this:** 14 | → Open a public GitHub issue. 15 | → Contact us @Discord. -------------------------------------------------------------------------------- /frontend/src/components/valuecell/button/close-button.tsx: -------------------------------------------------------------------------------- 1 | import { X } from "lucide-react"; 2 | import type { FC } from "react"; 3 | import { Button } from "@/components/ui/button"; 4 | 5 | interface CloseButtonProps { 6 | onClick?: () => void; 7 | } 8 | 9 | const CloseButton: FC = ({ onClick }) => { 10 | return ( 11 | 14 | ); 15 | }; 16 | 17 | export default CloseButton; 18 | -------------------------------------------------------------------------------- /python/valuecell/core/task/__init__.py: -------------------------------------------------------------------------------- 1 | """Task module public API""" 2 | 3 | from .executor import TaskExecutor 4 | from .manager import TaskManager 5 | from .models import Task, TaskPattern, TaskStatus 6 | from .task_store import InMemoryTaskStore, SQLiteTaskStore, TaskStore 7 | 8 | __all__ = [ 9 | "Task", 10 | "TaskStatus", 11 | "TaskPattern", 12 | "TaskManager", 13 | "TaskExecutor", 14 | "TaskStore", 15 | "InMemoryTaskStore", 16 | "SQLiteTaskStore", 17 | ] 18 | -------------------------------------------------------------------------------- /frontend/src/app/agent/components/chat-conversation/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as ChatConversationHeader } from "./chat-conversation-header"; 2 | export { default as ChatInputArea } from "./chat-input-area"; 3 | export { default as ChatMultiSectionComponent } from "./chat-multi-section-component"; 4 | export { default as ChatSectionComponent } from "./chat-section-component"; 5 | export { default as ChatThreadArea } from "./chat-thread-area"; 6 | export { default as ChatWelcomeScreen } from "./chat-welcome-screen"; 7 | -------------------------------------------------------------------------------- /frontend/src/components/valuecell/icon/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as AgentAvatar } from "./agent-avatar"; 2 | export { default as PngIcon } from "./png-icon"; 3 | export { default as SvgIcon } from "./svg-icon"; 4 | export { default as GradientLogoIcon } from "./svg-icon/gradient-logo"; 5 | export { default as Rank1Icon } from "./svg-icon/rank1"; 6 | export { default as Rank2Icon } from "./svg-icon/rank2"; 7 | export { default as Rank3Icon } from "./svg-icon/rank3"; 8 | export { default as RoundedLogo } from "./svg-icon/rounded-logo"; 9 | -------------------------------------------------------------------------------- /frontend/src/components/valuecell/icon/svg-icon.tsx: -------------------------------------------------------------------------------- 1 | import { memo } from "react"; 2 | import { cn } from "@/lib/utils"; 3 | 4 | export interface SvgIconProps { 5 | name: string; 6 | className?: string; 7 | } 8 | 9 | /** 10 | * Simple SVG Icon component using optimized SVG sprites 11 | */ 12 | export function SvgIcon({ name, className }: SvgIconProps) { 13 | return ( 14 | 15 | 16 | 17 | ); 18 | } 19 | 20 | export default memo(SvgIcon); 21 | -------------------------------------------------------------------------------- /python/valuecell/utils/uuid.py: -------------------------------------------------------------------------------- 1 | from uuid import uuid4 2 | 3 | 4 | def generate_uuid(prefix: str = None) -> str: 5 | if not prefix: 6 | return str(uuid4().hex) 7 | 8 | return f"{prefix}-{uuid4().hex}" 9 | 10 | 11 | def generate_item_id() -> str: 12 | return generate_uuid("item") 13 | 14 | 15 | def generate_thread_id() -> str: 16 | return generate_uuid("th") 17 | 18 | 19 | def generate_conversation_id() -> str: 20 | return generate_uuid("conv") 21 | 22 | 23 | def generate_task_id() -> str: 24 | return generate_uuid("task") 25 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/execution/__init__.py: -------------------------------------------------------------------------------- 1 | """Execution adapters for trading instructions.""" 2 | 3 | from .ccxt_trading import CCXTExecutionGateway, create_ccxt_gateway 4 | from .factory import create_execution_gateway, create_execution_gateway_sync 5 | from .interfaces import BaseExecutionGateway 6 | from .paper_trading import PaperExecutionGateway 7 | 8 | __all__ = [ 9 | "BaseExecutionGateway", 10 | "PaperExecutionGateway", 11 | "CCXTExecutionGateway", 12 | "create_ccxt_gateway", 13 | "create_execution_gateway", 14 | "create_execution_gateway_sync", 15 | ] 16 | -------------------------------------------------------------------------------- /python/valuecell/server/db/__init__.py: -------------------------------------------------------------------------------- 1 | """Database package for ValueCell Server.""" 2 | 3 | from .connection import ( 4 | DatabaseManager, 5 | get_database_manager, 6 | get_db, 7 | ) 8 | from .init_db import DatabaseInitializer, init_database 9 | from .models import Agent, Asset, Base 10 | 11 | __all__ = [ 12 | # Connection management 13 | "DatabaseManager", 14 | "get_database_manager", 15 | "get_db", 16 | # Database initialization 17 | "DatabaseInitializer", 18 | "init_database", 19 | # Models 20 | "Base", 21 | "Agent", 22 | "Asset", 23 | ] 24 | -------------------------------------------------------------------------------- /frontend/components.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://ui.shadcn.com/schema.json", 3 | "style": "new-york", 4 | "rsc": false, 5 | "tsx": true, 6 | "tailwind": { 7 | "config": "", 8 | "css": "src/global.css", 9 | "baseColor": "neutral", 10 | "cssVariables": true, 11 | "prefix": "" 12 | }, 13 | "iconLibrary": "lucide", 14 | "aliases": { 15 | "components": "@/components", 16 | "utils": "@/lib/utils", 17 | "ui": "@/components/ui", 18 | "lib": "@/lib", 19 | "hooks": "@/hooks" 20 | }, 21 | "registries": { 22 | "@acme": "https://acme.com/r/{name}.json" 23 | } 24 | } -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/constants.py: -------------------------------------------------------------------------------- 1 | """Default constants used across the strategy_agent package. 2 | 3 | Centralizes defaults so they can be imported from one place. 4 | """ 5 | 6 | DEFAULT_INITIAL_CAPITAL = 100000.0 7 | DEFAULT_AGENT_MODEL = "deepseek-ai/DeepSeek-V3.1-Terminus" 8 | DEFAULT_MODEL_PROVIDER = "siliconflow" 9 | DEFAULT_MAX_POSITIONS = 5 10 | DEFAULT_MAX_SYMBOLS = 5 11 | DEFAULT_MAX_LEVERAGE = 10.0 12 | DEFAULT_CAP_FACTOR = 1.5 13 | 14 | # Feature grouping constants 15 | FEATURE_GROUP_BY_KEY = "group_by_key" 16 | FEATURE_GROUP_BY_INTERVAL_PREFIX = "interval_" 17 | FEATURE_GROUP_BY_MARKET_SNAPSHOT = "market_snapshot" 18 | -------------------------------------------------------------------------------- /frontend/src-tauri/capabilities/default.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "../gen/schemas/desktop-schema.json", 3 | "identifier": "default", 4 | "description": "Capability for the main window", 5 | "windows": [ 6 | "main" 7 | ], 8 | "permissions": [ 9 | "core:default", 10 | "opener:default", 11 | "store:default", 12 | "deep-link:default", 13 | "core:window:allow-set-focus", 14 | "dialog:default", 15 | "fs:default", 16 | "fs:allow-app-write", 17 | { 18 | "identifier": "opener:allow-open-path", 19 | "allow": [ 20 | { 21 | "path": "$HOME/**" 22 | } 23 | ] 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /frontend/src/components/valuecell/renderer/index.tsx: -------------------------------------------------------------------------------- 1 | export { default as ChatConversationRenderer } from "./chat-conversation-renderer"; 2 | export { default as MarkdownRenderer } from "./markdown-renderer"; 3 | export { default as ReasoningRenderer } from "./reasoning-renderer"; 4 | export { default as ReportRenderer } from "./report-renderer"; 5 | export { default as ScheduledTaskControllerRenderer } from "./scheduled-task-controller-renderer"; 6 | export { default as ScheduledTaskRenderer } from "./scheduled-task-renderer"; 7 | export { default as ToolCallRenderer } from "./tool-call-renderer"; 8 | export { default as UnknownRenderer } from "./unknown-renderer"; 9 | -------------------------------------------------------------------------------- /frontend/src/types/conversation.ts: -------------------------------------------------------------------------------- 1 | import type { AgentComponentMessage, SSEData } from "./agent"; 2 | 3 | export type ConversationItem = { 4 | conversation_id: string; 5 | title: string; 6 | agent_name: string; 7 | update_time: string; 8 | }; 9 | 10 | export type ConversationList = { 11 | conversations: ConversationItem[]; 12 | total: number; 13 | }; 14 | 15 | export type ConversationHistory = { 16 | conversation_id: string; 17 | items: SSEData[]; 18 | }; 19 | 20 | export type TaskCardItem = { 21 | agent_name: string; 22 | update_time: string; 23 | results: { event: "component_generator"; data: AgentComponentMessage }[]; 24 | }; 25 | -------------------------------------------------------------------------------- /frontend/src/hooks/use-form.tsx: -------------------------------------------------------------------------------- 1 | import { createFormHook, createFormHookContexts } from "@tanstack/react-form"; 2 | import { 3 | NumberField, 4 | PasswordField, 5 | RadioField, 6 | SelectField, 7 | TextField, 8 | } from "@/components/valuecell/form/field"; 9 | 10 | export const { fieldContext, useFieldContext, formContext, useFormContext } = 11 | createFormHookContexts(); 12 | export const { useAppForm, withForm } = createFormHook({ 13 | fieldComponents: { 14 | TextField, 15 | NumberField, 16 | PasswordField, 17 | SelectField, 18 | RadioField, 19 | }, 20 | formComponents: {}, 21 | fieldContext, 22 | formContext, 23 | }); 24 | -------------------------------------------------------------------------------- /frontend/src/components/ui/sonner.tsx: -------------------------------------------------------------------------------- 1 | import { useTheme } from "next-themes" 2 | import { Toaster as Sonner, ToasterProps } from "sonner" 3 | 4 | const Toaster = ({ ...props }: ToasterProps) => { 5 | const { theme = "system" } = useTheme() 6 | 7 | return ( 8 | 20 | ) 21 | } 22 | 23 | export { Toaster } 24 | -------------------------------------------------------------------------------- /python/configs/locales/language_list.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "language": "English (US)", 4 | "tag": "en-US", 5 | "region": "United States" 6 | }, 7 | { 8 | "language": "English (UK)", 9 | "tag": "en-GB", 10 | "region": "United Kingdom" 11 | }, 12 | { 13 | "language": "中文(简体)", 14 | "tag": "zh-Hans", 15 | "region": "Generic Simplified Chinese" 16 | }, 17 | { 18 | "language": "中文(繁體)", 19 | "tag": "zh-Hant", 20 | "region": "Generic Traditional Chinese" 21 | }, 22 | { 23 | "language": "日本語", 24 | "tag": "ja-JP", 25 | "region": "Japan" 26 | } 27 | ] 28 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## 📝 Pull Request Template 2 | 3 | ### 1. Related Issue 4 | Closes # (issue number) 5 | 6 | ### 2. Type of Change (select one) 7 | Type of Change: Bug Fix / New Feature / Code Refactor / Documentation Update / Other: __________ 8 | 9 | ### 3. Description 10 | Please describe the changes made and why they are necessary. 11 | 12 | ### 4. Testing 13 | - [ ] I have tested this locally. 14 | - [ ] I have updated or added relevant tests. 15 | 16 | ### 5. Checklist 17 | - [ ] I have read the [Code of Conduct](./CODE_OF_CONDUCT.md) 18 | - [ ] I have followed the [Contributing Guidelines](./CONTRIBUTING.md) 19 | - [ ] My changes follow the project's coding style 20 | 21 | -------------------------------------------------------------------------------- /frontend/src/hooks/use-mobile.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | 3 | const MOBILE_BREAKPOINT = 768; 4 | 5 | export function useIsMobile() { 6 | const [isMobile, setIsMobile] = React.useState( 7 | undefined, 8 | ); 9 | 10 | React.useEffect(() => { 11 | const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`); 12 | const onChange = () => { 13 | setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); 14 | }; 15 | mql.addEventListener("change", onChange); 16 | setIsMobile(window.innerWidth < MOBILE_BREAKPOINT); 17 | return () => mql.removeEventListener("change", onChange); 18 | }, []); 19 | 20 | return !!isMobile; 21 | } 22 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /python/valuecell/server/services/__init__.py: -------------------------------------------------------------------------------- 1 | """ValueCell Services Module. 2 | 3 | This module provides high-level service layers for various business operations 4 | including asset management, internationalization, and agent context management. 5 | """ 6 | 7 | # Asset service (import directly from .assets to avoid circular imports) 8 | 9 | # I18n service 10 | from .i18n_service import I18nService, get_i18n_service 11 | 12 | __all__ = [ 13 | # I18n services 14 | "I18nService", 15 | "get_i18n_service", 16 | # Note: For asset services, import directly from valuecell.services.assets 17 | # Note: For conversation services, import directly from valuecell.server.services.conversation_service 18 | ] 19 | -------------------------------------------------------------------------------- /frontend/src/components/ui/label.tsx: -------------------------------------------------------------------------------- 1 | "use client" 2 | 3 | import * as React from "react" 4 | import * as LabelPrimitive from "@radix-ui/react-label" 5 | 6 | import { cn } from "@/lib/utils" 7 | 8 | function Label({ 9 | className, 10 | ...props 11 | }: React.ComponentProps) { 12 | return ( 13 | 21 | ) 22 | } 23 | 24 | export { Label } 25 | -------------------------------------------------------------------------------- /frontend/src/components/valuecell/icon/agent-avatar.tsx: -------------------------------------------------------------------------------- 1 | import { type FC, memo } from "react"; 2 | import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar"; 3 | import { AGENT_AVATAR_MAP } from "@/constants/agent"; 4 | import { cn } from "@/lib/utils"; 5 | 6 | export interface AgentAvatarProps { 7 | className?: string; 8 | agentName: string; 9 | } 10 | 11 | export const AgentAvatar: FC = ({ agentName, className }) => { 12 | return ( 13 | 14 | 15 | {agentName.slice(0, 2)} 16 | 17 | ); 18 | }; 19 | 20 | export default memo(AgentAvatar); 21 | -------------------------------------------------------------------------------- /python/valuecell/agents/sources/__init__.py: -------------------------------------------------------------------------------- 1 | """ 2 | ValueCell agents data sources 3 | 4 | Available sources: 5 | - rootdata: Cryptocurrency projects, VCs and people data from RootData.com 6 | """ 7 | 8 | from valuecell.agents.sources.rootdata import ( 9 | RootDataPerson, 10 | RootDataProject, 11 | RootDataVC, 12 | get_person_detail, 13 | get_project_detail, 14 | get_vc_detail, 15 | search_people, 16 | search_projects, 17 | search_vcs, 18 | ) 19 | 20 | __all__ = [ 21 | "RootDataProject", 22 | "RootDataVC", 23 | "RootDataPerson", 24 | "get_project_detail", 25 | "get_vc_detail", 26 | "get_person_detail", 27 | "search_projects", 28 | "search_vcs", 29 | "search_people", 30 | ] 31 | -------------------------------------------------------------------------------- /frontend/src/components/valuecell/icon/png-icon.tsx: -------------------------------------------------------------------------------- 1 | import { memo, useState } from "react"; 2 | import { cn } from "@/lib/utils"; 3 | 4 | export interface PngIconProps { 5 | src: string; 6 | alt?: string; 7 | className?: string; 8 | callback?: string; 9 | } 10 | 11 | /** 12 | * Simple PNG Icon component using imported PNG assets 13 | */ 14 | export function PngIcon({ src, alt = "", className, callback }: PngIconProps) { 15 | const [imgSrc, setImgSrc] = useState(src); 16 | 17 | return ( 18 | {alt} { 22 | callback && setImgSrc(callback); 23 | }} 24 | className={cn("size-4 object-contain", className)} 25 | /> 26 | ); 27 | } 28 | 29 | export default memo(PngIcon); 30 | -------------------------------------------------------------------------------- /docker/DockerFile: -------------------------------------------------------------------------------- 1 | FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim 2 | 3 | # Install uv. 4 | COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv 5 | 6 | WORKDIR /app 7 | 8 | # Pre-cache the application dependencies. 9 | RUN --mount=type=cache,target=/root/.cache/uv \ 10 | --mount=type=bind,source=uv.lock,target=uv.lock \ 11 | --mount=type=bind,source=pyproject.toml,target=pyproject.toml \ 12 | uv sync --locked --no-install-project 13 | 14 | # Copy the application into the container. 15 | COPY . /app 16 | 17 | # Install the application dependencies. 18 | RUN --mount=type=cache,target=/root/.cache/uv \ 19 | uv sync --locked 20 | 21 | EXPOSE 8000 22 | 23 | # Run the application. 24 | CMD ["uv", "run", "python", "main.py", "--host", "0.0.0.0", "--port", "8000"] 25 | -------------------------------------------------------------------------------- /python/valuecell/server/api/schemas/task.py: -------------------------------------------------------------------------------- 1 | """Task API schemas.""" 2 | 3 | from typing import List 4 | 5 | from pydantic import BaseModel, Field 6 | 7 | from .base import SuccessResponse 8 | 9 | 10 | class TaskCancelData(BaseModel): 11 | """Data returned after attempting to cancel a task.""" 12 | 13 | task_id: str = Field(..., description="The task ID that was processed") 14 | success: bool = Field( 15 | ..., description="Whether the task was successfully cancelled" 16 | ) 17 | updated_component_ids: List[str] = Field( 18 | default_factory=list, 19 | description="IDs of scheduled_task_controller components updated to 'cancelled'", 20 | ) 21 | 22 | 23 | # Response type for task cancel 24 | TaskCancelResponse = SuccessResponse[TaskCancelData] 25 | -------------------------------------------------------------------------------- /python/valuecell/agents/common/trading/history/recorder.py: -------------------------------------------------------------------------------- 1 | from typing import List 2 | 3 | from valuecell.agents.common.trading.models import HistoryRecord 4 | 5 | from .interfaces import BaseHistoryRecorder 6 | 7 | 8 | class InMemoryHistoryRecorder(BaseHistoryRecorder): 9 | """In-memory recorder storing history records.""" 10 | 11 | def __init__(self, history_limit: int = 200) -> None: 12 | self.records: List[HistoryRecord] = [] 13 | self.history_limit = history_limit 14 | 15 | def record(self, record: HistoryRecord) -> None: 16 | self.records.append(record) 17 | if len(self.records) > self.history_limit: 18 | self.records = self.records[-self.history_limit :] 19 | 20 | def get_records(self) -> List[HistoryRecord]: 21 | return self.records 22 | -------------------------------------------------------------------------------- /frontend/src/assets/svg/agent-suggest/auto-trade.svg: -------------------------------------------------------------------------------- 1 | 2 | 5 | 8 | 9 | -------------------------------------------------------------------------------- /frontend/src/components/ui/separator.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react" 2 | import * as SeparatorPrimitive from "@radix-ui/react-separator" 3 | 4 | import { cn } from "@/lib/utils" 5 | 6 | function Separator({ 7 | className, 8 | orientation = "horizontal", 9 | decorative = true, 10 | ...props 11 | }: React.ComponentProps) { 12 | return ( 13 | 23 | ) 24 | } 25 | 26 | export { Separator } 27 | -------------------------------------------------------------------------------- /frontend/src/types/setting.ts: -------------------------------------------------------------------------------- 1 | export type MemoryItem = { 2 | id: number; 3 | content: string; 4 | }; 5 | 6 | export type ModelProvider = { 7 | provider: string; 8 | }; 9 | 10 | export type ProviderModelInfo = { 11 | model_id: string; 12 | model_name: string; 13 | }; 14 | 15 | export type ProviderDetail = { 16 | api_key: string; 17 | api_key_url: string; 18 | base_url: string; 19 | is_default: boolean; 20 | default_model_id: string; 21 | models: ProviderModelInfo[]; 22 | }; 23 | 24 | // --- Model availability check --- 25 | export type CheckModelRequest = { 26 | provider?: string; 27 | model_id?: string; 28 | api_key?: string; 29 | }; 30 | 31 | export type CheckModelResult = { 32 | ok: boolean; 33 | provider: string; 34 | model_id: string; 35 | status?: string; 36 | error?: string; 37 | }; 38 | -------------------------------------------------------------------------------- /frontend/src/app/agent/components/chat-conversation/chat-streaming-indicator.tsx: -------------------------------------------------------------------------------- 1 | import { type FC, memo } from "react"; 2 | 3 | const StreamingIndicator: FC = () => { 4 | return ( 5 | 10 |