{"id":51548177,"url":"https://github.com/yezihack/picslim","last_synced_at":"2026-07-09T20:31:45.578Z","repository":{"id":367082257,"uuid":"1279128213","full_name":"yezihack/picslim","owner":"yezihack","description":"picslim 一款基于 Wails 构建的跨平台桌面图片压缩工具，支持 Windows、Linux 和 macOS，兼容 AMD64 和 ARM64 架构。","archived":false,"fork":false,"pushed_at":"2026-06-24T12:34:36.000Z","size":264,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-24T14:16:12.081Z","etag":null,"topics":["desktop","go","image-processing","img","wails"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yezihack.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-24T11:57:55.000Z","updated_at":"2026-06-24T12:33:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yezihack/picslim","commit_stats":null,"previous_names":["yezihack/picslim"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/yezihack/picslim","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yezihack%2Fpicslim","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yezihack%2Fpicslim/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yezihack%2Fpicslim/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yezihack%2Fpicslim/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yezihack","download_url":"https://codeload.github.com/yezihack/picslim/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yezihack%2Fpicslim/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35312540,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-09T02:00:07.329Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop","go","image-processing","img","wails"],"created_at":"2026-07-09T20:31:45.499Z","updated_at":"2026-07-09T20:31:45.564Z","avatar_url":"https://github.com/yezihack.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 智能图片压缩器 (PicSlim)\n\n一款基于 Wails 构建的跨平台桌面图片压缩工具，支持 Windows、Linux 和 macOS，兼容 AMD64 和 ARM64 架构。\n\n## 界面预览\n\n![20260624200119](https://cdn.jsdelivr.net/gh/yezihack/assets/b/20260624200119.png)\n\n## 功能特性\n\n- **多格式支持**：JPEG、PNG、WebP\n- **智能压缩**：自动选择最佳压缩策略，收益守护（压缩后更大时保留原文件）\n- **预设模式**：高画质、均衡、高压缩三种预设\n- **批量处理**：支持递归扫描目录，批量压缩图片\n- **实时进度**：任务进度、ETA 计算、实时状态更新\n- **预览对比**：压缩前后图片并排展示，文件大小对比\n- **任务控制**：开始、暂停、继续、取消任务\n- **报告导出**：CSV 报告导出，Excel 兼容\n- **统计汇总**：总文件数、成功数、失败数、节省比例等统计指标\n\n## 系统要求\n\n### Windows\n\n- Windows 10/11\n- WebView2 运行时（Windows 11 已内置）\n\n### Linux\n\n- GTK 3\n- WebKit2GTK\n- libsoup 2.4\n\n安装依赖：\n\n```bash\nsudo apt-get install libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev libnspr4-dev libnss3-dev libasound2-dev\n```\n\n### macOS\n\n- macOS 10.15+\n- Xcode Command Line Tools\n\n## 下载安装\n\n从 [Releases](https://github.com/yezihack/picslim/releases) 页面下载对应平台的安装包：\n\n| 平台 | 架构 | 下载文件 |\n|------|------|----------|\n| Windows | x64 | `picslim-windows-amd64.zip` |\n| Windows | ARM64 | `picslim-windows-arm64.zip` |\n| Linux | x64 | `picslim-linux-amd64.tar.gz` |\n| Linux | ARM64 | `picslim-linux-arm64.tar.gz` |\n| macOS | Intel | `picslim-darwin-amd64.zip` |\n| macOS | Apple Silicon | `picslim-darwin-arm64.zip` |\n\n## 开发\n\n### 前置要求\n\n- Go 1.22+\n- Node.js 20+\n- pnpm 9+\n- Wails CLI\n\n安装 Wails CLI：\n\n```bash\ngo install github.com/wailsapp/wails/v2/cmd/wails@latest\n```\n\n### 本地开发\n\n```bash\n# 克隆项目\ngit clone https://github.com/yezihack/picslim.git\ncd picslim\n\n# 安装前端依赖\ncd frontend\npnpm install\n\n# 开发模式运行\nwails dev\n```\n\n### 构建\n\n```bash\n# 构建当前平台\nwails build\n\n# 构建指定平台\nwails build -platform windows/amd64\nwails build -platform windows/arm64\nwails build -platform linux/amd64\nwails build -platform linux/arm64\nwails build -platform darwin/amd64\nwails build -platform darwin/arm64\n```\n\n## 项目结构\n\n```\npicslim/\n├── frontend/                 # Vue3 前端\n│   ├── src/\n│   │   ├── components/       # Vue 组件\n│   │   ├── services/         # Wails API 封装\n│   │   ├── types/            # TypeScript 类型定义\n│   │   └── App.vue           # 主应用组件\n│   └── package.json\n├── internal/                 # Go 后端模块\n│   ├── app/                  # Wails 应用绑定\n│   ├── compressor/           # 图片压缩核心\n│   ├── config/               # 配置管理\n│   ├── dto/                  # 数据传输对象\n│   ├── events/               # 事件推送\n│   ├── httpapi/              # HTTP API 服务器\n│   ├── logx/                 # 日志模块\n│   ├── preview/              # 预览对比\n│   ├── report/               # 报告导出\n│   ├── retry/                # 重试机制\n│   ├── scanner/              # 文件扫描\n│   ├── scheduler/            # 任务调度\n│   └── task/                 # 任务管理\n├── main.go                   # 应用入口\n├── wails.json                # Wails 配置\n└── go.mod                    # Go 模块定义\n```\n\n## 技术栈\n\n- **后端**：Go 1.22, Wails v2, imaging (图片处理), ants (goroutine pool), zap (日志)\n- **前端**：Vue 3, TypeScript, Element Plus, Vite\n- **框架**：Wails (Go + WebView)\n\n## 配置说明\n\n应用支持以下配置项（环境变量）：\n\n| 配置项 | 默认值 | 说明 |\n|--------|--------|------|\n| `LOG_LEVEL` | `info` | 日志级别 |\n| `HTTP_PORT` | `8080` | HTTP API 端口 |\n| `ENABLE_LOCAL_HTTP` | `false` | 是否启用 HTTP API |\n\n## 许可证\n\nMIT License\n\n## 贡献\n\n欢迎提交 Issue 和 Pull Request！\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyezihack%2Fpicslim","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyezihack%2Fpicslim","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyezihack%2Fpicslim/lists"}