feat: publish workphone SDK deployment and API docs

This commit is contained in:
Manus AI
2026-07-14 18:10:52 +08:00
commit 021d633cc1
534 changed files with 122391 additions and 0 deletions

109
sdk/docker-compose.nas.yml Normal file
View File

@@ -0,0 +1,109 @@
# 工作手机 SDK · 公司 NAS 一体化部署(不依赖宿主机 Mongo/Redis
# Container Manager 显示名05-业务网站-工作手机
# compose project name 默认取目录名 workphone-sdk勿显式指定 name避免与现存 project 冲突)
# 用法:在 NAS 或已同步本目录的机器上执行
# docker compose -f docker-compose.nas.yml up -d --build
#
# 默认端口8899控制台 /hub、API、WebSocket 同源)
# 访问http://<NAS_IP>:8899/hub
#
# 说明:
# - Mongo/Redis 仅加入 Docker 内网,不映射到宿主机公网端口,降低暴露面。
# - AI Brain 默认关闭;若公司有内网服务,设 AI_BRAIN_ENABLED=true 与 AI_BRAIN_API_URL。
# - 手机控制NAS 无 USB请用手机「无线调试 / adb tcpip」后在控制台或通过 adb connect 同一局域网设备。
services:
mongo:
image: mongo:7
container_name: workphone-mongo-nas
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: admin123
volumes:
- nas_workphone_mongo:/data/db
networks:
- workphone-nas
healthcheck:
test:
[
"CMD",
"mongosh",
"--quiet",
"mongodb://admin:admin123@127.0.0.1:27017/admin",
"--eval",
"db.adminCommand('ping')",
]
interval: 10s
timeout: 5s
retries: 6
start_period: 40s
redis:
image: redis:7-alpine
container_name: workphone-redis-nas
restart: always
command: ["redis-server", "--appendonly", "yes"]
volumes:
- nas_workphone_redis:/data
networks:
- workphone-nas
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 3s
retries: 5
workphone-sdk:
build:
context: .
dockerfile: Dockerfile
container_name: workphone-sdk-nas
restart: always
ports:
- "8899:8899"
environment:
- ENV=production
- MONGO_URI=mongodb://admin:admin123@mongo:27017/?authSource=admin
- MONGO_DB=workphone_sdk
- REDIS_URL=redis://redis:6379/1
- API_KEY=${API_KEY:-workphone-secret-key}
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY:-}
- ADB_SERVER_SOCKET=${ADB_SERVER_SOCKET:-}
- AI_BRAIN_ENABLED=${AI_BRAIN_ENABLED:-false}
- AI_BRAIN_API_URL=${AI_BRAIN_API_URL:-http://127.0.0.1:3102}
- AI_BRAIN_API_KEY=${AI_BRAIN_API_KEY:-}
- AI_BRAIN_DEFAULT_MODEL=${AI_BRAIN_DEFAULT_MODEL:-auto}
volumes:
- nas_workphone_data:/data
- nas_workphone_logs:/app/logs
# 工作台「开发文档」知识库:将 NAS 上的开发文档目录挂到容器内固定路径 /开发文档
# - /volume1/docker/workphone-docs/开发文档:/开发文档:ro
depends_on:
mongo:
condition: service_healthy
redis:
condition: service_healthy
networks:
- workphone-nas
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8899/health"]
interval: 30s
timeout: 10s
retries: 5
start_period: 90s
logging:
driver: json-file
options:
max-size: "50m"
max-file: "3"
volumes:
nas_workphone_mongo:
nas_workphone_redis:
nas_workphone_data:
nas_workphone_logs:
networks:
workphone-nas:
name: workphone-nas-network