AlloMate

开源项目

Stars Forks Watchers
0
Stars
0
Forks
1.0.0
Latest
38 KB
Repo Size

项目介绍

详细了解项目功能与使用方法

AlloMate

AlloMate 是一款基于 PySide6 开发的轻量级桌面分配与分组管理辅助工具。主要用于帮助教育工作者、项目协调员或活动组织者将特定对象(如学生、员工、参与者)随机分配到不同的目标区域或小组中,并支持多周期的平衡约束。

本软件通过图形化界面提供多维度的权重计算、容量限制和出勤保底控制,并支持生成结果的实时手动微调与多表 Excel 导出。

---

🛠️ 主要功能

- 支持为每个分组设定单独的“最大容量”(单次最大班额)。

- 支持设定“权重几率”,权重越高的分组在分配时被选中的概率越大。

- 支持设置“最少进入次数”与“最多进入次数”限制,尽量保证出勤频次均衡。

- 支持从外部 Excel (.xlsx) 或 CSV 文件一键导入名单。

- 导出功能通过后台异步线程(QThread)实现,避免导出大数据量时界面卡顿;导出的 Excel 文件包含一个“全景分配总览”主表以及各分组独立的数据子表。

---

📐 技术栈

---

🚀 快速开始

您可以通过以下两种方式使用 AlloMate:

选项一:直接下载二进制程序(推荐日常使用)

无需安装 Python 及相关开发依赖,直接下载打包好的可执行文件运行:

1. 打开 AlloMate Releases 页面

2. 下载后双击 AlloMate 即可启动程序。

---

选项二:从源码运行(适用于开发调试)

#### 1. 环境准备

确保您的系统已安装 Python 3.9 或更高版本。

#### 2. 安装依赖

克隆本仓库到本地,并在项目目录下运行以下命令安装必要的依赖包:

pip install PySide6 openpyxl

3. 运行程序

在终端或命令行中执行:

python main.py

---

📖 使用指南

1. 配置分组

- 进入 分组管理 页面,添加您需要的区域或小组名称,设定单次最大容纳人数以及分配权重。点击 “保存分组”。

2. 设定全局规则

- 进入 全局设置 页面。

- 输入或导入名单列表(支持直接选择 Excel/CSV 文件)。

- 设定分配周期和各区域的最少/最多进入次数等限制条件。

- 点击 “保存配置” 保存规则。

3. 微调与导出

- 策略保存后,系统会自动在 分配结果 页面生成方案。

- 若对局部随机结果不满意,双击对应单元格更换分组(例如将某个周期改为“轮空”或其他区域)。

- 确认无误后,点击 “导出 Excel” 保存为结构化的多工作表表格。

---

📂 项目结构

├── main.py                # 程序入口与主逻辑

├── AlloMate.json # 本地配置文件(启动后自动生成于 AppData/Config 目录)

├── AlloMate_history.json # 历史记录文件(启动后自动生成于 AppData/Config 目录)

└── README.md # 项目说明文档

---

📝 许可证与免责声明

```

核心特性

强大的功能,极致的体验

开源项目

完全开源,代码托管在 GitHub,欢迎贡献和反馈。

下载 AlloMate

选择适合您的安装方式

更新日志

持续迭代,不断进化

1.0.0 · 最新版本 2026-06-28

更新内容请查看 GitHub Releases

查看完整历史