Sign inSign up

orzg/lingti-bot

By orzg

•Updated 7 months ago

Image
0

1.3K

orzg/lingti-bot repository overview

根据 https://github.com/ruilisi/lingti-bot⁠ 构建

version: '3.8'

services:
  lingti-bot:
    # 使用您推送到 Docker Hub 的镜像
    image: orzg/lingti-bot:latest
    restart: unless-stopped
    volumes:
      # 挂载配置文件(只读模式,避免容器内修改)
      - ${HOME}/.lingti.yaml:/root/.lingti.yaml:ro
      # 持久化数据卷(存放数据库、浏览器配置等)
      - lingti-data:/root/.lingti
    environment:
      # 必须配置的 AI 提供商和 API Key(可在此处覆盖配置文件)
      - AI_PROVIDER=${AI_PROVIDER:-claude}
      - AI_API_KEY=${AI_API_KEY}
      # 可选:自定义 API 基础地址(如使用代理或本地模型)
      - AI_BASE_URL=${AI_BASE_URL:-}
      # 可选:指定模型名称(覆盖配置文件)
      - AI_MODEL=${AI_MODEL:-}

      # 以下为各聊天平台的环境变量,按需配置
      # Slack (Socket Mode)
      - SLACK_BOT_TOKEN=${SLACK_BOT_TOKEN:-}
      - SLACK_APP_TOKEN=${SLACK_APP_TOKEN:-}
      # Telegram
      - TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN:-}
      # Discord
      - DISCORD_BOT_TOKEN=${DISCORD_BOT_TOKEN:-}
      # 飞书/Lark
      - FEISHU_APP_ID=${FEISHU_APP_ID:-}
      - FEISHU_APP_SECRET=${FEISHU_APP_SECRET:-}
      # 钉钉 (Stream Mode)
      - DINGTALK_CLIENT_ID=${DINGTALK_CLIENT_ID:-}
      - DINGTALK_CLIENT_SECRET=${DINGTALK_CLIENT_SECRET:-}
      # 企业微信 (需配合云中继,或自建回调服务)
      # 其他平台可按需添加,详见官方文档

      # 可选:启用调试日志
      - DEBUG=${DEBUG:-false}
    # 默认命令为 router,即启动消息网关模式
    command: ["router"]
    # 如果需要以 MCP Server 模式运行,请将 command 改为 ["serve"]
    # 也可通过 docker-compose run 临时指定

  # 可选:Chrome 容器,用于浏览器自动化功能
  # 如果不需要浏览器工具,可注释掉此部分
  chrome:
    image: zenika/alpine-chrome:latest
    restart: unless-stopped
    command:
      - "--no-sandbox"
      - "--remote-debugging-address=0.0.0.0"
      - "--remote-debugging-port=9222"
    ports:
      - "9222:9222"   # 暴露调试端口,供 lingti-bot 连接
    # 如果需要持久化用户数据,可取消下面注释并创建卷
    # volumes:
    #   - chrome-data:/home/chrome

# 定义持久化卷
volumes:
  lingti-data:
  # chrome-data:   # 如果启用 Chrome 持久化,取消注释

.lingti.yaml

# ==================== lingti-bot 配置文件示例 ====================
# 文件位置:~/.lingti.yaml

# -------------------- AI 服务配置 --------------------
ai:
  # 默认 AI 提供商,可选值:deepseek, claude, openai, qwen, kimi 等(详见 AI-PROVIDERS.md)
  provider: deepseek
  # 对应提供商的 API Key(必填)
  api_key: "sk-xxxxxxxxxxxxxxxxxxxxxxxx"
  # 可选:指定模型名称(不填则使用默认模型)
  # model: "deepseek-chat"
  # 可选:自定义 API 基础地址(用于代理或本地模型)
  # base_url: "https://api.deepseek.com/v1"

  # 按平台/频道覆盖模型(可选)
  overrides:
    - platform: telegram
      provider: claude
      api_key: "sk-ant-xxxxxxxx"
      model: "claude-3-5-sonnet-20241022"
    - platform: slack
      channel_id: "C12345678"
      provider: openai
      api_key: "sk-xxxxxxxx"
      model: "gpt-4o"

# -------------------- 消息平台配置 --------------------
# 以下按需填写对应平台的 Token/ID
# 各平台详细配置请参考 docs/chat-platforms.md

slack:
  bot_token: "xoxb-xxxxxxxx"      # Slack Bot User OAuth Token
  app_token: "xapp-xxxxxxxx"       # Slack App-Level Token (Socket Mode)

telegram:
  bot_token: "xxxxxxxx:xxxxx"      # Telegram Bot Token

discord:
  bot_token: "xxxxxxxx"            # Discord Bot Token

feishu:
  app_id: "cli_xxxxxxxx"
  app_secret: "xxxxxxxx"

dingtalk:
  client_id: "xxxxxxxx"
  client_secret: "xxxxxxxx"

wecom:
  corp_id: "xxxx"
  agent_id: "1000002"
  secret: "xxxx"
  token: "xxxx"                    # 用于回调验证
  aes_key: "xxxx"                  # 用于消息加解密

# -------------------- 浏览器自动化配置 --------------------
browser:
  # Chrome DevTools Protocol 地址(可指向本地或容器内的 Chrome)
  # 格式: "host:port"  或  "ws://host:port/devtools/browser/<id>"
  cdp_url: "127.0.0.1:9222"        # 本地 Chrome(需以 --remote-debugging-port=9222 启动)
  # 若使用 Docker 中的 chrome 服务,则改为: "chrome:9222"

  # 截图默认尺寸(可选,默认 1920x1080)
  screen_size: "1920x1080"

  # 浏览器用户数据目录(可选,用于保存 Cookie/登录态)
  # 在 Docker 中需挂载卷,此处可指定容器内路径
  user_data_dir: "/root/.lingti-bot/browser"

# -------------------- 定时任务配置 --------------------
cron:
  # 时区(默认 local)
  timezone: "Asia/Shanghai"

  # 任务列表(可在运行时通过命令动态添加,也可在此预定义)
  jobs:
    - name: "morning-news"
      schedule: "0 9 * * *"        # 每天早上9点
      type: "prompt"               # prompt = AI 智能任务;message = 固定消息
      prompt: "搜索今天的 AI 新闻,整理成摘要发给我"
      platform: "telegram"          # 可选,指定发送到哪个平台
      channel_id: "-1001234567890"  # 可选,指定频道/群组

    - name: "drink-water"
      schedule: "*/30 * * * *"      # 每30分钟
      type: "message"
      message: "💧 该喝水了!"

# -------------------- 其他全局设置 --------------------
# 日志级别(silent, info, verbose, very-verbose)
log_level: "info"

# 调试模式(true/false)
debug: false

# 自动批准模式(true/false,慎用!)
auto_approve: false

Tag summary

Content type

Image

Digest

sha256:a611c006b…

Size

15.7 MB

Last updated

7 months ago

docker pull orzg/lingti-bot