# caesar-desktop-lab **Repository Path**: thiswind/caesar-desktop-lab ## Basic Information - **Project Name**: caesar-desktop-lab - **Description**: 凯撒密码 PySide6 课堂实验 + 智能体 README 剧本 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-26 - **Last Updated**: 2026-03-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
小小文本加密箱 像素风吉祥物 ## 小小文本加密箱 **caesar-desktop-lab** · Python · PySide6 对任意 **UTF-8** 文本做可逆字节变换,密文以 **Base64** 展示;窗口带像素风图标,适合课堂演练与智能体一键安装。 [Gitee 仓库](https://gitee.com/thiswind/caesar-desktop-lab)
### 界面预览

应用主界面截图:文本框、密钥参数 1–255、加密与解密按钮

输入任意原文 → 点「加密」得到 Base64 密文;解密时粘贴密文并保持相同密钥参数

--- ## 简介与克隆说明 本仓库设计为在 Gitee 上 **公开**:公开仓库下 `git clone` **不需要** Gitee 账号或密码。若克隆时仍被要求登录,多半是仓库被设成了私有,请维护者在 Gitee 改为公开(见文末「维护者」一句)。 --- ## 人类读者:怎么运行 1. 安装 Python 3.10+,并确保可用 `pip`。 2. 在本目录安装依赖: - **推荐**:`python3 -m venv .venv`,再执行 - Windows:`.venv\Scripts\activate` - macOS / Linux:`source .venv/bin/activate` 然后:`python -m pip install -r requirements.txt` - 若系统未限制全局 pip,也可直接:`python -m pip install -r requirements.txt` - **在中国大陆且下载很慢时**,可临时加清华镜像: `python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple` 3. 启动:`python main.py`(macOS / Linux 或 Windows 调试) 窗口与任务栏图标来自 `assets/app.ico`(随仓库提供)。 4. Windows 想减少黑窗:可用 `pythonw main.py`、`pyw -3 main.py`,或双击 `main.pyw`(依赖系统 `.pyw` 关联)。 --- ## 复制给 WorkBuddy / OpenClaw 的一句话 下面这段是给人类**直接复制粘贴**用的「指挥句」;具体命令在下一节 **「给智能体的安装剧本」** 里。 **安装时请发送:** ```text 请打开(或克隆)公开仓库 https://gitee.com/thiswind/caesar-desktop-lab ,阅读 README 里的「给智能体的安装剧本」,根据我当前操作系统逐步执行。克隆公开仓库时不要向用户索要 Gitee 账号或密码。若某一步失败,按 README 里的说明降级处理(尤其是桌面快捷方式)。最后请明确告诉我:项目目录路径、用哪条命令启动(若用了 venv,要写全 venv 里的 python/pythonw 路径)。 ``` **卸载时请发送:** ```text 请阅读仓库 https://gitee.com/thiswind/caesar-desktop-lab 的 README 中「给智能体的卸载剧本」,在我当前操作系统下按步骤执行,并在完成后告诉我删除了哪些路径。 ``` 若智能体已经打开你本机的克隆目录,可把「打开(或克隆)公开仓库 …」改成:「请阅读本仓库 README 中的「给智能体的安装剧本」……」。 --- ## 给智能体的安装剧本 > **受众**:OpenClaw、WorkBuddy、Cursor Agent 等自动化助手。请根据**当前操作系统**选择对应分支,在用户同意的前提下执行命令。 > **固定目录名**:项目克隆到用户主目录下的 `caesar-desktop-lab`(与卸载剧本一致)。 > **克隆与凭据(重要)**:本仓库以 **Gitee 公开仓库** 方式提供。**只读克隆 `git clone https://gitee.com/thiswind/caesar-desktop-lab.git` 在仓库为公开时不需要、也不应要求用户提供 Gitee 用户名或密码。** > - **禁止**向用户索取 Gitee 登录密码或私人令牌来完成克隆。 > - 若 `git clone` 失败并提示需要认证,说明远程可能仍为**私有**或 URL 错误:请明确告知用户「需由维护者将仓库改为公开」,**不要**让用户把密码发给你。 > - 为避免交互式卡住,克隆命令建议使用非交互环境变量(见下方示例中的 `GIT_TERMINAL_PROMPT=0`;Windows PowerShell 用 `$env:GIT_TERMINAL_PROMPT = '0'`)。 > **快捷方式**:部分环境无法在用户桌面创建 `.lnk` / `.desktop`;若失败,完成克隆与 `pip install` 即可,并告知用户如何运行 `main.py`。 > **中国大陆网络**:若 `pip` 明显缓慢或失败,再按下文「可选」为国内 PyPI 镜像;勿对境外网络默认改源。 ### 0. 识别平台 - 若在 **Windows**(`os.name == 'nt'` 或存在 `WINDIR` 环境变量),执行 **「Windows」** 小节。 - 若在 **macOS**,执行 **「macOS」** 小节。 - 若在 **Linux** 或其它 Unix,执行 **「Linux」** 小节。 ### 1. 检查 Git 执行 `git --version`。若失败:提示用户安装 Git(Windows 可从 获取;也可用 `winget install Git.Git` 等,以用户环境为准),安装完成后重新执行本剧本。 ### 2. 检查 Python 与 pip 执行 `python3 --version` 或 `python --version`(Windows 上可再试 `py -3 --version`)。需 **Python 3.10+**。 执行 `python3 -m pip --version` 或 `python -m pip --version`(Windows 若 `python` 不可用,再试 `py -3 -m pip --version`)。若失败,引导用户修复 Python 安装(勾选 pip)或使用 `python -m ensurepip`。 后续安装依赖时,**与通过版本检查的解释器保持一致**(例如 Windows 上若只用 `py -3` 能通过检查,则使用 `py -3 -m pip install -r requirements.txt`)。 ### 3. 克隆仓库(公开仓库、无需 Gitee 密码) **HTTPS 克隆地址**:`https://gitee.com/thiswind/caesar-desktop-lab.git`(若 fork 本仓库,请改成你自己的公开地址)。 **Windows(PowerShell 示例)** ```powershell $env:GIT_TERMINAL_PROMPT = '0' $dest = Join-Path $env:USERPROFILE "caesar-desktop-lab" if (Test-Path $dest) { Set-Location $dest if (Test-Path .git) { git pull } else { Set-Location ..; Remove-Item -Recurse -Force $dest; git -c credential.helper= clone https://gitee.com/thiswind/caesar-desktop-lab.git $dest; Set-Location $dest } } else { git -c credential.helper= clone https://gitee.com/thiswind/caesar-desktop-lab.git $dest Set-Location $dest } python -m pip install -r requirements.txt ``` **macOS / Linux(bash 示例)** ```bash export GIT_TERMINAL_PROMPT=0 DEST="$HOME/caesar-desktop-lab" if [ -d "$DEST" ]; then cd "$DEST" || exit 1 if [ -d .git ]; then git pull; else cd .. && rm -rf "$DEST" && git -c credential.helper= clone https://gitee.com/thiswind/caesar-desktop-lab.git "$DEST" && cd "$DEST" || exit 1; fi else git -c credential.helper= clone https://gitee.com/thiswind/caesar-desktop-lab.git "$DEST" cd "$DEST" fi python3 -m pip install -r requirements.txt ``` (若系统只有 `python` 无 `python3`,请改用 `python -m pip`。) **(可选)中国大陆网络:为 pip 使用国内 PyPI 镜像** - **何时加**:用户或网络明显在中国大陆,且 `pip install` **很慢、反复超时或失败**时再使用;**不要**默认给境外网络改源。 - **做法(仅本次安装生效,不改全局配置)**:在原有 `pip install` 命令末尾增加 `-i` 与镜像地址,例如清华源: `python -m pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple` 其它常用镜像(任选其一即可):阿里云 `https://mirrors.aliyun.com/pypi/simple/`、中科大 `https://pypi.mirrors.ustc.edu.cn/simple/`。 - Windows / macOS / Linux 命令相同;若在 **venv** 里安装,请用该 venv 下的 `python -m pip … -i …`。 - 若用户明确要求**长期**默认走国内源,可再执行 `pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple`(需用户知情同意)。 **若 `pip install` 报错 externally-managed-environment(常见于 Homebrew Python)**:在项目目录执行 `python3 -m venv .venv`(Windows 可用 `py -3 -m venv .venv`),再使用 `.venv/bin/python -m pip install -r requirements.txt`(Windows 为 `.venv\Scripts\python.exe -m pip ...`)。**此后启动程序必须用同一 venv 里的解释器**,例如: - Windows:`"%USERPROFILE%\caesar-desktop-lab\.venv\Scripts\pythonw.exe"` + 工作目录为项目根,参数填 `main.py` 的绝对路径;或在项目目录执行 `.venv\Scripts\pythonw.exe main.py`。 - macOS / Linux:`"$HOME/caesar-desktop-lab/.venv/bin/python" main.py`(无控制台窗口需求时可用 `python` 代替 `pythonw` 的等价物按系统而定)。 桌面快捷方式若已创建,应将 **`TargetPath` 改为上述 venv 内的 `pythonw.exe` / `python`**,不要仍指向系统全局 `pythonw`。 ### 4. (可选)桌面快捷方式 — 成功则做,失败则跳过 **Windows**:在能使用 PowerShell 且能访问用户桌面的环境中,可尝试用 `WScript.Shell` 创建 `.lnk`: 1. 解析 `pythonw.exe` 路径:可执行 `where.exe pythonw` 或 `Get-Command pythonw`;若无,试 `pyw` 与 `where.exe pyw`。 2. `TargetPath` = 上一步得到的 `pythonw.exe`(或 `pyw.exe`);**若依赖装在项目内 `.venv` 里**,则改为 `"%USERPROFILE%\caesar-desktop-lab\.venv\Scripts\pythonw.exe"`。 3. `Arguments` = `"\caesar-desktop-lab\main.py"`(请展开为绝对路径并保留引号)。 4. `WorkingDirectory` = `\caesar-desktop-lab`。 5. `IconLocation` = `\caesar-desktop-lab\assets\app.ico`(仓库内已带多尺寸 Windows 图标)。 6. 快捷方式文件名建议:`文本加密实验.lnk`,放在 `[Environment]::GetFolderPath('Desktop')` 对应目录。 PowerShell 模板(需自行替换 `$PythonW` 与路径): ```powershell $WshShell = New-Object -ComObject WScript.Shell $Desktop = [Environment]::GetFolderPath('Desktop') $Shortcut = $WshShell.CreateShortcut("$Desktop\文本加密实验.lnk") $Shortcut.TargetPath = $PythonW $Shortcut.Arguments = "`"$env:USERPROFILE\caesar-desktop-lab\main.py`"" $Shortcut.WorkingDirectory = "$env:USERPROFILE\caesar-desktop-lab" $Shortcut.IconLocation = "$env:USERPROFILE\caesar-desktop-lab\assets\app.ico" $Shortcut.Save() ``` **macOS**:可向 `~/Desktop` 写入一个可执行的小脚本,调用 `python3 "$HOME/caesar-desktop-lab/main.py"`,并 `chmod +x`;或提示用户在访达中手动拖放创建别名。 **Linux**:可在 `~/Desktop` 创建 `.desktop` 文件,`Exec` 指向 `python3 /home/<用户>/caesar-desktop-lab/main.py`,并赋予可执行权限(具体路径按实际用户主目录填写)。 若任一步报错或与沙箱/权限冲突,**跳过本节**,并明确告知用户:已进入 `caesar-desktop-lab` 后运行 `pythonw main.py`(Windows)或 `python3 main.py` 即可。 ### 5. 安装完成检查 在 `caesar-desktop-lab` 目录执行一次 `python main.py`(或 Windows 无控制台用 `pythonw main.py` / `pyw -3 main.py`)。**若第 3 步使用了 venv**,此处应改为 `.venv\Scripts\python.exe main.py`(Windows)或 `.venv/bin/python main.py`(Unix)。应弹出图形窗口。若失败,根据报错检查 PySide6 是否安装成功、显示环境是否可用。 --- ## 给智能体的卸载剧本 > **受众**:同上。按平台删除**固定目录**与**固定名称的快捷方式**(若曾创建成功)。操作前请确认路径属于当前用户且用户授权删除。 ### 固定约定 - 项目目录:**`%USERPROFILE%\caesar-desktop-lab`**(Windows)或 **`$HOME/caesar-desktop-lab`**(macOS / Linux)。 - Windows 桌面快捷方式文件名:**`文本加密实验.lnk`**(若安装时用了其它名称,应与当时保持一致)。 ### Windows(PowerShell 示例) ```powershell $proj = Join-Path $env:USERPROFILE "caesar-desktop-lab" if (Test-Path $proj) { Remove-Item -Recurse -Force $proj } $desk = [Environment]::GetFolderPath('Desktop') $lnk = Join-Path $desk "文本加密实验.lnk" if (Test-Path $lnk) { Remove-Item -Force $lnk } ``` ### macOS / Linux(bash 示例) ```bash rm -rf "$HOME/caesar-desktop-lab" ``` 若安装剧本曾在桌面创建过启动脚本或 `.desktop` 文件,请删除**当时写入的同一文件名**。若无法确定,至少删除项目目录并告知用户自行移除桌面上的相关入口。 ### 说明 - 一般不卸载全局/用户级已安装的 `PySide6`,以免影响其它项目;若用户要求彻底清理,可再执行 `python -m pip uninstall PySide6`(谨慎)。 --- ## 维护者(仅此一句) 请在本仓库的 Gitee 页面:**管理 → 基本设置 → 是否开源**,将仓库设为 **公开**,这样学生与其它电脑用 `git clone` 时**不会**被系统要求输入 Gitee 账号密码。若保持私有,则 HTTPS 克隆必然需要有权账号登录,智能体无法代你绕过这一点。