不再猜测 "Wrong Answer" 的原因。直观对比,高效解题。
一款基于 Flutter 开发的现代化本地判题工具,专为解决 OpenJudge (POJ) 等平台反馈不明确、调试困难的问题而生。
在算法竞赛或日常练习(如 OpenJudge.cn)中,我们常因各种奇怪的原因收到 "Wrong Answer"。传统的调试方式往往需要肉眼比对或依赖简陋的命令行工具。
Clear Judge 提供了一个优雅的解决方案。它是一个运行在本地的判题器,能够抓取在线题库的测试数据,使用你本地的编译器/解释器运行代码,并提供 清晰的、可视化的 Diff 对比。
| 主界面与运行结果 | 清晰的 Diff 对比 |
|---|---|
![]() |
![]() |
| 评测中 | 暗色模式与自定义主题色 |
|---|---|
![]() |
![]() |
- 可视化 Diff 对比:不再遭受文本比对的痛苦。应用提供并排 (Side-by-side) 视图,高亮显示预期输出与实际输出的差异,包括空格、换行符及字符不匹配。
- 在线题库集成:支持直接浏览并获取在线题库(目前主要针对 OpenJudge)的题目与测试样例,一键开始调试。
- 高度可配置的运行器:无论你使用 Python, C++, Java 还是其他语言,只要可以通过命令行调用,即可通过自定义 Shell 命令配置判题逻辑。
- 完全的本地执行:代码和测试数据均在本地运行,保护隐私,且无需排队等待云端判题机。
- 个性化体验:支持明亮/暗黑模式切换,并可自定义应用主题色,让你在舒适的环境下编码。
| 平台 | 获取方式 | 状态 |
|---|---|---|
| Windows | GitHub Releases | ✅ 推荐 |
| Linux | GitHub Releases | ✅ 推荐 |
| macOS | 需要你的帮助 | 🚧 待构建 |
| Android / iOS | / | ❌ 不受支持* |
* 关于移动端:由于本应用核心功能依赖于
process_run调用系统底层的编译器或解释器(如 gcc, python 等)以及 Shell 环境,因此无法在 Android 和 iOS 沙盒环境中运行。
本项目使用 Flutter 构建,旨在实现一套代码多端运行(桌面端)。本项目使用 Provider 进行状态管理,使用 intl 进行国际化,使用
window_manager 实现沉浸式标题栏,使用 bot_toast 进行简单的弹出通知。
Clear Judge 是一个开源项目,欢迎任何形式的贡献,包括但不限于提交 Bug、修复代码或提出新功能建议。
如果你是有能人士,愿意为本项目贡献代码,请不要犹豫提交 Pull Request 吧!
觉得有些地方设计的不妥?同样欢迎分享设计。
由于开发者手头暂时没有 macOS 设备,目前无法提供 macOS 版本的构建包(.dmg 或 .app)。
Clear Judge 的代码理论上完全支持 macOS。如果你拥有 Mac 设备并配置了 Flutter 开发环境,非常欢迎你协助构建 macOS 版本
,或者贡献 Github Actions 的构建脚本。
- 克隆仓库:
git clone https://github.com/FuYnAloft/ClearJudge.git
- 安装依赖:
flutter pub get
- 生成代码(重要):
本项目依赖
freezed进行序列化和intl进行国际化,运行前必须执行代码生成:dart run build_runner build --delete-conflicting-outputs
- 运行调试:
flutter run -d windows # 或 linux / macos - 构建应用:
flutter build windows # 或 linux / macos
本项目基于 Apache-2.0 License 开源。详情请参阅 LICENSE 文件。



