Skip to content
Aqiw-sourcePublic

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

AlgoArchive · 算法档案

本地优先的 Codeforces / AtCoder 竞赛题解管理工具

下载 Windows x64 压缩包

用一个本地工作空间整理比赛、题目和源代码。记录与代码都保存在当前电脑上,不上传、不自动提交,也不执行代码。

快速开始 · 功能 · 界面预览 · 数据与备份 · 验证状态

快速开始

  1. 下载并完整解压 AlgoArchive-Windows-x64.rar。
  2. 进入解压后的 AlgoArchive-Windows-x64\算法竞赛 文件夹。
  3. 双击 算法竞赛.lnk,或直接运行 启动.bat。
  4. 程序会启动本地服务并打开默认浏览器,默认地址为 http://127.0.0.1:8765。

不要直接在压缩包预览窗口中运行。请保留启动窗口;关闭窗口或按 Ctrl+C 即停止服务。

压缩包已经包含 Windows x64 Python 3.13.9 运行环境,不需要安装 Python、执行 pip、管理员权限或下载前端依赖。

快捷方式

算法竞赛.lnk 使用相对工作目录和相对图标。只要整体移动完整程序文件夹,快捷方式可以继续使用。

如需在桌面创建快捷方式,双击 创建桌面快捷方式.bat。移动程序目录后,在新位置重新运行一次即可修复桌面快捷方式。

不要只把 .lnk 单独移动到桌面,也不要修改 启动.bat、算法竞赛.ico 或 runtime 的名称。

功能

能力 说明
比赛归档 保存比赛标题、平台和官方链接,进入比赛后逐题添加代码
统一题库 比赛题目与单独添加的题目共享同一条记录和同一份源代码
平台视图 分别浏览 Codeforces、AtCoder 的比赛与题目
搜索筛选 按题目、编号、比赛、平台和代码语言快速定位
代码工作台 支持 C++、Python、Java 和其他文本文件,提供语法高亮、自动缩进、行号与快捷保存
链接去重 标准化官方题目链接,识别 Codeforces 的 contest 与 problemset 等价地址
数据安全 SQLite 元数据与独立源代码文件配合事务、恢复日志和版本冲突检查
本地运行 只监听 127.0.0.1,并校验 Host、Origin 和 CSRF 请求头

代码编辑器

  • 使用 Tab / Shift+Tab 缩进和反缩进。
  • 回车会根据当前行自动延续缩进。
  • 使用 Ctrl+S 保存,macOS 浏览器使用 Cmd+S。
  • 语言会同步切换源文件扩展名:.cpp、.py、.java 或 .txt。
  • 单道题目的源代码上限为 2 MiB。

代码编辑器只负责整理与保存源码,不包含编译、运行或在线判题功能。

界面预览

首页概览

查看比赛、题目和各平台数量,快速进入最近编辑的题目与比赛。

算法档案首页概览

题目与代码

在一个页面中维护题目元数据、比赛关联和源代码,保存后同步到所有入口。

算法档案题目与代码编辑界面

截图来自本项目的本地实例。

使用流程

  1. 在首页点击“新建比赛”,填写平台、标题和比赛链接。
  2. 进入比赛后点击“添加题目”,粘贴对应题目链接并填写编号或名称。
  3. 选择代码语言,粘贴或编写解答,然后保存。
  4. 在“全部题目”中按平台、比赛、语言或关键词筛选和查找。

比赛与题目的平台必须一致。同一道题目最多关联一场已保存比赛;取消关联只会移除比赛关系,不会删除题目或代码。

数据与备份

程序解压后的 data 目录是完整数据边界:

data/
├─ archive.sqlite3   # 比赛、题目和关联元数据
├─ codes/            # 实际源代码文件
└─ runtime.lock      # 运行实例锁与本地端口信息

源代码按题目唯一 ID 保存,避免题名变化、重名或 Windows 文件名限制导致文件覆盖。数据库只保存元数据和相对文件路径。

备份与恢复

  1. 关闭程序。
  2. 复制整个 data 文件夹。
  3. 恢复时先关闭程序,再用备份完整替换 data。

不要只备份 SQLite 数据库,也不要单独替换某个源代码文件,否则可能造成元数据与代码不一致。

删除规则

  • 取消关联:保留题目和代码,只移除所属比赛。
  • 删除比赛并保留题目:删除比赛,题目保留在“全部题目”中。
  • 删除比赛及题目:永久删除比赛下的题目记录和源代码文件。
  • 删除题目:永久删除题目记录和源代码文件。

删除操作不能在应用内撤销。执行前请确认重要代码已有独立备份。

压缩包结构

AlgoArchive-Windows-x64/
└─ 算法竞赛/
   ├─ 算法竞赛.lnk
   ├─ 算法竞赛.ico
   ├─ 启动.bat
   ├─ 创建桌面快捷方式.bat
   ├─ app.py
   ├─ web/
   ├─ runtime/
   ├─ data/
   ├─ tests/
   ├─ docs/screenshots/
   ├─ README.md
   ├─ TEST_REPORT.md
   └─ THIRD_PARTY.txt

后端使用 Python 标准库的 http.server 和 sqlite3;前端是原生 HTML、CSS 和 JavaScript,无构建步骤、CDN 或在线字体依赖。

验证状态

根据压缩包内的 TEST_REPORT.md,版本 1.0.0 的交付记录为:

  • Python 标准库回归测试 23 项通过。
  • jsdom 前端交互检查 20 项通过。
  • node --check web/app.js 通过。
  • 已覆盖统一题库、链接去重、语言切换、并发冲突、异常恢复、重启持久化和本地请求校验等场景。

自动化测试记录运行于 Linux 的 Python 3.12 与 jsdom 环境。Windows 10 / 11 x64 是目标平台,但当前交付记录不包含完整的 Windows 实机测试。真实界面已在 Chrome 中渲染并截图,其他操作系统和浏览器组合仍可能暴露未覆盖的问题。

已知边界

本版本不包含:

  • 在线抓取题目信息或自动同步提交记录。
  • 编译、运行、测试或在线判题。
  • 代码版本历史、账号系统或云端同步。
  • 批量导入、导出或自动备份。

Codeforces / AtCoder 页面链接需要网络才能打开,本地题库管理本身可以离线使用。

下载校验

文件名:AlgoArchive-Windows-x64.rar
大小:10,116,324 字节
SHA-256:C198AD0623148A2FC0AA843FDA0B433DCC14FF1DCA57C83ACFBF3AC3D7EC00A5

Windows 发布包内含官方 Windows x64 Python 嵌入式运行环境。第三方来源和许可证见压缩包内的 THIRD_PARTY.txt 与 runtime/LICENSE.txt。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages