From ad3d9ffb4ad4d4e21bf9e6ba13c7c9d100f9bbba Mon Sep 17 00:00:00 2001 From: arch3rPro Date: Wed, 17 Sep 2025 22:31:22 +0800 Subject: [PATCH] feat: add app trae-proxy --- apps/browser-use/README.md | 9 +++ apps/browser-use/data.yml | 24 ++++++ apps/browser-use/latest/data.yml | 11 +++ apps/browser-use/latest/docker-compose.yml | 84 +++++++++++++++++++++ apps/browser-use/logo.png | Bin 0 -> 3235 bytes apps/safeline/9.2.5/docker-compose.yml | 10 +-- 6 files changed, 133 insertions(+), 5 deletions(-) create mode 100644 apps/browser-use/README.md create mode 100644 apps/browser-use/data.yml create mode 100644 apps/browser-use/latest/data.yml create mode 100644 apps/browser-use/latest/docker-compose.yml create mode 100644 apps/browser-use/logo.png diff --git a/apps/browser-use/README.md b/apps/browser-use/README.md new file mode 100644 index 0000000..7ebd369 --- /dev/null +++ b/apps/browser-use/README.md @@ -0,0 +1,9 @@ +# Browser-Use + +WebUI:基于 Gradio 构建,支持大多数browser-use功能。该 UI 设计简洁易用,可轻松与浏览器代理进行交互。 + +扩展的 LLM 支持:我们集成了对各种大型语言模型 (LLM) 的支持,包括:Google、OpenAI、Azure OpenAI、Anthropic、DeepSeek、Ollama 等。我们计划在未来增加对更多模型的支持。 + +自定义浏览器支持:您可以使用自己的浏览器运行我们的工具,无需重新登录网站或进行其他身份验证。此功能还支持高清屏幕录制。 + +持久浏览器会话:您可以选择在 AI 任务之间保持浏览器窗口打开,从而让您查看 AI 交互的完整历史记录和状态 \ No newline at end of file diff --git a/apps/browser-use/data.yml b/apps/browser-use/data.yml new file mode 100644 index 0000000..b0e330b --- /dev/null +++ b/apps/browser-use/data.yml @@ -0,0 +1,24 @@ +name: Browser-Use +tags: + - 实用工具 + - AI + - 开发工具 +title: 让 AI 代理可以访问网站。轻松实现在线任务自动化 +description: + en: Make websites accessible for AI agents. Automate tasks online with ease + zh: 让 AI 代理可以访问网站。轻松实现在线任务自动化 +additionalProperties: + key: browser-use + name: Browser-Use + tags: + - Tool + - AI + - DevTool + shortDescZh: 让 AI 代理可以访问网站。轻松实现在线任务自动化 + shortDescEn: Make websites accessible for AI agents. Automate tasks online with ease + type: website + crossVersionUpdate: true + limit: 0 + website: https://browser-use.com/ + github: https://github.com/browser-use/browser-use + document: https://github.com/browser-use/browser-use diff --git a/apps/browser-use/latest/data.yml b/apps/browser-use/latest/data.yml new file mode 100644 index 0000000..67a5a6a --- /dev/null +++ b/apps/browser-use/latest/data.yml @@ -0,0 +1,11 @@ +additionalProperties: + formFields: + - default: "7788" + envKey: PANEL_APP_PORT_HTTP + label: + en: Port + zh: 端口 + required: true + type: number + edit: true + rule: paramPort diff --git a/apps/browser-use/latest/docker-compose.yml b/apps/browser-use/latest/docker-compose.yml new file mode 100644 index 0000000..29ae9e7 --- /dev/null +++ b/apps/browser-use/latest/docker-compose.yml @@ -0,0 +1,84 @@ +services: + # debug: docker compose run --rm -it browser-use-webui bash + browser-use-webui: + image: ghcr.io/browser-use/web-ui:latest # Using precompiled image + container_name: ${CONTAINER_NAME} + ports: + - "${PANEL_APP_PORT_HTTP}:7788" + - "6080:6080" + - "5901:5901" + - "9222:9222" + environment: + # LLM API Keys & Endpoints + - OPENAI_ENDPOINT=${OPENAI_ENDPOINT:-https://api.openai.com/v1} + - OPENAI_API_KEY=${OPENAI_API_KEY:-} + - ANTHROPIC_ENDPOINT=${ANTHROPIC_ENDPOINT:-https://api.anthropic.com} + - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-} + - GOOGLE_API_KEY=AIzaSyAEOcI44RQMQgbhoZvS3_XCAGqNXoPi3xQ + - AZURE_OPENAI_ENDPOINT=${AZURE_OPENAI_ENDPOINT:-} + - AZURE_OPENAI_API_KEY=${AZURE_OPENAI_API_KEY:-} + - AZURE_OPENAI_API_VERSION=${AZURE_OPENAI_API_VERSION:-2025-01-01-preview} + - DEEPSEEK_ENDPOINT=http://192.168.123.216:8100 + - DEEPSEEK_API_KEY=LxtexOrHmp/eGgnEjk8GRe245K7+/rLy912xg8kSuOOHI/eBnF9IonoZI6/n4xlj + - OLLAMA_ENDPOINT=${OLLAMA_ENDPOINT:-http://localhost:11434} + - MISTRAL_ENDPOINT=${MISTRAL_ENDPOINT:-https://api.mistral.ai/v1} + - MISTRAL_API_KEY=${MISTRAL_API_KEY:-} + - ALIBABA_ENDPOINT=${ALIBABA_ENDPOINT:-https://dashscope.aliyuncs.com/compatible-mode/v1} + - ALIBABA_API_KEY=${ALIBABA_API_KEY:-} + - MOONSHOT_ENDPOINT=${MOONSHOT_ENDPOINT:-https://api.moonshot.cn/v1} + - MOONSHOT_API_KEY=${MOONSHOT_API_KEY:-} + - UNBOUND_ENDPOINT=${UNBOUND_ENDPOINT:-https://api.getunbound.ai} + - UNBOUND_API_KEY=${UNBOUND_API_KEY:-} + - SiliconFLOW_ENDPOINT=${SiliconFLOW_ENDPOINT:-https://api.siliconflow.cn/v1/} + - SiliconFLOW_API_KEY=${SiliconFLOW_API_KEY:-} + - IBM_ENDPOINT=${IBM_ENDPOINT:-https://us-south.ml.cloud.ibm.com} + - IBM_API_KEY=${IBM_API_KEY:-} + - IBM_PROJECT_ID=${IBM_PROJECT_ID:-} + + # Application Settings + - ANONYMIZED_TELEMETRY=${ANONYMIZED_TELEMETRY:-false} + - BROWSER_USE_LOGGING_LEVEL=${BROWSER_USE_LOGGING_LEVEL:-info} + + # Browser Settings + - BROWSER_PATH= + - BROWSER_USER_DATA= + - BROWSER_DEBUGGING_PORT=${BROWSER_DEBUGGING_PORT:-9222} + - BROWSER_DEBUGGING_HOST=localhost + - USE_OWN_BROWSER=false + - KEEP_BROWSER_OPEN=true + - BROWSER_CDP=${BROWSER_CDP:-} # e.g., http://localhost:9222 + + # Display Settings + - DISPLAY=:99 + # This ENV is used by the Dockerfile during build time if playwright respects it. + # It's not strictly needed at runtime by docker-compose unless your app or scripts also read it. + - PLAYWRIGHT_BROWSERS_PATH=/ms-browsers # Matches Dockerfile ENV + - RESOLUTION=${RESOLUTION:-1920x1080x24} + - RESOLUTION_WIDTH=${RESOLUTION_WIDTH:-1920} + - RESOLUTION_HEIGHT=${RESOLUTION_HEIGHT:-1080} + + # VNC Settings + - VNC_PASSWORD=${VNC_PASSWORD:-youvncpassword} + + volumes: + - /tmp/.X11-unix:/tmp/.X11-unix + # - ./my_chrome_data:/app/data/chrome_data # Optional: persist browser data + restart: unless-stopped + shm_size: "2gb" + cap_add: + - SYS_ADMIN + tmpfs: + - /tmp + healthcheck: + test: ["CMD", "nc", "-z", "localhost", "5901"] # VNC port + interval: 10s + timeout: 5s + retries: 3 + networks: + - 1panel-network + labels: + createdBy: "Apps" + +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/browser-use/logo.png b/apps/browser-use/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6f4d8f56b7d99f64e85d3554181607a24668ab34 GIT binary patch literal 3235 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 LX{b@DW*7ZGn5Ppg literal 0 HcmV?d00001 diff --git a/apps/safeline/9.2.5/docker-compose.yml b/apps/safeline/9.2.5/docker-compose.yml index b0a0935..fb8a526 100644 --- a/apps/safeline/9.2.5/docker-compose.yml +++ b/apps/safeline/9.2.5/docker-compose.yml @@ -33,7 +33,7 @@ services: networks: 1panel-network: ipv4_address: ${SUBNET_PREFIX}.235 - image: chaitin/safeline-detector:9.2.4 + image: chaitin/safeline-detector:9.2.5 volumes: - ${SAFELINE_DIR}/resources/detector:/resources/detector - ${SAFELINE_DIR}/logs/detector:/logs/detector @@ -45,7 +45,7 @@ services: safeline-tengine: container_name: ${CONTAINER_NAME}-tengine restart: always - image: chaitin/safeline-tengine:9.2.4 + image: chaitin/safeline-tengine:9.2.5 volumes: - /etc/localtime:/etc/localtime:ro - /etc/resolv.conf:/etc/resolv.conf:ro @@ -69,7 +69,7 @@ services: networks: 1panel-network: ipv4_address: ${SUBNET_PREFIX}.237 - image: chaitin/safeline-luigi:9.2.4 + image: chaitin/safeline-luigi:9.2.5 volumes: - /etc/localtime:/etc/localtime:ro - ${SAFELINE_DIR}/resources/luigi:/app/data @@ -90,7 +90,7 @@ services: networks: 1panel-network: ipv4_address: ${SUBNET_PREFIX}.238 - image: chaitin/safeline-fvm:9.2.4 + image: chaitin/safeline-fvm:9.2.5 volumes: - /etc/localtime:/etc/localtime:ro logging: @@ -126,7 +126,7 @@ services: networks: 1panel-network: ipv4_address: ${SUBNET_PREFIX}.240 - image: chaitin/safeline-chaos:9.2.4 + image: chaitin/safeline-chaos:9.2.5 logging: options: max-size: 100m