wenhao2020
V2EX  ›  MUSE

Muse2api 反代,支持热会话, Agent 调用

  •  
  •   wenhao2020 · 1h 24m ago · 91 views

    muse2api:把 muse.ai 网页版包装成 OpenAI 兼容 API 的异步网关

    发现一个刚创建几天的开源项目,思路挺有意思,分享一下。 教程整理不易,大家多多支持我,邀请码:D3XYWA 领取 10 亿 token ,部署此项目可以薅干赠送的 token

    项目简介

    muse2api 是一个异步网关,把 muse.ai 网页版的聊天、文生图、文生视频功能,暴露成标准的 OpenAI 接口(/v1/chat/completions、/v1/images/generations 等)。

    这意味着现有的 OpenAI 生态客户端——ChatGPT-Next-Web 、LobeChat 、Cherry Studio——只需要改个 base_url 就能直接用,OpenAI 的 Python SDK 也是一行代码的事:

    from openai import OpenAI
    client = OpenAI(base_url="http://localhost:18610/v1", api_key="<API_KEY>")
    
    架构亮点
    1. 可插拔驱动
    所有与上游 muse.ai 交互的方式被抽象在 MuseDriver 接口后面,目前有三种:
    mock:离线假数据,无需账号,方便联调和前端开发
    browser:Chromium + CDP ,一个账号一个 BrowserContext ,真实操作网页版
    http:直接协议驱动,预留位置(目前返回 501 )
    2. 账号池
    调度策略:lru / round_robin / affinity
    单账号并发限制
    失败自动冷却、过期 session 自动下线
    请求还没开始吐流时失败,自动换账号重试
    3. 全异步
    FastAPI + asyncio ,CDP 客户端走 websockets ,没有任何请求会阻塞线程。流式请求会先拿到第一个 chunk 再返回 200 ,所以"无可用账号"这类错误会以正常 HTTP 状态码返回,而不是断在半截流里。
    分层也很干净:协议层 / 服务层 / 账号池 / 驱动层职责单一,TODO.md 里把后续工作按"验证测试 → 驱动 → 协议 → 运维"排好了,CONTRIBUTING 也有,一看就是想长期做的。
    快速上手
    bash
    
    
    git clone https://github.com/www222fff/muse2api.git
    cd muse2api
    cp .env.example .env
    docker compose up -d --build
    默认监听 127.0.0.1:18610 。用真实账号的话,把 .env 里的 MUSE2API_DRIVER 设为 browser ,从已登录 muse.ai 的浏览器导出 cookie (至少需要 hatch_sess 、hatch_gw 、hatch_vml 、hatch_native_auth_device ),再走 Admin API 导入账号。
    isbase
        1
    isbase  
    PRO
       39 mins ago via iPhone
    看到近期对 musr 的各种使用“挖掘”

    突然想起一句话 😄
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2393 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 11:18 · PVG 19:18 · LAX 04:18 · JFK 07:18
    ♥ Do have faith in what you're doing.