帖子

  • dyhhhhh

    本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:

    - 我的帖子已经打上 开源推广 标签: 是

    - 我的开源项目完整开源,无未开源部分: 是

    - 我的开源项目已链接认可 LINUX DO 社区: 是

    - 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是

    - 以上选择我承诺是永久有效的,接受社区和佬友监督: 是

    以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出

    ChatGPT 官方 Voice 体验很好,但基本只能在官网浏览器里用。

    能力 |
    说明 |

    实时语音通话 |
    对接 ChatGPT Web /realtime/wm + WebRTC |

    通话中发文本 |
    DataChannel relay_message |

    通话中发图片 |
    服务端上传拿 file_id,再 DC 提交 sediment:// 指针 |

    自动打断 |
    麦克风能量检测 + action_request: stop_speaking |

    字幕 |
    解析 chat_message_delta |

    会话绑定 |
    voice_session_id 绑定固定账号 token,避免中途换号 |

    Docker 一键启动 |
    有 docker-compose.yml |

    架构很简单:```
    浏览器 (mic + WebRTC + DataChannel)
    ↓ /api/voice/session
    ↓ /api/voice/upload-image
    网关 (FastAPI + curl_cffi)
    ↓
    chatgpt.com (/realtime/wm + 媒体 + files)
    ```另外发现上游协议还有 摄像头、屏幕共享、非图片文件、client tools 等功能,不过free暂时不支持

    Demo:

    https://voice.peekcart.com/

    图片

    图片

    图片


    github.com

    图片

    GitHub - dyhhhhhh/chatgpt-web-voice: Reverse-engineered ChatGPT.com web voice...

    Reverse-engineered ChatGPT.com web voice (/realtime/wm + WebRTC + DataChannel). Drive live voice with a free web access_token from your own site — SDP proxy, in-call relay_message text/image, auto-interrupt. Demo: https://voice.peekcart.com/

    主楼
  • liu-linuxdo

    好东西,本来想做的,claude一直弄不好 ^-^

    #1
  • bailing258

    佬,这个tts能流式传输吗?还是一整段chunk最后返回的 ^-^

    #2
  • dyhhhhh

    流式的。 是 WebRTC 实时音频流 + DC 文本增量,不是整段 TTS 最后一次性返回。

    #3
  • dyhhhhh

    我用grok帮我的,grok挺不错的哈哈

    #4
  • dyhhhhh

    sol的声音真好听,天天跟她聊天 ^-^

    #5
  • XMWell

    一直还挺想问free账号的live的额度是多少呀 ^-^plus的live还能传文档嘛

    #6
  • dyhhhhh

    协议抓包free每天2小时左右,上传文档也是抓包发现的,但是官网似乎目前暂不支持,估计以后开放,还有视频通话,桌面共享 ,工具调用

    #7
  • Beert

    佬,RT和device_id怎么得到吖

    #8
  • dyhhhhh

    RT如果是注册机的话直接就有提取的,如果是自己的号抓 https://auth.openai.com/oauth/token 这个请求有返回

    {
    “access_token”: “eyJ…”,
    “refresh_token”: “rt_…” // 或类似长串
    // expires_in …
    }

    device_id两种方法:

    方法 A:浏览器

    - 打开 chatgpt.com(已登录)

    - F12 → Application → Cookies → chatgpt.com

    - 找 oai-did(有的环境名字接近 oai-device-id)

    - 或 Network 里任意 chatgpt.com 请求 → Request Headers → **oai->device-id: xxxxxxxx-xxxx-...

    方法 B:自己生成并固定

    device_id = 一个 UUID v4
    写入账号记录,之后每次请求都用同一个即可。

    #9
  • Beert

    牛呀牛呀,谢谢佬,学习一手哈哈!

    #10
  • dyhhhhh

    可以看我GitHub源码,都有体现

    #11
  • 貔貅巨口

    已严肃star demo体验很好!

    #12
  • LuckyE

    抽成服务端,并且封装成通用API 是否可行

    #13
  • dyhhhhh

    没问题,支持的,只要有想法直接二开就行

    #14
  • denvey

    这是很好啊,厉害了,有这个可以做很多事情了

    #15
  • dyhhhhh

    oai以后应该还支持视频通话和工具调用,以后应该可以一遍聊天一遍指挥codex写代码了 ^-^

    #16
  • denvey

    哈哈,是的,最理想的,在外面也能力聊天写代码,一个24小时的贾维斯,随时可以问和执行

    #17
  • Space-W

    我用 grok 二开了一版 go 语言的网关设计。封装了一些能力。

    github.com

    图片

    GitHub - Space3044/chatgpt-web-voice

    Contribute to Space3044/chatgpt-web-voice development by creating an account on GitHub.

    图片

    图片

    #18
  • oceanus

    有限额吗?一个账户够用吗?还是说需要弄号池才行?

    #19

发表回复

登录后回复