MCPcopy Index your code
hub / github.com/beilunyang/moepush

github.com/beilunyang/moepush @v0.6.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.6.0 ↗ · + Follow
217 symbols 597 edges 102 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

MoePush Logo

MoePush

一个基于 NextJS + Cloudflare 技术栈构建的可爱消息推送服务, 支持多种消息推送渠道✨

在线演示

https://moepush.app

home

login

dashboard

特性

  • 📡多渠道支持 :支持钉钉、企业微信、Telegram 等多种消息推送渠道。
  • 🛠️简单易用 :提供简单的接口调用,支持多种消息模板,快速集成。
  • 💖开源免费 :基础功能完全免费使用,代码开源,欢迎贡献。
  • 🎨精美 UI :使用 shadcn/ui 组件库,提供精美 UI 设计。
  • 🚀快速部署 :基于 Cloudflare Pages 部署,免费且稳定。
  • 📦接口组功能 :支持创建接口组,一次性推送消息到多个渠道接口。

已支持渠道

  • 钉钉群机器人
  • 企业微信应用
  • 企业微信群机器人
  • Telegram 机器人
  • 飞书群机器人
  • Discord Webhook
  • Bark App
  • 通用 Webhook

技术栈

本地运行

  1. 克隆项目并安装依赖:
git clone https://github.com/beilunyang/moepush.git
cd moepush
pnpm install
  1. 复制环境变量文件:
cp .env.example .env

环境变量文件 .env 中需要配置以下变量:

  • AUTH_SECRET:加密 Session 的密钥
  • AUTH_GITHUB_ID:GitHub OAuth App ID
  • AUTH_GITHUB_SECRET:GitHub OAuth App Secret
  • DISABLE_REGISTER:是否禁止注册,默认为false,设置为 true 则禁止注册

  • 创建 wrangler.json 文件

cp wrangler.example.json wrangler.json
  1. 初始化本地数据库
pnpm run db:migrate-local
  1. 运行开发服务器:
pnpm run dev

访问 http://localhost:3000 查看应用。

部署

视频版保姆级部署教程

https://www.bilibili.com/video/BV1dtZBYnEUX/?p=2

GitHub Actions 自动部署

项目已配置 GitHub Actions 用于自动部署, 可以通过两种方式进行触发:

  • 推送新的 tag(格式:v*)会触发自动部署。例如:git tag v1.0.0 && git push origin v1.0.0
  • 手动触发工作流。前往 Actions 页面,点击 Deploy 工作流,点击 Run workflow 按钮即可。

部署前需要在 GitHub 仓库设置中添加以下 Secrets:

  • CLOUDFLARE_API_TOKEN:Cloudflare API Token
  • CLOUDFLARE_ACCOUNT_ID:Cloudflare Account ID
  • D1_DATABASE_NAME:D1 数据库名称
  • AUTH_SECRET:加密 Session 的密钥
  • AUTH_GITHUB_ID:GitHub OAuth App ID
  • AUTH_GITHUB_SECRET:GitHub OAuth App Secret
  • PROJECT_NAME:项目名称 (可选,默认:moepush)
  • DISABLE_REGISTER:是否禁止注册,默认关闭,设置为 true 则禁止注册

使用 Docker 部署

docker pull beilunyang/moepush
docker run -d -p 3000:3000 -v $(pwd)/.wrangler:/app/.wrangler -e AUTH_SECRET=<你的AUTH_SECRET> -e AUTH_GITHUB_ID=<你的AUTH_GITHUB_ID> -e AUTH_GITHUB_SECRET=<你的AUTH_GITHUB_SECRET> moepush

贡献

欢迎提交 Pull Request 或者 Issue来帮助改进这个项目

交流

关注公众号,了解更多项目进展以及AI,区块链,独立开发资讯 添加微信,备注 "MoePush" 拉你进微信交流群

支持

如果你喜欢这个项目,欢迎给它一个 Star ⭐️ 或者进行赞助

Buy Me A Coffee

许可证

MIT

Extension points exported contracts — how you extend this code

CloudflareEnv (Interface)
(no doc)
env.d.ts
EndpointGroup (Interface)
(no doc)
types/endpoint-group.ts
EndpointExampleProps (Interface)
(no doc)
components/endpoint-example.tsx
TemplateFieldsProps (Interface)
(no doc)
components/template-fields.tsx
UserNavProps (Interface)
(no doc)
components/user-nav.tsx
FunctionSelectorProps (Interface)
(no doc)
components/function-selector.tsx
EndpointGroupTableProps (Interface)
(no doc)
components/endpoint-group-table.tsx
EndpointGroupExampleProps (Interface)
(no doc)
components/endpoint-group-example.tsx

Core symbols most depended-on inside this repo

cn
called by 75
lib/utils.ts
toast
called by 35
components/ui/use-toast.ts
getDb
called by 21
lib/db/index.ts
useToast
called by 11
components/ui/use-toast.ts
dispatch
called by 5
components/ui/use-toast.ts
useFormField
called by 4
components/ui/form.tsx
isVariableSupported
called by 2
components/template-fields.tsx
addToRemoveQueue
called by 2
components/ui/use-toast.ts

Shape

Function 145
Interface 44
Class 17
Method 11

Languages

TypeScript100%

Modules by API surface

scripts/deploy.ts9 symbols
components/ui/use-toast.ts9 symbols
lib/utils.ts8 symbols
lib/services/endpoint-groups.ts8 symbols
lib/channels/base.ts8 symbols
components/endpoint-table.tsx8 symbols
lib/channels/feishu.ts7 symbols
lib/services/endpoints.ts6 symbols
components/endpoint-group-table.tsx6 symbols
components/channel-table.tsx6 symbols
lib/channels/dingtalk.ts5 symbols
components/endpoints-tabs.tsx5 symbols

For agents

$ claude mcp add moepush \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact