Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,7 @@ SEC_EMAIL=
# refer to ./python/third_party/TradingAgents/.env.example for details
# OpenAI API Key - Required for LLM models and online data search
# Get your key from: https://platform.openai.com/api-keys
# OPENAI_API_KEY=
OPENAI_API_KEY=
# Finnhub API Key - Required for financial news and insider trading data
# Get your free key from: https://finnhub.io/register
FINNHUB_API_KEY=
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<a href="https://www.python.org/downloads" target="_blank">
<img src="https://img.shields.io/badge/python-3.12+-blue.svg"
alt="Python version"></a>
<a href=".LICENSE" target="_blank">
<a href="LICENSE" target="_blank">
<img src="https://img.shields.io/badge/license-Apache2.0-red.svg"
alt="License: Apache2.0"></a>
<br>
Expand All @@ -16,7 +16,7 @@
<a href="https://twitter.com/intent/follow?screen_name=valuecell" target="_blank">
<img src="https://img.shields.io/twitter/follow/valuecell?logo=X&color=%20%23f5f5f5"
alt="follow on X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<a href="https://www.linkedin.com/company/valuecell/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="follow on LinkedIn"></a>
<a href="https://www.facebook.com/people/ValueCell/61581410516790/" target="_blank">
Expand Down
4 changes: 2 additions & 2 deletions README.zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<a href="https://www.python.org/downloads" target="_blank">
<img src="https://img.shields.io/badge/python-3.12+-blue.svg"
alt="Python version"></a>
<a href=".LICENSE" target="_blank">
<a href="LICENSE" target="_blank">
<img src="https://img.shields.io/badge/license-Apache2.0-red.svg"
alt="License: Apache2.0"></a>
<br>
Expand All @@ -16,7 +16,7 @@
<a href="https://twitter.com/intent/follow?screen_name=valuecell" target="_blank">
<img src="https://img.shields.io/twitter/follow/valuecell?logo=X&color=%20%23f5f5f5"
alt="follow on X(Twitter)"></a>
<a href="https://www.linkedin.com/company/langgenius/" target="_blank">
<a href="https://www.linkedin.com/company/valuecell/" target="_blank">
<img src="https://custom-icon-badges.demolab.com/badge/LinkedIn-0A66C2?logo=linkedin-white&logoColor=fff"
alt="follow on LinkedIn"></a>
<a href="https://www.facebook.com/people/ValueCell/61581410516790/" target="_blank">
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/constants/agent.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,6 @@ export const AGENT_AVATAR_MAP: Record<string, string> = {
SentimentAnalystAgent: EmotionalAgencyPng,

// System Agents
TradingAgentsAdapter: PortfolioManagerPng,
TradingAgents: PortfolioManagerPng,
SECAgent: SecAgentPng,
};
2 changes: 1 addition & 1 deletion frontend/src/mock/agent-data.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { IconGroupPng, MessageGroupPng, TrendPng } from "@/assets/png";

export const agentSuggestions: AgentSuggestion[] = [
{
id: "TradingAgentsAdapter",
id: "TradingAgents",
title: "Research Report",
icon: <TrendingUp size={16} className="text-gray-500" />,
description: "Diversified in-depth analysis reports",
Expand Down
36 changes: 17 additions & 19 deletions python/configs/agent_cards/trading_agents.json
Original file line number Diff line number Diff line change
@@ -1,30 +1,28 @@
{
"name": "TradingAgentsAdapter",
"name": "TradingAgents",
"display_name": "Trading Agents",
"url": "http://localhost:10002",
"description": "TradingAgents - Multi-agent trading analysis system with market, sentiment, news and fundamentals analysis",
"capabilities": {
"streaming": true,
"push_notifications": false
},
"skills": [
{
"id": "trading_agents",
"name": "Trading Agents",
"description": "Trading Agents - Multi-agent trading analysis system with market, sentiment, news and fundamentals analysis",
"examples": [
"Analyze APPL using all analysts",
"Analyze NVDA using market and fundamentals analysts",
"Analyze TSLA using all analysts, date 2024-01-15, enable debug mode"
],
"tags": [
"analysis",
"multi-agent",
"stocks",
"US market"
]
}
],
"skills": [{
"id": "trading_agents",
"name": "Trading Agents",
"description": "Trading Agents - Multi-agent trading analysis system with market, sentiment, news and fundamentals analysis",
"examples": [
"Analyze APPL using all analysts",
"Analyze NVDA using market and fundamentals analysts",
"Analyze TSLA using all analysts, date 2024-01-15, enable debug mode"
],
"tags": [
"analysis",
"multi-agent",
"stocks",
"US market"
]
}],
"provider": {
"organization": "Tauric",
"url": "https://arxiv.org/abs/2412.20138"
Expand Down
2 changes: 1 addition & 1 deletion python/scripts/launch.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
"WarrenBuffettAgent": "warren_buffett",
}
SEC_AGENT_NAME = "SECAgent"
TRADING_AGENTS_NAME = "TradingAgentsAdapter"
TRADING_AGENTS_NAME = "TradingAgents"
AGENTS = list(MAP_NAME_ANALYST.keys()) + [SEC_AGENT_NAME, TRADING_AGENTS_NAME]

PROJECT_DIR = Path(__file__).resolve().parent.parent.parent
Expand Down
4 changes: 2 additions & 2 deletions python/third_party/TradingAgents/adapter/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -181,7 +181,7 @@ class DialogueState(MessagesState):
current_step: str = "parsing"


class TradingAgentsAdapter(BaseAgent):
class TradingAgents(BaseAgent):
"""TradingAgents adapter for valuecell core agent system"""

def __init__(self):
Expand Down Expand Up @@ -540,5 +540,5 @@ def _stream_analysis_results(self, request: TradingRequest, final_state: Dict, p


if __name__ == "__main__":
agent = create_wrapped_agent(TradingAgentsAdapter)
agent = create_wrapped_agent(TradingAgents)
asyncio.run(agent.serve())
2 changes: 1 addition & 1 deletion python/third_party/TradingAgents/interactive_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ class TradingAgentsInteractiveClient:

def __init__(self):
self.connections = RemoteConnections()
self.agent_name = "TradingAgentsAdapter"
self.agent_name = "TradingAgents"
self.client: Optional[object] = None

# Configuration options
Expand Down
6 changes: 3 additions & 3 deletions python/third_party/TradingAgents/start_adapter.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
sys.path.insert(0, str(valuecell_root))

from valuecell.core.agent.decorator import create_wrapped_agent
from adapter.__main__ import TradingAgentsAdapter
from adapter.__main__ import TradingAgents

# Set logging
logging.basicConfig(
Expand All @@ -47,10 +47,10 @@ async def main():
try:
setup_environment()

logger.info("🚀 Starting TradingAgents Adapter...")
logger.info("🚀 Starting TradingAgents ...")

# Create and start agent
agent = create_wrapped_agent(TradingAgentsAdapter)
agent = create_wrapped_agent(TradingAgents)
await agent.serve()

except KeyboardInterrupt:
Expand Down
8 changes: 4 additions & 4 deletions python/valuecell/server/db/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ The Asset model represents financial assets in the ValueCell system, including s
3. **Create table structure**: Create agents and assets tables based on model definitions
4. **Initialize default data**:
- **Agent data**: Insert default Agent records directly from code
- Create three default agents: AIHedgeFundAgent, Sec13FundAgent, and TradingAgentsAdapter
- Create three default agents: AIHedgeFundAgent, Sec13FundAgent, and TradingAgents
- Support updating existing Agent configuration information
- **Asset data**: Insert default Asset records for common financial instruments
- Create default assets: AAPL, GOOGL, MSFT, SPY, BTC-USD
Expand All @@ -114,7 +114,7 @@ The initialization script automatically creates default records directly in the

1. **AIHedgeFundAgent**: AI-powered hedge fund analysis and trading agent
2. **Sec13FundAgent**: SEC 13F fund analysis and tracking agent
3. **TradingAgentsAdapter**: Multi-agent trading analysis system with market, sentiment, news and fundamentals analysis
3. **TradingAgents**: Multi-agent trading analysis system with market, sentiment, news and fundamentals analysis

#### Default Assets

Expand All @@ -129,7 +129,7 @@ The initialization script automatically creates default records directly in the
**Agent data structure example**:
```python
{
"name": "TradingAgentsAdapter",
"name": "TradingAgents",
"display_name": "Trading Agents Adapter",
"description": "TradingAgents - Multi-agent trading analysis system",
"version": "1.0.0",
Expand Down Expand Up @@ -196,7 +196,7 @@ try:
agents = session.query(Agent).filter(Agent.enabled == True).all()

# Get specific agent
trading_agent = session.query(Agent).filter(Agent.name == "TradingAgentsAdapter").first()
trading_agent = session.query(Agent).filter(Agent.name == "TradingAgents").first()

# Update agent status
if trading_agent:
Expand Down