83 Commits
Author SHA1 Message Date
mei df5165d4a3 fix 2026-08-13 14:56:02 +08:00
mei 868731c95e fix(drivers): rainyun run away 2026-08-13 14:50:08 +08:00
mei 6990166dfc feat(drivers): 新增雨云一键跑路 2026-08-13 14:46:43 +08:00
mei fa07a6f0e4 fix 2026-08-13 09:18:26 +08:00
mei d428a7db2e feat(drivers): 新增雨云工单 2026-08-13 09:13:10 +08:00
mei 8163d0d9d4 fix(README.md) 2026-08-02 20:59:30 +08:00
mei 3831950780 feat(drivers/fwalert): - 新增饭碗警告
- 将 msg 移入饭碗警告body中
2026-08-02 20:53:39 +08:00
mei 9220cf82aa feat(drivers): 饭碗警告(WIP) 2026-07-29 11:24:23 +08:00
mei 4a61527952 update: README 2026-07-28 22:46:51 +08:00
mei 48bb6b8864 fix(workflows) 2026-07-28 22:16:26 +08:00
mei 58b30fa41a update(tests) 2026-07-28 22:13:08 +08:00
mei 2d73157a60 feat(workflows): check 2026-07-28 22:12:17 +08:00
meiandClaude Fable 5 ce01604f13 ci: 新增发版流水线,构建产物上传 Release 并推送镜像到 ghcr
推送 v 开头的 tag 时自动执行:
- frontend: 前端只构建一次(含 vue-tsc 类型检查),产物由各平台共用,
  保证所有二进制内嵌的前端完全一致
- build: 交叉编译 linux/windows/darwin 的 amd64 与 arm64 共 5 个目标,
  打包时附带 README/LICENSE/docs
- release: 汇总产物、生成 checksums.txt、创建 Release(自动生成发布说明)
- docker: buildx 构建 amd64+arm64 镜像推送 ghcr,标签按 semver 展开

Dockerfile 改为交叉编译友好:前端与后端构建阶段固定在 BUILDPLATFORM,
用 TARGETARCH 做 Go 交叉编译,避免构建 arm64 镜像时 npm 与 go build
被丢进 QEMU 执行。同时补上 -trimpath。

只使用内置 GITHUB_TOKEN,无需额外 secret。

文档: 新增 docs/release.md,README 补充镜像拉取与二进制下载说明,
docker-compose 默认镜像改为 ghcr。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-27 07:38:44 +08:00
meiandClaude Fable 5 ae7082f13c feat: 管理员后台配置 + PostgreSQL 支持
管理员后台:
- User 新增 IsAdmin,第一个注册的用户自动成为管理员;
  老库升级时自动把最早注册的用户提升为管理员
- 新增 AdminMiddleware 与 /api/v1/admin/config 读写接口
- 可改开放注册、检查间隔、规则重试时长、日志保留条数,保存即生效
- 检查间隔改动后自动重排定时任务,为此把 cron 抽成 handler/scheduler
- 监听地址、数据库、会话密钥等启动项不开放,接口只返回只读展示
- 设置页新增"系统配置"区块,仅管理员可见

PostgreSQL:
- 新增 database_driver / database_dsn 配置,默认仍为 sqlite
- postgres 用独立连接池(20/5/1h),sqlite 保持单连接避免写锁
- 启动时先 Ping,配置写错在启动阶段就报错而不是等到首次查询
- 支持 GOODBABY_DB_DRIVER / GOODBABY_DB_DSN 环境变量,
  只给 DSN 时自动按 postgres 处理

文档: 新增 docs/database.md(含 compose 示例与切换说明),README 补充管理员与数据库章节

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-27 07:17:16 +08:00
meiandClaude Fable 5 54d4fbe24a feat: 深色模式圆形揭示动画 + B 站私信规则
主题切换:
- 抽出 useTheme 全局单例,主题在挂载前初始化,登录页不再闪白底
- 用 View Transitions API 以点击点为圆心做圆形揭示;不支持的浏览器
  加 .no-vt 类退化为整页淡变,两者互斥避免揭示区露出过渡中的颜色
- 尊重 prefers-reduced-motion;过渡被浏览器跳过时静默降级为直接切换
- 主题按钮图标旋转切换

新规则:
- bilibili-private-message:向指定 UID 发送 B 站私信,
  发送者 UID 自动从账号 Cookie 读取

视觉打磨:
- 统计数字改为缓出计数动画,等宽数字避免跳动时抖动
- 补 :focus-visible 焦点环

说明:当前 SDK 未提供视频投稿接口,无法支持定时投稿视频,
详见 docs/bilibili-config.md。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 23:15:02 +08:00
meiandClaude Fable 5 f8c6115737 feat(web): 移动端适配
- 侧边栏在窄屏改为抽屉:汉堡按钮唤起、遮罩点击关闭、切换路由自动收起
- 页头纵向排列,操作按钮与筛选控件撑满一行
- 对话框改用视口百分比宽度,表单标签改为顶部对齐,内容区限高可滚动
- 表格隐藏次要列并把操作列固定在右侧,仍可横向滚动查看全部
- 仪表盘倒计时环与信息上下排列,统计卡改两列
- 分页器在窄屏收缩为精简布局
- 输入框字号提到 16px,避免 iOS Safari 聚焦时自动缩放
- 新增 useIsMobile composable 处理 CSS 覆盖不到的部分

顺带修复汉堡按钮在桌面端未隐藏:.menu-btn 与后声明的 .icon-btn
特异性相同被覆盖,改用 .icon-btn.menu-btn 复合选择器。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 22:57:52 +08:00
meiandClaude Fable 5 0d766020bc fix: 手动触发全部成功时被误报为失败
trigger 接口的 fails 是 nil 切片,无失败时序列化成 JSON null,
前端读 failed.length 抛异常并落入 catch 分支,把成功显示成"触发失败"。
改为初始化空切片,前端同时加空值兜底。

顺带修复 logstore.trim 用 First 查询保留位置,日志未超出保留条数时
返回 ErrRecordNotFound,导致每写一条日志都刷一行 gorm 警告。

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 22:34:29 +08:00
meiandClaude Fable 5 d5ede38848 chore: 补充 web/dist/.gitkeep 保证未构建前端时 go:embed 可编译
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 22:20:10 +08:00
meiandClaude Fable 5 79774070fc feat: 完善后端并新增 Vue3 WebUI
后端:
- 修复登录校验、DB 并发(单例+WAL+纯Go sqlite)、会话密钥持久化等核心缺陷
- 新增 Timer CRUD/签到/手动触发、执行日志、仪表盘、驱动元数据等 API
- 统一驱动接口: 带 context 的执行器、真实错误返回、敏感字段掩码、连通性测试
- 补全钉钉执行器; Timer 触发/提醒去重; 配置支持默认值与环境变量覆盖

前端:
- Vite+Vue3+TS+Pinia+Element Plus, 由驱动元数据动态渲染配置表单
- 登录/仪表盘(倒计时环)/定时器/规则/账号/日志/设置页面, 支持暗色模式
- 主题色 #66ccff, 信号波纹 logo, go:embed 单二进制部署

构建: Dockerfile 增加前端构建阶段; 补充各驱动配置文档

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-26 22:19:41 +08:00
mei 89e8b7fd66 feat: 完善账号配置验证器 2026-06-20 22:29:21 +08:00
mei 033fd91aa1 feat(internal): 账号配置验证器 2026-06-20 06:50:43 +08:00
mei 5da78f9deb refactor(internal): 分离runner 2026-06-19 18:47:36 +08:00
mei 7957a91609 refactor(handler): 重构runner及checker架构 2026-06-06 19:31:16 +08:00
mei 7c4fb1e1d8 fix 2026-06-06 15:25:38 +08:00
mei 821d4b2d53 chore: stop tracking data.db and apply gitignore 2026-06-06 15:24:51 +08:00
mei 189eab8a0a feat(checker): checker 2026-04-06 10:10:31 +08:00
mei 80e427d7c3 feat(api): 删除账号 2026-04-05 22:46:11 +08:00
mei 52dc548c53 feat(bilibili): bilibili login 2026-04-05 22:28:38 +08:00
mei 202f53915f fix: delete extra file 2026-04-05 10:38:19 +08:00
mei 6190a8853a feat: v2(Incomplete,very early version) 2026-04-05 10:36:22 +08:00
mei 2ab9e060eb update: README.md 2026-03-01 16:52:08 +08:00
mei 2321b5ec26 fix(sender/onebot): 修复onebot参数写反的问题 2026-03-01 15:45:26 +08:00
mei 4f305cfeda feat(sender/onebot): 新增onebot协议支持 2026-03-01 15:27:45 +08:00
mei e68d48e816 fix 2026-03-01 09:32:51 +08:00
mei 564e8a920b fix 2026-03-01 09:32:31 +08:00
mei ff949af529 update docker image version 2026-03-01 09:28:31 +08:00
mei 24630223a4 feat: 新前端 2026-03-01 08:56:32 +08:00
mei 0e689a3377 fix 2026-01-18 10:15:58 +08:00
mei bfb0fceb48 fix 2026-01-18 10:15:20 +08:00
mei eef983b1a5 fix 2026-01-18 10:13:47 +08:00
mei c66649c0ca fix 2026-01-18 10:09:53 +08:00
mei 0989fec5c1 fix:docker compose 2026-01-18 10:09:39 +08:00
mei 755d4f0369 feat: 钉钉机器人通知 2026-01-18 10:02:37 +08:00
mei 71d0e095c8 feat(internal/reminder): Signal提醒 2025-10-17 20:18:42 +08:00
mei 887d6c8618 update 2025-10-07 23:01:09 +08:00
mei 7e077b9bb3 update(README.md) 2025-10-07 21:21:05 +08:00
mei 3e31f86f26 update(.gitignore) 2025-10-07 20:09:18 +08:00
mei 98b193030c fix 2025-10-07 17:43:50 +08:00
mei 950e2fada5 feat(webui): 新增webui和状态查看接口 2025-10-07 15:01:33 +08:00
mei 0359e2a9d5 feat(internal/timermanger): timermanger 2025-10-07 14:49:00 +08:00
mei 869657c5e3 fix 2025-10-07 08:59:33 +08:00
mei 3161e9d3b6 fix: RainAPP 2025-10-07 08:19:46 +08:00
mei 48bf04d53a fix 2025-10-07 08:16:39 +08:00
mei 14d45784f1 fix: RainAPP 2025-10-07 08:16:07 +08:00
mei dba9e0194c fix: README 2025-10-07 08:01:28 +08:00
mei 9add069a93 update(README.md): RainAPP 2025-10-07 08:00:35 +08:00
mei 3ab2741b60 update(README.md) 2025-10-07 07:42:16 +08:00
mei ffa53ea6c2 feat(internal/bilibili): 二维码图片 2025-10-06 23:16:18 +08:00
mei 9e9ebbd9cc feat: docker 2025-10-06 23:02:29 +08:00
mei 93ffced38e update(README.md) 2025-10-06 22:21:03 +08:00
mei 3d326d5357 fix(main): fix 2025-10-06 22:16:35 +08:00
mei e2b68fef1e fix: 修复QQ存在的panic风险 2025-10-06 22:15:35 +08:00
mei a253e15e95 fix: ci 2025-10-06 21:38:52 +08:00
mei e99ff86798 feat: ci 2025-10-06 21:37:30 +08:00
mei ec4a91c3c9 fix: ci 2025-10-06 21:32:58 +08:00
mei 68bbe21f2d fix: correct .slsa-goreleaser.yml format and goos/goarch 2025-10-06 21:28:27 +08:00
mei 19ef3dded4 ci: fix 2025-10-06 21:25:01 +08:00
mei cc38c8a7bb ci: fix 2025-10-06 21:22:31 +08:00
mei debfbab446 feat: ci 2025-10-06 21:18:19 +08:00
mei 96eae187cb update(README.md) 2025-10-06 21:14:25 +08:00
mei 27f57a1371 fix: debug 2025-10-06 21:10:41 +08:00
mei 1d153274f4 feat: 基础信息 2025-10-06 21:05:06 +08:00
mei 5566c929c8 feat: 哔哩哔哩cookie过期告警 2025-10-06 20:23:46 +08:00
mei 5e7af981ad feat: 发送bilibili动态 2025-10-06 20:02:47 +08:00
mei d4ffc72c8b update(README.md) 2025-10-06 18:59:31 +08:00
mei f2285c2be0 feat(signal): 触发密钥验证 2025-10-06 18:57:53 +08:00
mei ef1040484d feat(internal/github): 触发时公开github遗言仓库 2025-10-06 18:44:49 +08:00
mei abc9c93b4e feat(pkg/github): Github遗言仓库
fix(internal/sendMail): 重试功能
2025-10-06 17:26:00 +08:00
mei 73cf96a3c4 feat: Debug mode 2025-10-06 17:18:44 +08:00
mei 6c14ad207f feat(internal/sendMail): 邮件报警 2025-10-06 17:14:54 +08:00
mei bbb726f98a fix: trigger into goroutine 2025-10-06 16:28:11 +08:00
mei 9e85c2dc4e feat: 配置文件加载功能 2025-10-06 16:23:56 +08:00
mei b7637724c3 Initial commit 2025-10-03 22:54:19 +08:00