# yaml-language-server: $schema=https://schema.zeabur.app/template.json
apiVersion: zeabur.com/v1
kind: Template
metadata:
    name: TradingAgents-CN
spec:
    description: 一个用于金融市场分析和交易的交易代理平台。
    coverImage: https://raw.githubusercontent.com/your-repo/tradingagents/main/screenshot.png
    icon: https://raw.githubusercontent.com/your-repo/tradingagents/main/web/static/favicon.ico
    variables:
        - key: PUBLIC_DOMAIN
          type: DOMAIN
          name: 域名
          description: 您想为 TradingAgents 实例使用什么域名？
        - key: DASHSCOPE_API_KEY
          type: STRING
          name: 阿里百炼 API 密钥
          description: 用于调用阿里云通义千问等国产大模型
        - key: FINNHUB_API_KEY
          type: STRING
          name: FinnHub API 密钥
          description: 用于获取美股金融数据
        - key: TUSHARE_TOKEN
          type: STRING
          name: Tushare Token
          description: 用于获取中国股票数据
        - key: TUSHARE_ENABLED
          type: STRING
          name: 启用 Tushare
          description: 是否启用 Tushare 作为中国股票数据源（可接受值：true/false）
        - key: DEFAULT_CHINA_DATA_SOURCE
          type: STRING
          name: 默认中国股票数据源
          description: 选择默认的中国股票数据源（可接受值：akshare/tushare/baostock）
        - key: OPENAI_API_KEY
          type: STRING
          name: OpenAI API 密钥
          description: 用于调用 GPT 系列模型
        - key: OPENROUTER_API_KEY
          type: STRING
          name: OpenRouter API 密钥
          description: 用于访问多种 AI 模型
        - key: GOOGLE_API_KEY
          type: STRING
          name: Google API 密钥
          description: 用于调用 Gemini 模型
        - key: ANTHROPIC_API_KEY
          type: STRING
          name: Anthropic API 密钥
          description: 用于调用 Claude 模型
        - key: DEEPSEEK_API_KEY
          type: STRING
          name: DeepSeek API 密钥
          description: 用于调用 DeepSeek V3 模型
        - key: DEEPSEEK_ENABLED
          type: STRING
          name: 启用 DeepSeek
          description: 是否启用 DeepSeek 模型（可接受值：true/false）
        - key: MEMORY_ENABLED
          type: STRING
          name: 启用内存功能
          description: 是否启用 ChromaDB 内存功能（可接受值：true/false）
        - key: TRADINGAGENTS_LOG_LEVEL
          type: STRING
          name: 日志级别
          description: 设置应用日志级别（可接受值：DEBUG/INFO/WARNING/ERROR）
        - key: ENABLE_COST_TRACKING
          type: STRING
          name: 启用成本跟踪
          description: 是否启用 Token 使用统计（可接受值：true/false）
        - key: COST_ALERT_THRESHOLD
          type: STRING
          name: 成本警告阈值
          description: 达到多少人民币时触发警告
        - key: USE_MONGODB_STORAGE
          type: STRING
          name: 使用 MongoDB 存储
          description: 是否使用 MongoDB 存储 Token 统计数据（可接受值：true/false）
        - key: REDDIT_CLIENT_ID
          type: STRING
          name: Reddit 客户端 ID
          description: 用于获取社交媒体情绪数据
        - key: REDDIT_CLIENT_SECRET
          type: STRING
          name: Reddit 客户端密钥
          description: 用于获取社交媒体情绪数据
    tags:
        - Trading
        - Finance
        - AI
        - Data
    readme: |-
        # TradingAgents-CN
        TradingAgents-CN 是一个用于金融市场分析和交易的平台，使用 AI 代理。

        ## 功能
        - 金融市场数据分析
        - 交易策略实现
        - AI 驱动的交易决策
        - 实时市场监控

        ## 必需配置
        1. **阿里百炼 API 密钥** - 用于调用国产大模型
        2. **FinnHub API 密钥** - 用于获取美股金融数据

        ## 推荐配置
        1. **Tushare Token** - 用于获取中国股票数据
        2. **DeepSeek API 密钥** - 性价比高的国产大模型

        ## 入门指南
        1. 部署后，您可以在指定的域名访问应用程序
        2. 首次启动可能需要几分钟时间，因为系统需要初始化数据库和缓存
        3. 访问 `/config` 路径可以查看当前配置状态
    services:
        - name: Web
          icon: https://raw.githubusercontent.com/zeabur/service-icons/main/marketplace/streamlit.svg
          template: PREBUILT
          spec:
            id: web
            source:
                image: tradingagents-cn:latest
            ports:
                - id: web
                  port: 8501
                  type: HTTP
            volumes:
                - id: logs
                  dir: /app/logs
                - id: config
                  dir: /app/config
                - id: results
                  dir: /app/results
                - id: data
                  dir: /app/data
                - id: cache
                  dir: /app/cache
            env:
                ANTHROPIC_API_KEY:
                    default: ${ANTHROPIC_API_KEY}
                    expose: true
                COST_ALERT_THRESHOLD:
                    default: ${COST_ALERT_THRESHOLD}
                    expose: true
                DASHSCOPE_API_KEY:
                    default: ${DASHSCOPE_API_KEY}
                    expose: true
                DEEPSEEK_API_KEY:
                    default: ${DEEPSEEK_API_KEY}
                    expose: true
                DEEPSEEK_BASE_URL:
                    default: https://api.deepseek.com
                    expose: true
                DEEPSEEK_ENABLED:
                    default: ${DEEPSEEK_ENABLED}
                    expose: true
                DEFAULT_CHINA_DATA_SOURCE:
                    default: ${DEFAULT_CHINA_DATA_SOURCE}
                    expose: true
                DISPLAY:
                    default: :99
                    expose: true
                DOCKER_CONTAINER:
                    default: "true"
                    expose: true
                ENABLE_COST_TRACKING:
                    default: ${ENABLE_COST_TRACKING}
                    expose: true
                FINNHUB_API_KEY:
                    default: ${FINNHUB_API_KEY}
                    expose: true
                GOOGLE_API_KEY:
                    default: ${GOOGLE_API_KEY}
                    expose: true
                MAX_USAGE_RECORDS:
                    default: "10000"
                    expose: true
                MEMORY_ENABLED:
                    default: ${MEMORY_ENABLED}
                    expose: true
                MONGODB_DATABASE_NAME:
                    default: tradingagents
                    expose: true
                OPENAI_API_KEY:
                    default: ${OPENAI_API_KEY}
                    expose: true
                OPENROUTER_API_KEY:
                    default: ${OPENROUTER_API_KEY}
                    expose: true
                PYTHONDONTWRITEBYTECODE:
                    default: "1"
                    expose: true
                PYTHONUNBUFFERED:
                    default: "1"
                    expose: true
                REDDIT_CLIENT_ID:
                    default: ${REDDIT_CLIENT_ID}
                    expose: true
                REDDIT_CLIENT_SECRET:
                    default: ${REDDIT_CLIENT_SECRET}
                    expose: true
                REDDIT_USER_AGENT:
                    default: TradingAgents-CN/1.0
                    expose: true
                TRADINGAGENTS_CACHE_DIR:
                    default: /app/cache
                    expose: true
                TRADINGAGENTS_CACHE_TYPE:
                    default: redis
                    expose: true
                TRADINGAGENTS_DATA_DIR:
                    default: /app/data
                    expose: true
                TRADINGAGENTS_LOG_BACKUP_COUNT:
                    default: "5"
                    expose: true
                TRADINGAGENTS_LOG_DIR:
                    default: /app/logs
                    expose: true
                TRADINGAGENTS_LOG_FILE:
                    default: /app/logs/tradingagents.log
                    expose: true
                TRADINGAGENTS_LOG_LEVEL:
                    default: ${TRADINGAGENTS_LOG_LEVEL}
                    expose: true
                TRADINGAGENTS_LOG_MAX_SIZE:
                    default: 100MB
                    expose: true
                TRADINGAGENTS_MONGODB_URL:
                    default: ${MONGODB_URI}
                    expose: true
                TRADINGAGENTS_REDIS_URL:
                    default: ${REDIS_URI}
                    expose: true
                TRADINGAGENTS_RESULTS_DIR:
                    default: /app/results
                    expose: true
                TUSHARE_ENABLED:
                    default: ${TUSHARE_ENABLED}
                    expose: true
                TUSHARE_TOKEN:
                    default: ${TUSHARE_TOKEN}
                    expose: true
                TZ:
                    default: Asia/Shanghai
                    expose: true
                USE_MONGODB_STORAGE:
                    default: ${USE_MONGODB_STORAGE}
                    expose: true
          domainKey: PUBLIC_DOMAIN
        - name: MongoDB
          icon: https://raw.githubusercontent.com/zeabur/service-icons/main/marketplace/mongodb.svg
          template: PREBUILT
          spec:
            id: mongodb
            source:
                image: mongo:4.4
            ports:
                - id: database
                  port: 27017
                  type: TCP
            volumes:
                - id: data
                  dir: /data/db
            instructions:
                - title: MongoDB Connection String
                  content: mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}/tradingagents?authSource=admin
                - title: MongoDB password
                  content: ${MONGO_INITDB_ROOT_PASSWORD}
                - title: MongoDB host
                  content: ${PORT_FORWARDED_HOSTNAME}
                - title: MongoDB port
                  content: ${DATABASE_PORT_FORWARDED_PORT}
            env:
                MONGO_INITDB_DATABASE:
                    default: tradingagents
                    expose: true
                MONGO_INITDB_ROOT_PASSWORD:
                    default: ${PASSWORD}
                    expose: true
                MONGO_INITDB_ROOT_USERNAME:
                    default: admin
                    expose: true
                MONGODB_HOST:
                    default: ${CONTAINER_HOSTNAME}
                    expose: true
                MONGODB_PORT:
                    default: ${DATABASE_PORT}
                    expose: true
                MONGODB_URI:
                    default: mongodb://${MONGO_INITDB_ROOT_USERNAME}:${MONGO_INITDB_ROOT_PASSWORD}@${CONTAINER_HOSTNAME}:${DATABASE_PORT}/tradingagents?authSource=admin
                    expose: true
        - name: Redis
          icon: https://raw.githubusercontent.com/zeabur/service-icons/main/marketplace/redis.svg
          template: PREBUILT
          spec:
            id: redis
            source:
                image: redis:latest
                args:
                    - --appendonly
                    - "yes"
                    - --requirepass
                    - ${REDIS_PASSWORD}
            ports:
                - id: database
                  port: 6379
                  type: TCP
            volumes:
                - id: data
                  dir: /data
            instructions:
                - title: Redis Connection String
                  content: redis://:${REDIS_PASSWORD}@${PORT_FORWARDED_HOSTNAME}:${DATABASE_PORT_FORWARDED_PORT}
                - title: Redis password
                  content: ${REDIS_PASSWORD}
                - title: Redis host
                  content: ${PORT_FORWARDED_HOSTNAME}
                - title: Redis port
                  content: ${DATABASE_PORT_FORWARDED_PORT}
            env:
                REDIS_HOST:
                    default: ${CONTAINER_HOSTNAME}
                    expose: true
                REDIS_PASSWORD:
                    default: ${PASSWORD}
                    expose: true
                REDIS_PORT:
                    default: ${DATABASE_PORT}
                    expose: true
                REDIS_URI:
                    default: redis://:${REDIS_PASSWORD}@${REDIS_HOST}:${REDIS_PORT}
                    expose: true
localization:
    zh-CN:
        description: 一个用于金融市场分析和交易的交易代理平台。
        variables:
            - key: PUBLIC_DOMAIN
              type: DOMAIN
              name: 域名
              description: 您想为 TradingAgents 实例使用什么域名？
            - key: DASHSCOPE_API_KEY
              type: STRING
              name: 阿里百炼 API 密钥
              description: 用于调用阿里云通义千问等国产大模型
            - key: FINNHUB_API_KEY
              type: STRING
              name: FinnHub API 密钥
              description: 用于获取美股金融数据
            - key: TUSHARE_TOKEN
              type: STRING
              name: Tushare Token
              description: 用于获取中国股票数据
            - key: TUSHARE_ENABLED
              type: STRING
              name: 启用 Tushare
              description: 是否启用 Tushare 作为中国股票数据源（可接受值：true/false）
            - key: DEFAULT_CHINA_DATA_SOURCE
              type: STRING
              name: 默认中国股票数据源
              description: 选择默认的中国股票数据源（可接受值：akshare/tushare/baostock）
            - key: OPENAI_API_KEY
              type: STRING
              name: OpenAI API 密钥
              description: 用于调用 GPT 系列模型
            - key: OPENROUTER_API_KEY
              type: STRING
              name: OpenRouter API 密钥
              description: 用于访问多种 AI 模型
            - key: GOOGLE_API_KEY
              type: STRING
              name: Google API 密钥
              description: 用于调用 Gemini 模型
            - key: ANTHROPIC_API_KEY
              type: STRING
              name: Anthropic API 密钥
              description: 用于调用 Claude 模型
            - key: DEEPSEEK_API_KEY
              type: STRING
              name: DeepSeek API 密钥
              description: 用于调用 DeepSeek V3 模型
            - key: DEEPSEEK_ENABLED
              type: STRING
              name: 启用 DeepSeek
              description: 是否启用 DeepSeek 模型（可接受值：true/false）
            - key: MEMORY_ENABLED
              type: STRING
              name: 启用内存功能
              description: 是否启用 ChromaDB 内存功能（可接受值：true/false）
            - key: TRADINGAGENTS_LOG_LEVEL
              type: STRING
              name: 日志级别
              description: 设置应用日志级别（可接受值：DEBUG/INFO/WARNING/ERROR）
            - key: ENABLE_COST_TRACKING
              type: STRING
              name: 启用成本跟踪
              description: 是否启用 Token 使用统计（可接受值：true/false）
            - key: COST_ALERT_THRESHOLD
              type: STRING
              name: 成本警告阈值
              description: 达到多少人民币时触发警告
            - key: USE_MONGODB_STORAGE
              type: STRING
              name: 使用 MongoDB 存储
              description: 是否使用 MongoDB 存储 Token 统计数据（可接受值：true/false）
            - key: REDDIT_CLIENT_ID
              type: STRING
              name: Reddit 客户端 ID
              description: 用于获取社交媒体情绪数据
            - key: REDDIT_CLIENT_SECRET
              type: STRING
              name: Reddit 客户端密钥
              description: 用于获取社交媒体情绪数据
        readme: |-
            # TradingAgents-CN
            TradingAgents-CN 是一个用于金融市场分析和交易的平台，使用 AI 代理。

            ## 功能
            - 金融市场数据分析
            - 交易策略实现
            - AI 驱动的交易决策
            - 实时市场监控

            ## 必需配置
            1. **阿里百炼 API 密钥** - 用于调用国产大模型
            2. **FinnHub API 密钥** - 用于获取美股金融数据

            ## 推荐配置
            1. **Tushare Token** - 用于获取中国股票数据
            2. **DeepSeek API 密钥** - 性价比高的国产大模型

            ## 入门指南
            1. 部署后，您可以在指定的域名访问应用程序
            2. 首次启动可能需要几分钟时间，因为系统需要初始化数据库和缓存
            3. 访问 `/config` 路径可以查看当前配置状态
