Local branch had diverged from origin/master (sibling commits on the same base). Rewrote local history linearly on top of origin/master, folding in all local content: exa/hot-platform discovery hunters, leaks ledger, nightly sweep orchestrator, updated .gitignore and skill docs, plus the latest hunt output and vault state. Remote-only files (vault keys, channel scripts) were restored rather than dropped, so the resulting tree is a full union of both sides.
1 line
9.9 KiB
JSON
1 line
9.9 KiB
JSON
{"repo": "buildsense-ai/cats-company", "files": {".env.example": {"3e9de19dc9a53800bee9a3be4f6394f02036ba8a": {"t": 1786068495.703604, "n": 9665, "h": "9a37cfd0bcf6a003", "c": "# CatsCompany Environment Configuration\n# Copy this file to deploy/.env and fill in your values\n\n# ============================================\n# Database Configuration\n# ============================================\nOC_DB_DRIVER=mysql\n# MySQL DSN is normally assembled by Docker Compose from the values below.\n# For PostgreSQL deployments, set OC_DB_DRIVER=postgres and provide a URL DSN.\n# OC_DB_DSN=postgres://catsco:replace-with-password@postgres.internal:5432/catsco?sslmode=prefer\nOC_DB_MAX_OPEN_CONNS=25\nOC_DB_MAX_IDLE_CONNS=10\nOC_DB_CONN_MAX_LIFETIME=30m\nOC_DB_CONN_MAX_IDLE_TIME=5m\n# Optional shared runtime for multi-instance bot body leases and Device RPC routing.\n# Leave empty for single-instance process-local mode.\nOC_RUNTIME_STORE=\nOC_REDIS_URL=\nOC_REDIS_KEY_PREFIX=catsco:dev\nCATSCO_NODE_ID=\n\nMYSQL_ROOT_PASSWORD=your-secure-root-password\nMYSQL_USER=openchat\nMYSQL_PASSWORD=your-secure-db-password\n\n# ============================================\n# Bot Credentials\n# ============================================\n# Password for the default AI assistant bot\nBOT_ASSISTANT_PASSWORD=your-secure-bot-password\n\n# API key for Xiaoba bot (if using)\nXIAOBA_BOT_API_KEY=\n\n# ============================================\n# LLM API Configuration\n# ============================================\n# OpenAI-compatible API endpoint\nLLM_API_BASE=https://api.openai.com/v1\nLLM_API_KEY=your-llm-api-key\nLLM_MODEL=gpt-3.5-turbo\n\n# Alternative: DeepSeek\n# LLM_API_BASE=https://api.deepseek.com/v1\n# LLM_MODEL=deepseek-chat\n\n# Alternative: Qwen (通义千问)\n# LLM_API_BASE=https://dashscope.aliyuncs.com/compatible-mode/v1\n# LLM_MODEL=qwen-turbo\n\n# ============================================\n# Security (Production)\n# ============================================\n# JWT secret for token signing\nJWT_SECRET=your-random-jwt-secret-at-least-32-chars\n\n# ============================================\n# Email Verification (Tencent Cloud SES)\n# ============================================\nTENCENTCLOUD_SECRET_ID=your-tencent-cloud-secret-id\nTENCENTCLOUD_SECRET_KEY=your-tencent-cloud-secret-key\nTENCENTCLOUD_REGION=ap-guangzhou\nTENCENT_SES_FROM_EMAIL=noreply@mail.catsco.cc\nTENCENT_SES_FROM_NAME=Cats Company\nTENCENT_SES_TEMPLATE_ID=174748\nTENCENT_SES_SUBJECT=Cats Company 注册验证码\n# Optional. Defaults to TENCENT_SES_FROM_EMAIL when empty.\nTENCENT_SES_REPLY_TO=\n\n# ============================================\n# Optional: User Feedback Notifications\n# ============================================\n# Reuse the same Feishu bot webhook as daily ops monitor if desired.\nFEISHU_WEBHOOK_URL=\nFEISHU_KEYWORD=cats-company\n# Optional override if feedback should be sent to a separate Feishu bot.\nFEEDBACK_FEISHU_WEBHOOK_URL=\nFEEDBACK_FEISHU_KEYWORD=\n# Optional. Used to turn /uploads/feedback/... into a full URL in Feishu.\n# Defaults to the current browser page origin when available.\nFEEDBACK_PUBLIC_BASE_URL=https://app.catsco.cc\n\n# ============================================\n# Optional: Device Connector Releases\n# ============================================\nCATSCO_DEVICE_CONNECTOR_VERSION=\nCATSCO_DEVICE_CONNECTOR_RELEASE_BASE_URL=\n\n# Required before cloud-managed custom model credentials can be saved.\n# Generate a random 32-byte value and encode it with base64. Never commit the value.\nCATSCO_MODEL_CONFIG_ENCRYPTION_KEY=\nCATSCO_BOT_MODEL_CLOUD_ENABLED=true\nCATSCO_BOT_MODEL_CLOUD_TEST_UIDS=\n# Artifact public_base_url values must use a different origin from CATSCO_PUBLIC_BASE_URL.\nCATSCO_ARTIFACT_NODES_JSON=\nCATSCO_ARTIFACT_NODES_FILE=\n\n# ============================================\n# SkillHub catalogue proxy\n# ============================================\n# Fixed upstream used by the authenticated WebApp catalogue proxy.\nCATSCO_SKILLHUB_BASE_URL=https://skillhub.catsco.fun:19990\nCATSCO_SKILLHUB_TIMEOUT_SECONDS=15\n\n# ============================================\n# Optional: Feishu Cloud Channel\n# ============================================\n# Enterprise self-built Feishu app used by CatsCo cloud.\nCATSCO_PUBLIC_BASE_URL=https://app.catsco.cc\nCATSCO_PUBLIC_WS_URL=wss://app.catsco.cc/v0/channels\nCATSCO_FEISHU_APP_ID=\nCATSCO_FEISHU_APP_SECRET=\n# Required for Dashboard Feishu QR readiness. This must be a real Feishu\n# native app/bot entry URL, and it must carry the CatsCo scene back through\n# {landing_url_encoded}, {oauth_url_encoded}, or {scene_key}.\n# Supports {scene_key}, {scene_key_encoded}, {app_id}, {app_id_encoded},\n# {landing_url}, {landing_url_encoded}, {oauth_url}, {oauth_url_encoded},\n# {entry_url}, {entry_url_encoded}.\nCATSCO_FEISHU_ENTRY_URL_TEMPLATE=\n# Must be configured in Feishu Open Platform -> Security Settings -> Redirect URL.\nCATSCO_FEISHU_OAUTH_REDIRECT_URI=https://app.catsco.cc/api/channel-agent-bindings/oauth/feishu/callback\n# Must be configured in Feishu Open Platform -> Events & Callbacks -> Request URL.\n# Request URL: https://app.catsco.cc/api/channels/feishu/events\n# Keep event encryption disabled for now; this endpoint accepts plaintext events.\nCATSCO_FEISHU_EVENT_VERIFICATION_TOKEN=\n# Optional; defaults to app secret when empty.\nCATSCO_FEISHU_OAUTH_STATE_SECRET=\n# Required in production if external channel adapters call /api/channel-agent-bindings/resolve.\nCATSCO_CHANNEL_BINDING_TOKEN=\n\n# ============================================\n# Optional: Weixin Official Account Channel\n# ============================================\n# Official Account app used by CatsCo cloud. Dashboard Weixin entry codes use\n# this app to generate parameter QR codes with scene_key.\n# CATSCO_PUBLIC_BASE_URL must be the public HTTPS origin for this deployment.\nCATSCO_WEIXIN_APP_ID=\nCATSCO_WEIXIN_APP_SECRET=\n# Must match Weixin Official Accounts Platform -> Basic Configuration -> Server Configuration.\n# URL: https://app.catsco.cc/api/channels/weixin/events\n# Token: same value as CATSCO_WEIXIN_EVENT_TOKEN\n# Message encryption: plaintext or compatible plaintext mode. AES-only mode is not enabled yet.\n# If QR image generation fails, check AppSecret, API permissions, and the Weixin IP allowlist.\nCATSCO_WEIXIN_EVENT_TOKEN=\n# Optional. Defaults to the official Weixin API and QR display endpoints.\nCATSCO_WEIXIN_API_BASE_URL=\nCATSCO_WEIXIN_QR_SHOW_BASE_URL=\n\n# Optional: Weixin ClawBot channel. This is separate from the official-account\n# channel above and uses the Weixin iLink bot authorization QR API.\n# Defaults: CATSCO_WEIXIN_CLAWBOT_ILINK_BASE_URL=https://ilinkai.weixin.qq.com\n# and CATSCO_WEIXIN_CLAWBOT_BOT_TYPE=3.\nCATSCO_WEIXIN_CLAWBOT_ILINK_BASE_URL=\nCATSCO_WEIXIN_CLAWBOT_BOT_TYPE=\nCATSCO_WEIXIN_CLAWBOT_QR_TIMEOUT_SECONDS=\nCATSCO_WEIXIN_CLAWBOT_WORKER_ENABLED=\nCATSCO_WEIXIN_CLAWBOT_WORKER_REFRESH_SECONDS=\nCATSCO_WEIXIN_CLAWBOT_LONGPOLL_SECONDS=\n# Optional: comma-separated media download hosts when iLink returns absolute CDN URLs.\n# Relative URLs and the configured iLink base host are allowed by default.\nCATSCO_WEIXIN_CLAWBOT_MEDIA_HOST_ALLOWLIST=\n# Optional: media-id download URL template if getupdates returns only file_id/media_id.\n# Supports {media_id}, {resource_id}, {resource_key}, and {file_id}.\nCATSCO_WEIXIN_CLAWBOT_MEDIA_DOWNLOAD_URL_TEMPLATE=\n\n# ============================================\n# Optional: Bot Deploy Integration\n# ============================================\n# Gauz Platform deploy API base URL.\n# Example (same host, different Docker Compose project):\n# DEPLOY_API_URL=http://host.docker.internal:8000\nDEPLOY_API_URL=\n\n# ============================================\n# Advanced Reader Proxy\n# ============================================\n# Internal advanced-reader base URL used by Cats backend only.\n# Example: http://127.0.0.1:28110\nADVANCED_READER_INTERNAL_URL=\n\n# Optional service-to-service request signing when advanced-reader auth is enabled.\nADVANCED_READER_CLIENT_ID=\nADVANCED_READER_CLIENT_SECRET=\n# ADVANCED_READER_CLIENT_SECRET_FILE=/run/secrets/advanced_reader_client_secret\n\n# Optional overrides.\nADVANCED_READER_SIGNING_PATH=/analyze\nADVANCED_READER_INTERNAL_TIMEOUT_SECONDS=300\nADVANCED_READER_PROXY_MAX_BODY_BYTES=104857600\n\n# ============================================\n# Image Generation Proxy\n# ============================================\n# Full OpenAI-compatible upstream generations URL. The public CatsCo endpoint\n# remains POST /v1/images/generations and accepts existing user or bot auth.\n# Prefer a server-only provider pool file with exactly three complete entries.\n# Clear it to use the\n# legacy single-provider variables below as a rollback path.\nCATSCO_IMAGE_UPSTREAMS_FILE=\nCATSCO_IMAGE_UPSTREAM_URL=\nCATSCO_IMAGE_UPSTREAM_API_KEY=\n# CATSCO_IMAGE_UPSTREAM_API_KEY_FILE=/run/secrets/image_upstream_api_key\nCATSCO_IMAGE_MODEL=gpt-image-2\nCATSCO_IMAGE_TIMEOUT_SECONDS=300\nCATSCO_IMAGE_RACE_DEADLINE_SECONDS=270\nCATSCO_IMAGE_RACE_BACKOFF_MS=750\nCATSCO_IMAGE_RACE_MAX_ATTEMPTS_PER_PROVIDER=2\nCATSCO_IMAGE_MAX_REQUEST_BYTES=1048576\nCATSCO_IMAGE_EDIT_MAX_REQUEST_BYTES=25165824\nCATSCO_IMAGE_MAX_RESPONSE_BYTES=41943040\nCATSCO_DREAMINA_WORKER_URL=\nCATSCO_DREAMINA_WORKER_TIMEOUT_SECONDS=150\n\n# Relay usage admin portal (internal). Empty whitelist disables the portal;\n# only these uid(s) can see/open the portal from the webapp.\nCATSCO_ADMIN_UID_WHITELIST=\n# Local relay admin URL (same host; never expose relay 18090 to the public).\nCATSCO_RELAY_ADMIN_URL=http://127.0.0.1:18090\n\n# Go module proxy for Docker builds.\n# If your cloud server cannot reach proxy.golang.org, use:\n# GOPROXY=https://goproxy.cn,direct\nGOPROXY=https://proxy.golang.org,direct\n\n# ============================================\n# Optional: SSL/TLS Certificates\n# ============================================\n# Place your certificates in deploy/nginx/ssl/\n# SSL_CERT=fullchain.pem\n# SSL_KEY=privkey.pem\n"}}}} |