feat: DeepSeek Web Adapter - Array platform integration with browser control panel

This commit is contained in:
DeepSeek-Web Adapter
2026-04-17 16:11:31 +08:00
parent 9a349dae8b
commit a6820b2cbb
12 changed files with 2527 additions and 0 deletions
+69
View File
@@ -0,0 +1,69 @@
"""
DeepSeek Web Adapter - 主入口
启动 Adapter 连接 Array 平台 + 控制面板
"""
import asyncio
import logging
import sys
import threading
import signal
from src.config import config
from src.adapter import DeepSeekWebAdapter
from src.admin_server import AdminServer
logging.basicConfig(
level=getattr(logging, config.log_level, logging.INFO),
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
handlers=[
logging.StreamHandler(sys.stdout),
logging.FileHandler("adapter_debug.log", encoding="utf-8"),
],
)
logger = logging.getLogger(__name__)
def main():
logger.info("=" * 60)
logger.info(" DeepSeek Web Adapter - 启动中...")
logger.info("=" * 60)
adapter = DeepSeekWebAdapter()
admin = AdminServer(adapter)
loop = asyncio.new_event_loop()
asyncio.set_event_loop(loop)
admin.set_adapter(adapter, loop)
admin_thread = threading.Thread(
target=admin.run,
kwargs={"host": "0.0.0.0", "port": config.admin_port},
daemon=True,
)
admin_thread.start()
logger.info(f"控制面板已启动: http://localhost:{config.admin_port}")
def shutdown(sig=None, frame=None):
logger.info("收到关闭信号,正在退出...")
loop.call_soon_threadsafe(loop.stop)
signal.signal(signal.SIGINT, shutdown)
signal.signal(signal.SIGTERM, shutdown)
logger.info("正在连接 Array 平台...")
try:
loop.run_until_complete(adapter.run())
except KeyboardInterrupt:
logger.info("用户中断,正在退出...")
except Exception as e:
logger.error(f"Adapter 运行异常: {e}", exc_info=True)
finally:
if adapter.session:
loop.run_until_complete(adapter.stop_deepseek_session())
loop.close()
logger.info("DeepSeek Web Adapter 已关闭")
if __name__ == "__main__":
main()