概览
约 4182 字大约 14 分钟
2025-11-25 14:24:16
在公平与随机的交汇处,SecRandom 矗立如灯塔
专为课堂、团队、活动等场景精心设计的抽取神器,让每一次选择都公平透明。
系统兼容性提示
重要提示:自 v1.3.1.5 版本起,SecRandom 已停止对 Windows 7 和 32位 系统的支持。我们强烈建议使用 Windows 10 或更高版本系统以获取后续功能和稳定更新。 Windows 7 和 x86 用户可前往此处下载和使用 v1.3.1.5 版本。
Linux 支持提示
自 2.0 大版本开始,SecRandom 将正式提供对 Linux 操作系统的支持,将提供适用于 x86 架构的 deb 格式程序包。
开源协议
SecRandom 本体基于 GNU GPL-3.0 协议开源。您可以自由使用、修改和分发本软件,但修改后的版本必须同样以 GPL-3.0 协议开源。
快速开始
它是什么?
SecRandom 是一款公平随机抽取系统,专为教育场景设计,采用智能动态权重算法确保每位成员获得公平的抽取机会。SecRandom 基于 Python 3.13.5 开发,使用 PySide6 + PySide6-Fluent-Widgets 构建 UI,采用 Microsoft Fluent Design 设计语言,集公平性、易用性、美观性于一体。
核心优势
- 零门槛操作:界面简洁直观,轻松完成随机抽取
- 多场景覆盖:点名/抽奖全覆盖,单人/多人/小组/性别抽取
- 算法保障:密码学级随机算法,智能动态权重确保公平
- 隐私保护:本地加密存储,数据不外泄且防恶意篡改
- 现代设计:仿 Win11 Fluent Design,简洁大气
适用场景
教学领域
- 课堂点名:随机选择学生回答问题,避免主观偏见
- 随机分组:公平分配小组任务,促进团队合作
- 提问抽奖:活跃课堂气氛,激发学生参与热情
企业活动
- 年会抽奖:公平分配奖品,增强活动趣味性
- 团队分组:随机组建项目团队,促进跨部门协作
- 福利分配:公平分配员工福利,体现企业关怀
其他场景
- 竞赛选拔:参赛选手出场顺序随机决定
- 活动组织:随机抽奖、幸运观众选取
- 公平机会分配:任何需要公平随机选择的场景
核心特性
抽取模式
点名模式
- 单人抽取:随机选择一名学生
- 多人抽取:一次抽取多名学生
- 小组抽取:按预设小组规则抽取
- 性别抽取:按性别条件精准抽取
抽奖模式
- 奖品权重设置:不同奖品可设置不同中奖概率
- 奖品池管理:灵活管理奖品信息
- 中奖结果展示:清晰展示中奖人员和奖品
快速抽取
- 悬浮窗抽取:随时呼出小型悬浮窗口进行快速抽取
- 快捷键支持:自定义快捷键,一键抽取
- 教学不中断:抽取过程不影响正常教学流程
智能设置
公平抽取算法
SecRandom 采用智能动态权重算法结合平均值差值保护机制,确保每位成员都能获得公平的抽取机会:
- 动态权重:被抽中次数越多,再次被抽中的概率越低
- 冷启动保护:新成员或长期未被抽中的成员不会因为权重过低而失去机会
- 平均值过滤:只允许抽取次数≤平均值的成员进入候选池
- 最大差距保护:当最大抽取次数与最小抽取次数差距超过阈值时排除极值
- 候选池大小保障:确保候选池不小于设定的最小人数
- 实时概率可视化:显示每位成员被抽中的概率,公平看得见
数据管理
名单管理
- 多名单支持:一份程序管理多个班级名单,操作更简便
- 名单导入:支持 Excel(.xls/.xlsx)、CSV 格式文件导入
- 名单导出:支持导出学生名单,方便备份和迁移
- 学生信息:姓名、学号、性别、分组、头像等完整信息
历史记录
- 完整记录:自动记录每次抽取的时间、结果
- 记录筛选:支持按时间、模式等条件筛选历史记录
- 自动清理:可设置自动清理过期记录
- 数据统计:抽取次数统计、权重分析
隐私安全
多重保护机制
- 密码保护:支持设置密码保护设置页面
- TOTP 双因素认证:支持基于时间的一次性密码
- USB 绑定:支持绑定 USB 设备作为安全验证
- 数据加密:敏感数据加密存储,防止恶意篡改
- 本地存储:数据永不外泄,完全掌控
用户体验
现代化设计
- 主题切换:浅色/深色主题自动切换,适应不同环境
- 流畅动画:精美的抽取动画体验
- 系统托盘:系统托盘常驻,方便快速访问
- 开机自启:Windows 系统支持开机自启,后台待命
语音播报
- Edge TTS:支持微软 Edge 语音引擎,语音清晰自然
- 本地语音:支持本地 pyttsx3 语音引擎
- 即时播报:抽取结果即时语音播报,全班知晓
软件集成
- ClassIsland 集成:支持与 ClassIsland 软件联动,实现更方便的点名结果显示
- IPC/URL 调用:支持通过 IPC/URL 接口调用,与其他软件无缝集成
快速开始
1. 下载安装
从下载页面获取最新版本,根据您的操作系统选择对应的安装包:
Windows 用户: 下载 .exe 安装包或 .zip 压缩包 来到下载界面,映入眼帘的有一个明亮且饱和的蓝色按钮”下载 Windows 版本”,如果您是Windows10及以上的系统并使用x64架构的处理器,直接点击,此时您的浏览器会自动开始下载。 等待下载完成后,打开下载的可执行文件,按照提示进行安装。
系统版本在Windows10以下? 在蓝色按钮的正下方大概一指宽的地方,您可以看到一个“更多下载▼”的文字,请移动您的鼠标指针到这一段文字上方,直到您的鼠标指针变成一个“伸出食指的右手”,此时左键单击这段文字,会出现一个下拉菜单,请向下滚动您的鼠标滚轮,找到倒数第二个选项:
Windows 旧版(支持 Windows 7),左键单击,您的浏览器会自动开始下载。 解压下载的压缩包,将压缩包解压到您想让软件长久停留的地方,您可以在解压后的文件夹中找到SecRandom.exe可执行文件,双击运行。系统架构为x86? 在蓝色按钮的正下方大概一指宽的地方,您可以看到一个“更多下载▼”的文字,请移动您的鼠标指针到这一段文字上方,直到您的鼠标指针变成一个“伸出食指的右手”,此时左键单击这段文字,会出现一个下拉菜单,请向下滚动您的鼠标滚轮,找到倒数第一个选项:
Windows 旧版(x86),左键单击,您的浏览器会自动开始下载。 解压下载的压缩包,将压缩包解压到您想让软件长久停留的地方,您可以在解压后的文件夹中找到SecRandom.exe可执行文件,双击运行。:::如何判断浏览器是否在下载并找到下载的文件 详见 :::
:::如何判断系统版本及处理器架构 详见 :::
:::如何解压压缩包 详见 :::
Linux 用户:下载 .deb 安装包
2. 启动程序
- Windows:双击
SecRandom.exe启动程序 - Linux:通过应用菜单或命令行启动
如果您是初次启动,会进入引导界面,我们点击居中靠下的“开始”按钮,即可进入引导。 语言设置 在引导界面,首先您需要设置语言,默认语言为中文,您可以根据需要选择其他语言。 许可协议&隐私声明 您需要仔细阅读许可协议,将许可协议的内容滚动到最下面,选中我已阅读并同意GPLV3许可协议,然后在上方选项卡里点击免责声明,将免责声明的内容滚动到最下面,选中我已阅读并同意免责声明,最后点击下方的“下一步”按钮,即可进入下一步。 数据迁移 如果您需要迁移数据。在引导界面,点击下方的“数据迁移”按钮,导入您的数据即可。如果您是第一次使用或者不需要迁移数据,直接点击下方的“下一步”按钮,即可跳过。 基本设置 在基本设置中,我们可以配置软件的一些显示或启动选项,
- 标签功能:若打开,会在抽取结果的下面显示标签。具体设置详见下文。
- 开机自启:若打开,软件将在系统启动时自动运行。
- 启动时显示主窗口:若打开,软件将在启动后显示主窗口。若关闭,软件只会显示一个悬浮窗,您可以在系统托盘图标上点击右键,选择“显示主窗口”来打开主窗口。
- 个性化:一些软件外观相关的东西,可以根据个人喜好进行调整。
名单设置
- 如果您是第一次使用,您需要设置班级,请点击第一行右边的“班级设置”按钮,输入您的班级名称,点击“确认”按钮。但如果您想设置多个班级,您可以换行输入多个班级名称,请确保每行只有一个班级名称。
- 在设置完班级名称后,我们在“选择班级”中选择您希望编辑学生名单的班级,如果您有电子版的花名册,您可以点击导入学生名单按钮,导入您的学生名单。若您没有学生名单或导入出现问题,您可以点击“设置姓名”按钮,手动添加学生名单。您可以通过换行来添加多个学生,但请确保每行只有一个学生姓名。
- 设置性别(可选):在设置姓名后,您可以点击“设置性别”按钮,为每个学生设置性别。您可以通过换行来添加多个学生的性别,但请确保每行只有一个学生的性别,并且这个性别与刚才您导入的学生名单是对应的。
- 设置小组:您可以设置每个学生所属的小组,您可以通过换行来添加多个学生所属的小组,但请确保每行只有一个学生对应的小组,并且这个小组与刚才您导入的学生名单是对应的。
- 标签设置:您可以通过导入功能导入标签,也可以直接设置每个学生的标签,通过换行来添加多个学生的标签,但请确保每行只有一个学生对应的标签,并且这个标签与刚才您导入的学生名单是对应的。
增强体验 TTS设置
- 语音功能开关:如果开启,软件在抽取结果时会通过语音播报结果。
- 语音引擎:您可以选择不同的语音引擎,不同的语音引擎可能会有不同的音色,不同的相应速度等,您可以自行调节。
- EdgeTTS语音角色:当您在“语音引擎”中选择EdgeTTS时,您可以选择不同的语音角色,您可以自行调节。
- 语速调节:您可以调整语音播报的速度,数值越大语速越快。
- 语音音量:您可以调整语音播报的响度,数值越大响度越大。
- 系统音量控制\大小:您可以调整系统音量的大小,数值越大音量越大。
音乐设置(在标题下方的第二个选项卡)
- 您可以自行导入音乐文件并设置不同操作进行中和结束后播放的音乐。您还可以设置音乐的渐入渐出时间。您也可以在上方“导入音乐”按钮的右侧选中音乐文件,点击“删除”按钮来删除。 ::: 术语 渐入渐出时间是指音乐在开始播放时从无声逐渐增加到设定音量(渐入),以及在结束播放时从设定音量逐渐减小到无声(渐出)的过程所需要的时间长度 :::
联动设置(在标题下方的第三个选项卡)
数据源选择: 可以选择不同的数据源来让软件根据课程表进行一些自动行为。
数据源 内容 CSES课程表 您手动导入的CSES课程表。 ClassIsland源 从ClassIsland获取课程表。 CSES课程表导入:点击“从文件导入”按钮,选择从其他课程表导出的文件(.yml/.yaml),点击“打开”按钮,就可以导入课程表。软件会根据课程表来进行一些自动行为,例如课间禁用等。
ClassIsland通知服务:在进行随机抽选时,软件会通过ClassIsland通知服务来显示抽取结果。您需要在ClassIsland中安装“SecRandom-Ci”插件和.NET 8.0运行时。
通知服务类型 效果 SecRandom 仅通过SecRandom软件来显示抽取结果 Classlsland 仅通过ClassIsland通知服务来显示抽取结果 SecRandom+Classlsland 同时通过SecRandom软件和ClassIsland通知服务来显示抽取结果 课间禁用功能:若开启,软件会根据课程表的时间线。在课间时段内进行抽取操作需要安全验证,防止学生乱动软件。
验证流程功能:启用后,在非上课时段触发时将弹出安全验证;若关闭则直接禁用控件
上课前提前解禁时间(下课后延迟禁用时间):设置相应的时间,用来适应老师提前备课或拖堂。
功能测试 单击开始测试按钮,如果软件的通知效果符合您刚才设置的效果,请点击下一步。
一切就绪 请点击 位于主界面中部的浅蓝色”开始使用”按钮!!位于主界面中部的浅蓝色”开始使用”按钮!!位于主界面中部的浅蓝色”开始使用”按钮!! 来关闭引导界面。
3. 导入名单
- 点击主界面右上角的"设置"按钮
- 选择"名单管理"
- 点击"导入名单"按钮
- 选择 Excel(.xls/.xlsx) 或 CSV 格式的学生名单文件
- 确认导入信息,完成名单导入
4. 配置参数(可选)
- 进入"设置"页面
- 根据需要配置抽取参数:
- 抽取模式(单人/多人/小组/性别)
- 抽取人数
- 是否启用动态权重
- 是否启用语音播报
- 主题设置等
5. 开始抽取
- 返回主界面
- 选择抽取模式(点名/抽奖)
- 设置抽取参数
- 点击"开始抽取"按钮
- 查看抽取结果
6. 查看历史记录
- 点击主界面的"历史记录"按钮
- 查看所有抽取历史
- 支持筛选和导出历史记录
系统要求
Windows
- 操作系统:Windows 10 或更高版本(不支持 Windows 7)
- 架构:x64(不支持 32 位系统)
- 推荐配置:4GB 内存以上
Linux
- 操作系统:主流 Linux 发行版(Ubuntu、Debian、Fedora 等)
- 架构:x64
- 注意:部分功能可能受限(如开机自启、某些系统级功能)
不支持
- macOS:暂不支持 macOS 系统
加入社区
- 官方网站:https://secrandom.sectl.top
- GitHub:给个 Star 支持我们
- QQ 交流群:833875216 点击加入
- B 站主页:关注我们
- 爱发电支持:支持项目开发
- 反馈建议:欢迎随时交流
让每一次随机都有温度,每一份公平都熠熠生辉!
零门槛上手 · 公平透明 · 隐私保护 · 现代美观
贡献者
更新日志
f0574-docs(ipc_url): 新增计时器窗口命令并调整动画速度 回调被本新搞坏的动画速度于
版权所有
版权归属:SECTL
许可证:CC BY-NC-SA 4.0
