[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-2266":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":15,"stars30d":13,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":21,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":31,"readmeContent":32,"aiSummary":33,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":34,"discoverSource":35},2266,"genericagent-launcher","dhdbv-cbs\u002Fgenericagent-launcher","dhdbv-cbs","Desktop launcher for GenericAgent on Windows","https:\u002F\u002Fgithub.com\u002Flsdefine\u002FGenericAgent",null,"Python",132,14,108,3,0,2,6,50.43,"MIT License",false,"main",true,[25,26,27,28,29,30],"customtkinter","desktop","genericagent","launcher","python","windows","2026-06-12 04:00:14","# GenericAgent Launcher\n\n一个面向 [GenericAgent](https:\u002F\u002Fgithub.com\u002Flsdefine\u002FGenericAgent) 的桌面启动器。\n\n它不重新实现 GenericAgent 内核，而是把下载、配置、启动、聊天、渠道管理、远程设备接入和常用运维入口整理成一个更适合普通用户使用的桌面界面。当前公开发布面向 `Windows` 和 `macOS`。\n\n## 界面预览\n\n### 聊天主页\n\n![聊天主页预览](docs\u002Fscreenshots\u002Flauncher-chat.png)\n\n### 使用日志\n\n![使用日志预览](docs\u002Fscreenshots\u002Flauncher-usage-log.png)\n\n## 这个项目解决什么问题\n\n如果你直接使用上游 GenericAgent，通常还要自己处理这些事情：\n\n- 下载或同步项目源码\n- 准备 Python、Git 和渠道依赖\n- 维护 `mykey.py`、启动参数和运行目录\n- 管理聊天入口、渠道入口和远程设备\n- 处理 Windows 安装、升级和回滚\n\n这个仓库主要就是把上面这些“启动器层”的工作接住。\n\n## 下载\n\nRelease 页面：\n[Releases](https:\u002F\u002Fgithub.com\u002Fdhdbv-cbs\u002Fgenericagent-launcher\u002Freleases\u002Flatest)\n\n### Windows\n\n普通用户手动安装或升级，下载：\n\n- `GenericAgentLauncher-Setup-\u003Cversion>.exe`\n\n用于软件内更新识别的发布资产：\n\n- `GenericAgentLauncher-app-\u003Cversion>.zip`\n- `manifest.json`\n- `manifest.sig`\n- `sha256sums.txt`\n\n说明：\n\n- 手动安装只需要 `Setup.exe`\n- 其余 4 个文件是 Windows 启动器内部更新链路使用的资产，不是手动安装包\n- Windows 发布采用安装包 + 外部 `Updater` + 原子切换 + 自动回滚\n\n### macOS\n\n当前公开发布提供两个架构：\n\n- `GenericAgentLauncher-macos-arm64-\u003Cversion>.dmg`\n- `GenericAgentLauncher-macos-x86_64-\u003Cversion>.dmg`\n\n配套校验和说明资产：\n\n- `GenericAgentLauncher-macos-arm64-\u003Cversion>.sha256`\n- `GenericAgentLauncher-macos-x86_64-\u003Cversion>.sha256`\n- `README-macOS-arm64.txt`\n- `README-macOS-x86_64.txt`\n- `install-metadata-arm64.json`\n- `install-metadata-x86_64.json`\n\n说明：\n\n- `arm64` 面向 Apple Silicon Mac\n- `x86_64` 面向 Intel Mac\n- macOS 当前不支持应用内自动更新，只支持手动替换 `.app`\n- macOS 当前不提供 Apple Developer 签名和 notarization\n- 首次被 Gatekeeper 拦截时，先尝试启动一次，再到 `System Settings -> Privacy & Security -> Open Anyway` 放行\n\n## 当前能力\n\n- 图形化下载或定位 GenericAgent 项目目录\n- 首次启动自动准备 `mykey.py`\n- 聊天界面、会话管理、搜索、固定、删除、重命名\n- API 卡片配置、模型列表拉取、手动模型名输入\n- 启动器会话与渠道会话分离管理\n- 本机 \u002F 远程设备双入口侧边栏\n- 微信、Telegram、QQ、飞书、企业微信、钉钉等渠道配置\n- 微信扫码登录与重新绑定\n- 定时任务面板、执行记录与调度器启停\n- 局域网 Web 接口启停与自启动\n- VPS SSH 配置、连接测试、终端、一键 Docker 部署\n- Windows 内部更新、更新诊断与失败回滚\n- macOS 安装状态检查、手动升级说明与 dmg 安装提示\n\n## 普通用户快速开始\n\n### 1. 安装启动器\n\n- Windows：运行 `GenericAgentLauncher-Setup-\u003Cversion>.exe`\n- macOS：下载对应架构的 `.dmg`，把 `GenericAgent Launcher.app` 拖到 `\u002FApplications` 或 `~\u002FApplications`\n\n### 2. 准备 GenericAgent\n\n进入启动器后，你可以二选一：\n\n- 直接下载 GenericAgent\n- 定位已有的 GenericAgent 项目目录\n\n如果是已有目录，目标目录里通常应包含 `launch.pyw` 和 `agentmain.py`。\n\n### 3. 配置 API\n\n第一次进入如果没有可用渠道，启动器通常会引导到“设置 -> API”。\n\n基础流程：\n\n1. 新建 API 卡片\n2. 选择 API 格式\n3. 填写 URL、API Key、模型名\n4. 选择适配 GenericAgent 的模板\n5. 点击“仅保存”或“保存并重启内核”\n\n### 4. 开始聊天或接入渠道\n\n- 如果你只想直接聊天，进入聊天页即可\n- 如果你要接 Telegram、微信等渠道，去“设置 -> 通讯渠道”\n- 如果你要接远程设备或 VPS，去“设置 -> VPS \u002F 远程设备”\n\n## 平台差异\n\n### Windows\n\n- 安装目录：`%LocalAppData%\\\\Programs\\\\GenericAgentLauncher`\n- 数据目录：`%LocalAppData%\\\\GenericAgentLauncher`\n- 升级方式：支持软件内更新\n- 安全校验：`Ed25519 manifest 签名 + SHA256`\n- 失败保护：外部更新器 + 自动回滚\n\n### macOS\n\n- 推荐安装路径：`\u002FApplications\u002FGenericAgent Launcher.app`\n- 允许的用户级路径：`~\u002FApplications\u002FGenericAgent Launcher.app`\n- 数据目录：`~\u002FLibrary\u002FApplication Support\u002FGenericAgentLauncher`\n- 升级方式：下载新的 `.dmg` 后手动替换 `.app`\n- 当前限制：无内部更新、无 Apple Developer 签名、无 notarization\n\n## 依赖说明\n\n### 启动器本身\n\n如果你使用已经打包好的程序：\n\n- Windows 安装包用户不需要自己配置启动器的 Python 依赖\n- macOS `.app` 用户同样不需要手动配置 Qt 运行环境\n\n### GenericAgent 本体\n\n无论你使用 Windows 安装包、macOS `.app`，还是直接跑源码，GenericAgent 本体仍然依赖：\n\n- 系统 Python\n- Git\n\n部分通讯渠道还会有各自的 Python 依赖，例如：\n\n- `python-telegram-bot`\n- `qq-botpy`\n- `lark-oapi`\n- `wecom_aibot_sdk`\n- `dingtalk-stream>=0.20`\n\n是否需要安装这些依赖，取决于你是否真的启用对应渠道。\n\nmacOS 当前固定依赖系统 Python。启动器会优先尝试 `python` \u002F `python3`，并在 Finder 启动场景下补试常见 Homebrew 路径；如果你已有虚拟环境，也可以在启动器里手动指定 `venv\u002Fbin\u002Fpython`。\n\n## 从源码运行\n\n如果你要开发、调试或自行打包：\n\n```bash\npip install -r requirements.txt\npython launcher.py\n```\n\n## 打包\n\n### 版本真源\n\n发布前先更新：\n\n```text\nrelease\u002FVERSION\n```\n\nWindows 和 macOS 的发包流程都应以这个文件为准；如果显式传入版本参数，传入值也必须与它一致。\n\n### Windows 本地打包\n\n```bash\nbuild.bat\n```\n\n如果要在本地生成可用于内部更新的签名资产，可以先生成一套本地密钥：\n\n```bash\npython tools\u002Fgenerate_update_signing_keypair.py\n```\n\n默认会生成：\n\n- `local_keys\u002Fupdate_signing_private_key.pem`\n- `local_keys\u002Fupdate_signing_public_key.pem`\n- `update_public_key.pem`\n\n其中：\n\n- `local_keys\u002F` 已忽略，不会进 Git\n- `build.bat` 检测到本地 key 后会自动用于内部更新签名\n- `local_keys\u002Fupdate_signing_private_key.pem` 只用于 `manifest.json` \u002F `manifest.sig` 的内部更新签名，不是 Windows `exe\u002Finstaller` 的 Authenticode 程序签名私钥\n- 当前仓库默认打包链路不包含 `signtool` 或 Inno Setup 程序签名步骤；如果你看到 `build.bat` 成功，只能说明更新资产已签，不代表 Windows 主程序、`Updater.exe` 或 `Setup.exe` 已做程序签名\n- 正式发布不允许 unsigned manifest 兜底\n\nWindows 打包完成后，常见产物包括：\n\n- `release\u002F\u003Cversion>\u002Finstaller\u002FGenericAgentLauncher-Setup-\u003Cversion>.exe`\n- `release\u002F\u003Cversion>\u002Fupdate\u002FGenericAgentLauncher-app-\u003Cversion>.zip`\n- `release\u002F\u003Cversion>\u002Fupdate\u002Fmanifest.json`\n- `release\u002F\u003Cversion>\u002Fupdate\u002Fmanifest.sig`\n- `release\u002F\u003Cversion>\u002Fupdate\u002Fsha256sums.txt`\n\n### macOS 本地打包\n\n```bash\npython tools\u002Fbuild_macos_release.py --version \"$(python tools\u002Fresolve_release_version.py)\" --out release\n```\n\n说明：\n\n- 必须在 macOS 上执行\n- 当前产物是 GitHub 分发用的手动安装包\n- 不做 Apple Developer 签名和 notarization\n\n常见产物包括：\n\n- `release\u002F\u003Cversion>\u002Fmacos\u002FGenericAgent Launcher.app`\n- `release\u002F\u003Cversion>\u002Fmacos\u002FGenericAgentLauncher-macos-\u003Carch>-\u003Cversion>.dmg`\n- `release\u002F\u003Cversion>\u002Fmacos\u002FGenericAgentLauncher-macos-\u003Carch>-\u003Cversion>.sha256`\n- `release\u002F\u003Cversion>\u002Fmacos\u002FREADME-macOS.txt`\n- `release\u002F\u003Cversion>\u002Fmacos\u002Finstall-metadata.json`\n\n## 项目结构\n\n```text\nlauncher.py                        启动器统一入口\nlauncher_bootstrap.py              Windows 安装版稳定入口\nupdater.py                         Windows 外部更新器入口\nlauncher_app\u002F                      Qt 主界面、主题、共享后端 facade\nqt_chat_parts\u002F                     聊天前端拆分模块\nlauncher_core_parts\u002F               启动器后端拆分模块\nbridge.py                          启动器与 GenericAgent 内核之间的桥接层\ninstaller\u002F                         Inno Setup 安装脚本\nbuild.bat                          Windows 打包脚本\nGenericAgentLauncher.spec          Windows 主程序打包配置\nLauncherBootstrap.spec             Windows 启动入口打包配置\nUpdater.spec                       Windows 外部更新器打包配置\nGenericAgentLauncher.mac.spec      macOS PyInstaller 打包配置\nrelease\u002FVERSION                    当前发布版本真源\ntools\u002Fresolve_release_version.py   发布版本解析与一致性校验脚本\ntools\u002Fbuild_release_bundle.py      Windows 发布包与内部更新资产生成脚本\ntools\u002Fbuild_macos_release.py       macOS release bundle 生成脚本\n```\n\n## 协作建议\n\n如果你想参与维护：\n\n- 可复现 bug 优先提 `Issues`\n- 使用交流和方向讨论更适合提 `Discussions`\n- 想直接提交代码，请先看 [Contributing](CONTRIBUTING.md)\n\n## 社区友链\n\n本项目目前也在这个社区持续推广和交流：\n\n- [LINUX DO 社区友链，同时也指向本启动器教程贴](https:\u002F\u002Flinux.do\u002Ft\u002Ftopic\u002F1998596?u=dvdbv)\n\n## 致谢\n\n感谢 [GenericAgent 原作者 lsdefine](https:\u002F\u002Fgithub.com\u002Flsdefine\u002FGenericAgent)。\n\n本仓库只负责桌面启动器层，不替代上游 GenericAgent 本体。核心 Agent 能力、模型调用、工具执行和原生前端支持仍然来自上游项目。\n\n## License\n\n本仓库使用 [MIT License](LICENSE)。\n\n上游 [GenericAgent](https:\u002F\u002Fgithub.com\u002Flsdefine\u002FGenericAgent) 同样使用 MIT License，但两者仍然是不同仓库。分发本启动器时，建议同时保留对上游项目的致谢说明。\n","GenericAgent Launcher 是一个面向 GenericAgent 的桌面启动器，适用于 Windows 和 macOS 系统。它通过图形化界面简化了 GenericAgent 的下载、配置、启动及运维管理过程，包括聊天、渠道管理、远程设备接入等功能。项目采用 Python 编写，并利用 customtkinter 库构建用户界面，确保了良好的跨平台兼容性和用户体验。此工具特别适合希望在本地或远程环境中快速部署和使用 GenericAgent 的普通用户和技术人员，无需深入了解底层技术细节即可完成相关操作。","2026-06-11 02:49:11","CREATED_QUERY"]