# TextScope **Repository Path**: pjt666/textscope ## Basic Information - **Project Name**: TextScope - **Description**: Python 文本与源码统计工具:wc.exe 命令、中文可点击工作台、本机 OCR、历史收藏、可选 AI 报告与多格式导出。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-11-02 - **Last Updated**: 2026-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # TextScope Python 编写的 Windows 文本与源码统计工具。提供题目要求的 `wc.exe`,以及支持鼠标操作的中文 Textual 工作台;本机 OCR、历史收藏、六种格式导出和可选 AI 报告共用统计结果。 - 课程:[26 软件技术基础](https://edu.cnblogs.com/campus/zjlg/26rjjc) - 作业:[WordCount 命令行文本计数统计程序](https://edu.cnblogs.com/campus/zjlg/26rjjc/homework/16722) - 作者:潘镜天,2024329301005 - 仓库:https://gitee.com/pjt666/textscope - 当前版本:v1.1.1 候选版。Windows x64 安装版与便携版见[发行版下载页](https://gitee.com/pjt666/textscope/releases/tag/v1.1.1-candidate)。 [详细作业报告与完整用法](docs/report/作业报告-发布版.md) · [AI 协作提示词整理](docs/report/AI协作提示词整理.md) · [截图和导出样例](docs/report/运行截图与导出说明.md) ## 使用 Windows 10/11 x64。安装版从开始菜单打开;便携版须整体解压,保留依赖目录。首次启动进入配置向导,后续恢复偏好。普通用户无需安装 Python。 ### 下载与安装 发行附件按平台单文件大小限制分卷。下载安装版或便携版的全部分卷,再按[合并与安装说明](release/合并与安装说明.md)还原并核对 SHA-256。不要混合两种包的分卷。安装包未经代码签名。 在程序所在目录打开 PowerShell: ```powershell .\textscope.exe ui .\wc.exe -c file.txt .\wc.exe -w file.txt .\wc.exe -s file.txt .\wc.exe -cws file.txt .\wc.exe --language mixed "中英混排.txt" .\wc.exe --code main.py .\wc.exe --help ``` `wc.exe` 一次一个文件;批量使用 `textscope.exe text stats a.txt b.txt`。工作台可以点击文本、源码、图片识字、历史、收藏和导出,也能在内置命令栏输入 `text stats file.txt`、`history`、`help`。内置命令栏不执行系统 Shell。 ## 功能与边界 | 功能 | 范围 | |---|---| | 文本统计 | 默认英文;可选中文、混排,字符、词、句子、词频和启发式体检 | | 源码统计 | Python、C/C++、Java、JavaScript/TypeScript、Shell、HTML、CSS、SQL | | 行分类 | 空白、纯代码、纯注释、混合四类互斥;含代码/含注释是可重叠派生项 | | 历史与收藏 | 哈希与结果快照;5 GiB 默认上限,80% 提醒,不自动删除 | | 本机 OCR | 图片识字后人工校正再分析,不静默转云端 | | AI 报告 | 默认关闭;统计先完成,每批完整预览确认后才发送 | | 导出 | Markdown、HTML、JSON、CSV、TXT、ZIP;不附带原始正文或独立 AI 正文 | | 界面 | 中文 Textual TUI、三套主题、可切换图标、独立桌面浮窗 | 字符按 UTF-8 解码后的 Unicode 码点计数,包含空格、BOM、原始 CR/LF。末尾换行不额外产生源码空白行。Python 用 AST 与 tokenize 严格检查,其余语言为 Pygments 词法估计,不能代替编译器。精确规则、实际截图与完整用法见报告。 AI 仅使用用户自行配置的服务,不复用 Codex 登录。密钥存于 Windows 凭据管理器,不进提示词和历史。配置服务会收到用户确认的内容与认证头。Nerd Fonts 缺字时在设置中切回 Unicode/ASCII;程序不自动安装字体。 ## 源码开发 使用 Python 3.12 x64 和独立虚拟环境,勿复制本机虚拟环境: ```powershell py -3.12 -m venv .venv .\.venv\Scripts\python.exe -m pip install -e ".[tui,zh-seg,text-health,desktop,ai-api,ocr,dev]" .\.venv\Scripts\python.exe -m textscope ui .\.venv\Scripts\python.exe -m pytest tests/unit/test_english_v1.py -q ``` 完整回归:`python -m pytest -q`;小改动只跑相关模块。源码安装需要可访问依赖源;离线运行请使用发行包。`dependencies/release` 保存构建依赖锁定清单,仓库不包含大型 wheel 缓存。OCR 模型和字典在发行时封装;不把缺少资源的源码环境称为离线可运行。构建工具中的默认工具路径来自原开发机,其他电脑需配置为本机路径并准备锁定的 wheel 和 Inno Setup。 ## 架构与验证 `domain` 负责规则,`application` 负责流程,`infrastructure` 负责外部能力,`interfaces` 负责 CLI/TUI/浮窗。内部 provider、renderer 和 action registry 支持替换实现,首版不加载用户插件。 ## 项目文件 | 路径 | 内容 | |---|---| | `src/textscope/` | 正式程序源码,按领域规则、应用流程、外部适配和用户界面分层 | | `tests/` | 单元、集成、界面与验收测试,以及使用的固定样例 | | `docs/report/` | 作业报告、运行截图、导出样例和报告清单 | | `benchmarks/` | 性能测量脚本和作业样例检查 | | `dependencies/release/` | Windows 发行版使用的依赖锁定清单 | | `packaging/`、`tools/release/` | 安装包配置、构建和发行辅助程序 | | `release/` | 分卷、校验文件、合并脚本和安装说明 | | `README.md`、`pyproject.toml`、`LICENSE` | 项目介绍、Python 配置与开源许可 | 最近完整自动化运行 546 项通过;之后源码保存导出修复的 21 项聚焦测试通过,最新冻结包 10 项自检通过。不同轮次有重叠,不相加。真实 AI 仅验证一个合成英文样本;更多模型、干净电脑和 PyCharm 仍需验证。 公开仓库保留按源码路径过滤的真实历史与 v0.1、v0.2、v0.3、v0.4.0、v0.5.0 标签。过滤排除了内部资料和机器专用文件,提交 ID 会与本地完整仓库不同,原作者、时间和说明保留。安装包未经代码签名。 许可证:项目代码采用 MIT;第三方依赖、模型和字体遵守各自许可。发行包包含相应第三方声明。