Skip to content

Repository files navigation

DiscordBot

DiscordBot 是一个面向私有自部署场景的 Discord + Codex CLI bridge。

它不是公共机器人平台,而是给愿意自己拉源码、自己填 token、自己在服务器或电脑上运行的人用的。

当前项目支持:

  • 浏览本机或服务器上的 Codex 会话历史
  • 把某条会话恢复成一个 Discord 频道窗口
  • 在恢复完成后的频道内继续和同一个 Codex session 对话
  • 云端执行、本地 relay 执行、云端 + 本地混合执行
  • 可选第二个控制 bot,用来切换模型、推理强度和 provider profile
  • 本地 relay 托盘模式

产品定位

这是一个 self-hosted private bot

  • 适合私人服务器或私人 Discord guild
  • 适合个人开发、私有研究、远程操控自己的 Codex CLI
  • 不以“公开安装给陌生用户”为目标

支持的部署模式

1. Cloud Only

主 bot 跑在服务器上,服务器本机同时安装:

  • Node.js
  • Codex CLI
  • Codex history

适合:

  • 只想让 Discord 操控服务器上的 Codex
  • 不需要把自己笔记本的本地 Codex 接进来

快速说明见 doc/quickstart-cloud.md

2. Hybrid

主 bot 跑在服务器上,本地电脑额外运行 local relay。

适合:

  • 既想用服务器上的云端 Codex
  • 又想让 Discord 远程操控自己电脑上的本地 Codex

快速说明见 doc/quickstart-hybrid.md

3. Local Only

bot 和 Codex CLI 都跑在同一台本地机器。

适合:

  • 单机使用
  • 本地测试
  • 不需要远程服务器

快速说明见 doc/quickstart-local.md

快速开始

1. 安装依赖

npm install

2. 运行首次初始化

npm run setup

它会做这些事:

  • 创建 data/
  • 创建 logs/
  • 创建 CodexWorkSpace/
  • 如果 .env 不存在,则从 .env.cloud-example 复制一份
  • 如果 scripts/local-relay.env.ps1 不存在,则从模板复制一份

3. 选择配置模板

项目提供三套 .env 模板:

  • .env.cloud-example
  • .env.hybrid-example
  • .env.local-example

把其中一份内容整理到你实际使用的 .env 里。

最少需要确认:

  • DISCORD_BOT_TOKEN
  • DISCORD_GUILD_ID
  • CODEX_HOME
  • CODEX_CLI_PATH
  • BRIDGE_DB_PATH

4. 跑健康检查

npm run doctor

5. 启动

开发模式:

npm run dev

生产模式:

npm run build
npm run start

首次成功连接 Discord 后,主 bot 会自动确保这些结构存在:

  • 云端活动分类
  • 本地活动分类
  • 云端入口频道
  • 本地入口频道
  • 控制频道

也就是说,只要名称配置正确,通常不需要你先手工创建这些频道。

目录说明

推荐部署目录结构:

discordbot/
  .env
  .env.cloud-example
  .env.hybrid-example
  .env.local-example
  data/
  logs/
  CodexWorkSpace/
  src/
  doc/
  scripts/

说明:

  • data/ 用于 bridge_state.sqlite 和本地镜像数据
  • logs/ 用于运行日志
  • CodexWorkSpace/ 是云端 Codex 的默认工作根目录

关键配置

通用

  • DISCORD_BOT_TOKEN
  • DISCORD_GUILD_ID
  • CODEX_HOME
  • CODEX_CLI_PATH
  • BRIDGE_DB_PATH

可选第二 bot

  • DISCORD_CODEX_BOT_TOKEN
  • DISCORD_ADMIN_USER_ID

Hybrid / Local Relay

  • LOCAL_RELAY_SECRET
  • LOCAL_RELAY_HOST
  • LOCAL_RELAY_PORT
  • LOCAL_MIRROR_ROOT

命令

主 bot:

  • /sessions
  • /search
  • /new
  • /open
  • /close
  • /rename
  • /retry
  • /stop
  • /runtime
  • /localstatus
  • /target
  • /project add
  • /project list

可选控制 bot:

  • /model
  • /reasoning
  • /provider
  • /providers
  • /provideradd
  • /provideredit
  • /providerdelete
  • /providerrefresh
  • /showconfig
  • /resetconfig

本地 relay

前台启动:

start-local-relay.cmd

托盘启动:

start-local-relay-tray.cmd

首次运行前请先编辑:

scripts/local-relay.env.ps1

相关说明见 doc/local-relay-setup.md

部署文档

  • doc/quickstart-cloud.md
  • doc/quickstart-hybrid.md
  • doc/quickstart-local.md
  • doc/config-reference.md
  • doc/discord-setup.md
  • doc/first-run-checklist.md
  • doc/server-deployment-v1.md
  • doc/local-relay-setup.md
  • doc/internal-notes.md

当前边界

当前版本重点还是私有自部署和会话窗口体验,不是公共机器人平台。

不在当前目标内的事项:

  • 公共 bot marketplace 分发
  • 多租户 SaaS
  • 面向陌生用户的一键托管安装

About

CodingBotForDiscord

Resources

Stars

4 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages