{"id":49116896,"url":"https://github.com/dhdbv-cbs/genericagent-launcher","last_synced_at":"2026-05-02T16:01:39.711Z","repository":{"id":352568195,"uuid":"1214488650","full_name":"dhdbv-cbs/genericagent-launcher","owner":"dhdbv-cbs","description":"Desktop launcher for GenericAgent on Windows","archived":false,"fork":false,"pushed_at":"2026-04-24T09:50:18.000Z","size":627,"stargazers_count":76,"open_issues_count":3,"forks_count":8,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-25T12:02:24.542Z","etag":null,"topics":["customtkinter","desktop","genericagent","launcher","python","windows"],"latest_commit_sha":null,"homepage":"https://github.com/lsdefine/GenericAgent","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dhdbv-cbs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-04-18T16:40:44.000Z","updated_at":"2026-04-25T09:40:06.000Z","dependencies_parsed_at":"2026-04-25T12:00:35.420Z","dependency_job_id":null,"html_url":"https://github.com/dhdbv-cbs/genericagent-launcher","commit_stats":null,"previous_names":["dhdbv-cbs/genericagent-launcher"],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/dhdbv-cbs/genericagent-launcher","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhdbv-cbs%2Fgenericagent-launcher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhdbv-cbs%2Fgenericagent-launcher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhdbv-cbs%2Fgenericagent-launcher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhdbv-cbs%2Fgenericagent-launcher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dhdbv-cbs","download_url":"https://codeload.github.com/dhdbv-cbs/genericagent-launcher/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dhdbv-cbs%2Fgenericagent-launcher/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32540120,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["customtkinter","desktop","genericagent","launcher","python","windows"],"created_at":"2026-04-21T08:01:14.435Z","updated_at":"2026-05-02T16:01:39.687Z","avatar_url":"https://github.com/dhdbv-cbs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GenericAgent Launcher\n\n一个面向 [GenericAgent](https://github.com/lsdefine/GenericAgent) 的桌面启动器。\n\n这个项目不是重新实现一套智能体内核，而是给 GenericAgent 提供一个更适合普通用户上手的 Windows 桌面入口，把下载、配置、启动、聊天和常见设置集中到一个界面里。\n\n## 下载\n\n- 直接下载 exe：\n  [Releases / GenericAgentLauncher.exe](https://github.com/dhdbv-cbs/genericagent-launcher/releases/latest)\n\n如果你只是普通用户，优先使用 Release 页面里的 `GenericAgentLauncher.exe`。\n\n## 致谢\n\n感谢 [GenericAgent 原作者 lsdefine](https://github.com/lsdefine/GenericAgent)。\n\n本启动器建立在 GenericAgent 本体之上。上游项目负责核心 Agent 能力、模型调用、工具执行和原生前端支持；这个仓库主要负责桌面启动、配置整理和更直接的使用体验。\n\n## 社区友链\n\n- [LINUX DO](https://linux.do)\n\n## 当前功能\n\n- 图形化下载或定位 GenericAgent 项目目录\n- 首次启动自动准备 `mykey.py`\n- 卡片式 API 配置界面\n- 聊天界面、会话侧边栏、会话搜索、基础会话管理\n- 模型列表拉取和手动模型名输入\n- 通讯渠道设置\n  当前已接入：`微信`、`Telegram`、`QQ`、`飞书`、`企业微信`、`钉钉`\n- 设置页占位入口\n  当前保留：`定时任务`、`使用计数`、`关于`\n\n## 社区协作\n\n这个仓库希望按“可以被社区共同维护”的方向来整理，但目前仍以个人维护为主。\n\n如果你想参与：\n\n- 可复现 bug 请优先提 `Issues`\n- 想法、方向和使用交流更适合提 `Discussions`\n- 想直接提交代码，请先看 [Contributing](CONTRIBUTING.md)\n\n仓库公开后，建议开启：\n\n- `Issues`\n- `Discussions`\n- `Pull Requests`\n- 默认分支保护\n\n## 使用方式\n\n### 直接使用 exe\n\n如果你只是想使用启动器，直接运行：\n\n```text\ndist/GenericAgentLauncher.exe\n```\n\n这种方式下：\n\n- 不需要安装启动器自己的 Python 依赖\n- 不需要执行 `pip install -r requirements.txt`\n- 启动器界面依赖已经被打进 exe\n\n但仍需要注意：\n\n- GenericAgent 内核运行本身仍依赖系统 Python\n- 首次下载或接入上游项目时，建议系统中已安装 Git\n\n### 从源码运行\n\n如果你要开发、调试或自行打包：\n\n```bash\npip install -r requirements.txt\npython launcher.py\n```\n\n重新打包：\n\n```bash\nbuild.bat\n```\n\n## 为什么源码文件不多\n\n这个仓库现在已经拆成了明确的模块目录，不再维持“根目录大单文件”那种结构。\n\n它本身只负责“启动器”这一层，而不是把 GenericAgent 整个内核重新实现一遍。当前主要结构是：\n\n- `launcher.py`\n  启动器统一入口，开发运行和打包都从这里启动\n- `launcher_app/`\n  启动器主包，包含 Qt 主窗口、主题系统和共享后端 facade\n- `qt_chat_parts/`\n  聊天界面拆分模块，负责会话列表、导航、下载页、聊天渲染、设置页等\n- `launcher_core_parts/`\n  启动器后端拆分模块，负责配置、会话、token 统计、模型接口、运行时辅助等\n- `bridge.py`\n  启动器和 GenericAgent 内核之间的桥接层，负责进程通信和事件转发\n- `GenericAgentLauncher.spec`\n  PyInstaller 打包配置\n- `build.bat`\n  Windows 下的打包脚本\n\n也就是说：\n\n- 这个仓库“文件少”，不代表内容少\n- 现在主前端已经迁移到 Qt，不再以 Tk 为主架构\n- 真正的 Agent 能力、模型调用、工具执行和原生前端仍然来自上游 GenericAgent\n\n如果以后功能继续增加，仓库当然也可以再拆模块，但当前这种体量下，文件数量少本身并不是问题，关键是行为是否稳定、配置是否清晰、打包是否可靠\n\n## 依赖说明\n\n### 普通用户\n\n如果你只运行已经打包好的 `exe`：\n\n- 不需要安装启动器本身的 Python 依赖\n- 不需要手动配置 Qt 运行环境\n\n### GenericAgent 本体\n\n无论你使用 exe 还是源码，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`\n- 微信扫码链路相关依赖\n\n这些依赖是否需要安装，取决于你是否真的启用对应渠道。\n\n## 快速开始\n\n### 1. 获取本仓库\n\n```bash\ngit clone \u003cyour-repo-url\u003e\ncd genericagent-launcher\n```\n\n### 2. 启动器启动\n\n开发模式：\n\n```bash\npython launcher.py\n```\n\n打包产物默认在：\n\n```text\ndist/GenericAgentLauncher.exe\n```\n\n## 使用教程\n\n### 自动下载 GenericAgent\n\n1. 打开启动器。\n2. 在欢迎页选择“下载 GenericAgent”。\n3. 选择安装位置。\n4. 点击“开始下载”。\n5. 下载完成后，启动器会自动尝试载入内核。\n\n### 使用已有的 GenericAgent 目录\n\n1. 打开启动器。\n2. 选择“定位已有 GenericAgent”。\n3. 选中包含 `launch.pyw` 和 `agentmain.py` 的项目根目录。\n4. 点击“载入内核”。\n\n## API 配置\n\n第一次进入时，如果没有可用渠道，启动器会自动引导到“设置 -\u003e API”。\n\n基本流程：\n\n1. 打开“设置”。\n2. 进入 `API`。\n3. 添加一张 API 卡片。\n4. 选择 API 格式。\n5. 填写 URL、API Key、模型名。\n6. 选择适配 GenericAgent 的模板。\n7. 点击“仅保存”或“保存并重启内核”。\n\n说明：\n\n- `API 格式` 是协议层，如 `Claude 原生`、`Chat Completions`、`Responses`\n- `链接模板` 是为了适配 GenericAgent 上游项目中的配置习惯，不等于协议本身\n\n## 通讯渠道\n\n设置页中的“通讯渠道”用于管理 GenericAgent 原项目支持的 Bot 前端。\n\n当前接入：\n\n- 微信\n- Telegram / 纸飞机\n- QQ\n- 飞书\n- 企业微信\n- 钉钉\n\n说明：\n\n- 渠道凭证写入 `mykey.py`\n- 是否自动启动由启动器自己的 `launcher_config.json` 管理\n- 这些渠道会各自启动独立的 GenericAgent 进程，不与当前聊天页共用会话\n- 微信卡片支持直接扫码登录 / 重新绑定\n- `QQ` 和 `微信` 沿用上游单实例限制，不能同时启动\n\n## 聊天界面\n\n### 发消息\n\n- 在底部输入框内输入内容\n- 点击“发送”\n- 或使用 `Ctrl+Enter`\n\n### 中断生成\n\n- 回复进行中时，右下会显示“中断”\n- 点击后会向内核发送停止信号\n- 当前已经生成出的内容会尽量保留，并在消息末尾标记为已中断\n\n### 会话管理\n\n- 左侧侧边栏可以新建、切换、搜索和管理会话\n- 右键会话卡片可进行更多操作\n\n## 项目结构\n\n```text\nlauncher.py                 启动器统一入口\nlauncher_app/               Qt 主界面 + 主题 + 共享后端 facade\nqt_chat_parts/              聊天前端拆分模块\nlauncher_core_parts/        启动器后端拆分模块\nbridge.py                   启动器与 GenericAgent 内核之间的桥接层\nbuild.bat                   Windows 打包脚本\nGenericAgentLauncher.spec   PyInstaller 打包配置\nrequirements.txt            启动器依赖\n```\n\n## 已知说明\n\n- 本仓库是 GenericAgent 的桌面启动器，不是上游项目本体\n- 某些设置页仍处于占位阶段\n- 如果修改源码后 exe 看起来没变化，通常是旧进程或旧打包产物仍在被使用\n- 打包后的配置文件默认读取启动器所在目录下的 `launcher_config.json`\n\n## License\n\n本仓库使用 [MIT License](LICENSE)。\n\n上游 [GenericAgent](https://github.com/lsdefine/GenericAgent) 同样使用 MIT License，但两者仍然是不同仓库。发布和分发本启动器时，建议同时保留对上游项目的致谢说明。\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhdbv-cbs%2Fgenericagent-launcher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhdbv-cbs%2Fgenericagent-launcher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhdbv-cbs%2Fgenericagent-launcher/lists"}