{
  "issues": [
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/30",
      "id": 3529563456,
      "node_id": "I_kwDOPzbsbs7SYN1A",
      "number": 30,
      "title": "多模态需求：画词之后半自动进行相应风格回复",
      "user": {
        "login": "chuchangsen-dotcom",
        "id": 238948389,
        "node_id": "U_kgDODj4QJQ",
        "avatar_url": "https://avatars.githubusercontent.com/u/238948389?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/chuchangsen-dotcom",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2025-10-19T06:21:07Z",
      "updated_at": "2025-10-19T06:21:07Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "<img width=\"750\" height=\"744\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/a353ba52-0d45-41ab-9e55-f27e422d4868\" />\n\n1. 监控有画词事件后，弹出浮层。\n2. 浮层中有舔狗、牛马、抬杠、太极选项、也支持自定义其他prompt。\n     - 舔狗：用于吹捧对方\n     - 牛马：用于回复领导，不至于仅回复收到显得敷衍\n     - 抬杠：用于反驳对方观点\n     - 太极：语言上不置可否，打个太极\n3. 选中一个标签后（也有默认态），根据相应语言风格进行提供回复文案，并自动完成复制。\n4. 用户手动ctrl+V后，内容入框，用户可以修改。\n ",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/30/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/28",
      "id": 3501168751,
      "node_id": "I_kwDOPzbsbs7Qr5hv",
      "number": 28,
      "title": "性能问题：",
      "user": {
        "login": "hl-yang96",
        "id": 58650993,
        "node_id": "MDQ6VXNlcjU4NjUwOTkz",
        "avatar_url": "https://avatars.githubusercontent.com/u/58650993?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/hl-yang96",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2025-10-10T02:44:17Z",
      "updated_at": "2025-10-10T02:44:17Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "以下性能问题是否可以优化，因为从 wispr flow 过来主要是考虑到性能的问题：\n1. 这里的日志可以看出，从文本准备好到实际粘贴，花费了将近800毫秒的时间，这里面肯定有优化的空间。比如说：\n    - 这里的权限检查的300到400毫秒是可以在程序初始化的时候就去做的。\n    - 模拟 Command+V 的方式是不是也有更好的 API？ \n```\n[2025-10-10T02:37:44.878Z] 📋 文本已复制到剪贴板 \n[2025-10-10T02:37:44.878Z] 🔍 检查粘贴操作的辅助功能权限\n[2025-10-10T02:37:45.214Z] ✅ 权限已授予，尝试粘贴\n[2025-10-10T02:37:45.541Z] ✅ 通过 Cmd+V 模拟成功粘贴文本\n[2025-10-10T02:37:45.642Z] 🔄 原始剪贴板内容已恢复\n```\n\n2. 下面这里从 ASR 服务器输出到开始 AI 文本优化，其实也花了不少的时间，大概也有了 800ms 了\n    - AI 告诉我说，这里主要是一些前端的渲染或者是删除文件等等操作。\n    - 这里也有一些优化的空间，比如说异步或者其他的方式。 \n```\n[2025-10-10T02:09:46.643Z] FunASR服务器输出 {\n    line: '{\"success\": true, \"text\": \"这是我运行中遇到的看到的这个日志。呃，请你帮我看一下这些日志，中间的这些延迟\n  到底是什么？中间有没有一些显示的延迟，还是这些操作本身就比较耗时呢？\", \"raw_text\": \"这是我运行中遇到的看到的这个\n  日志呃请你帮我看一下这些日志中间的这些延迟到底是什么中间有没有一些显示的延迟还是这些操作本身就比较耗时呢\",\n  \"confidence\": 0.0, \"duration\": 17.7, \"language\": \"zh-CN\", \"model_type\": \"pytorch\"}'\n  }\n  [2025-10-10T02:09:47.411Z] [渲染进程] 开始AI文本优化:\n  [2025-10-10T02:09:47.412Z] AI文本处理请求: {\n```\n\n\n最后，希望这个软件越来越好。",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/28/reactions",
        "total_count": 2,
        "+1": 2,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/27",
      "id": 3501164129,
      "node_id": "I_kwDOPzbsbs7Qr4Zh",
      "number": 27,
      "title": "窗口 AlwayOnTop，并且最小化后无法使用",
      "user": {
        "login": "hl-yang96",
        "id": 58650993,
        "node_id": "MDQ6VXNlcjU4NjUwOTkz",
        "avatar_url": "https://avatars.githubusercontent.com/u/58650993?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/hl-yang96",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2025-10-10T02:40:19Z",
      "updated_at": "2025-10-10T02:40:19Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "窗口方面我遇到以下两个问题：\n1. 窗口一直在最前端，窗口也不是很小，所以非常挡视野，非聚焦情况下也在前面，感觉不太合理。\n2. 窗口最小化后，再次点击应用后，不会弹出到前台，最小化后就再也打不开了。\n3. 窗口最小化后，快键还能够有触发日志，但是不会触发录音转换等功能。\n\n环境：\n- macos 26\n- npm + uv",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/27/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/26",
      "id": 3500981969,
      "node_id": "I_kwDOPzbsbs7QrL7R",
      "number": 26,
      "title": "chore(clean): 优化清理 Python 环境的脚本",
      "user": {
        "login": "MoonIRL",
        "id": 56023866,
        "node_id": "MDQ6VXNlcjU2MDIzODY2",
        "avatar_url": "https://avatars.githubusercontent.com/u/56023866?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/MoonIRL",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2025-10-10T00:31:44Z",
      "updated_at": "2025-10-10T00:31:44Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "```\n git diff --staged .\\package.json\ndiff --git a/package.json b/package.json\nindex 8f4fdf7..75b465d 100644\n--- a/package.json\n+++ b/package.json\n@@ -28,7 +28,7 @@\n     \"dist\": \"npm run prepare:python:embedded && npm run build:renderer && electron-builder\",\n     \"lint\": \"cd src && eslint .\",\n     \"preview\": \"cd src && vite preview\",\n-    \"clean\": \"node cleanup.js && rm -rf python\"\n+    \"clean\": \"node cleanup.js && node scripts/clean-python.js\"\n   },\n   \"keywords\": [\n     \"dictation\",\n```\n\n```\n git diff --staged .\\scripts\\clean-python.js\ndiff --git a/scripts/clean-python.js b/scripts/clean-python.js\nnew file mode 100644\nindex 0000000..6c9e792\n--- /dev/null\n+++ b/scripts/clean-python.js\n@@ -0,0 +1,37 @@\n+#!/usr/bin/env node\n+process.stdout.setEncoding('utf8');\n+\n+const { execSync } = require('child_process');\n+const os = require('os');\n+\n+const pythonDir = 'python';\n+\n+const fs = require('fs');\n+\n+if (os.platform() === 'win32') {\n+    console.log(`🧹 清理 Windows 平台下的 Python 环境目录: ${pythonDir}`);\n+    if (fs.existsSync(pythonDir)) {\n+        try {\n+            execSync(`rd /s /q ${pythonDir}`, { stdio: 'inherit' });\n+            console.log(`✅ Windows 平台 Python 环境目录 ${pythonDir} 清理完成。`);\n+        } catch (error) {\n+            console.error(`❌ Windows 平台 Python 环境目录 ${pythonDir} 清理失败:`, error.message);\n+            process.exit(1);\n+        }\n+    } else {\n+        console.log(`ℹ️  Python 环境目录 ${pythonDir} 不存在，跳过清理。`);\n+    }\n+} else {\n+    console.log(`🧹 清理 Linux/macOS 平台下的 Python 环境目录: ${pythonDir}`);\n+    if (fs.existsSync(pythonDir)) {\n+        try {\n+            execSync(`rm -rf ${pythonDir}`, { stdio: 'inherit' });\n+            console.log(`✅ Linux/macOS 平台 Python 环境目录 ${pythonDir} 清理完成。`);\n+        } catch (error) {\n+            console.error(`❌ Linux/macOS 平台 Python 环境目录 ${pythonDir} 清理失败:`, error.message);\n+            process.exit(1);\n+        }\n+    } else {\n+        console.log(`ℹ️  Python 环境目录 ${pythonDir} 不存在，跳过清理。`);\n+    }\n+}\n\\ No newline at end of file\n```",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/26/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/25",
      "id": 3497734874,
      "node_id": "I_kwDOPzbsbs7QezLa",
      "number": 25,
      "title": "后面会做成客户端吗？tauri+服务进程这样？",
      "user": {
        "login": "adoin",
        "id": 20517172,
        "node_id": "MDQ6VXNlcjIwNTE3MTcy",
        "avatar_url": "https://avatars.githubusercontent.com/u/20517172?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/adoin",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2025-10-09T05:53:04Z",
      "updated_at": "2025-10-09T05:53:04Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": null,
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/25/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/21",
      "id": 3480319025,
      "node_id": "I_kwDOPzbsbs7PcXQx",
      "number": 21,
      "title": "Feature Request: I18n Support",
      "user": {
        "login": "jinzhongjia",
        "id": 41784264,
        "node_id": "MDQ6VXNlcjQxNzg0MjY0",
        "avatar_url": "https://avatars.githubusercontent.com/u/41784264?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/jinzhongjia",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2025-10-03T08:46:44Z",
      "updated_at": "2025-10-03T09:09:44Z",
      "closed_at": null,
      "author_association": "CONTRIBUTOR",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "有计划支持 I18n 嘛",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/21/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/20",
      "id": 3473880246,
      "node_id": "I_kwDOPzbsbs7PDzS2",
      "number": 20,
      "title": "在安装 Node.js 依赖时 pnpm install 报错",
      "user": {
        "login": "Naco",
        "id": 76217,
        "node_id": "MDQ6VXNlcjc2MjE3",
        "avatar_url": "https://avatars.githubusercontent.com/u/76217?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/Naco",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 4,
      "created_at": "2025-10-01T14:34:57Z",
      "updated_at": "2025-10-13T16:39:28Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "Windows11，在项目初始化，进行到【安装 Node.js 依赖】这一步时，运行` pnpm install`，总是报错：\n```\nPS C:\\Users\\Naco\\ququ> pnpm install\n WARN  4 deprecated subdependencies found: boolean@3.2.0, glob@7.2.3, inflight@1.0.6, lodash.isequal@4.5.0\nPackages: +523\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++\nProgress: resolved 603, reused 535, downloaded 0, added 0, done\nnode_modules/.pnpm/better-sqlite3@11.10.0/node_modules/better-sqlite3: Running install script, failed in 46ms\n.../node_modules/better-sqlite3 install$ prebuild-install || node-gyp rebuild --release\n│ 'node' �����ڲ����ⲿ���Ҳ���ǿ����еĳ���\n│ ���������ļ���\n│ 'node-gyp' �����ڲ����ⲿ���Ҳ���ǿ����еĳ���\n│ ���������ļ���\n└─ Failed in 46ms at C:\\Users\\Naco\\ququ\\node_modules\\.pnpm\\better-sqlite3@11.10.0\\node_modules\\better-sqlite3\nnode_modules/.pnpm/electron@36.5.0/node_modules/electron: Running postinstall script, failed in 16ms\n.../node_modules/electron postinstall$ node install.js\n│ 'node' �����ڲ����ⲿ���Ҳ���ǿ����еĳ���\n│ ���������ļ���\n└─ Failed in 16ms at C:\\Users\\Naco\\ququ\\node_modules\\.pnpm\\electron@36.5.0\\node_modules\\electron\n ELIFECYCLE  Command failed with exit code 1.\n```",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/20/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/18",
      "id": 3469967474,
      "node_id": "I_kwDOPzbsbs7O04By",
      "number": 18,
      "title": "希望增加一个自动转录的功能",
      "user": {
        "login": "Fog3719",
        "id": 41268511,
        "node_id": "MDQ6VXNlcjQxMjY4NTEx",
        "avatar_url": "https://avatars.githubusercontent.com/u/41268511?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/Fog3719",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 9317670592,
          "node_id": "LA_kwDOPzbsbs8AAAACK2BewA",
          "url": "https://api.github.com/repos/yan5xu/ququ/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": {
        "login": "yan5xu",
        "id": 5762066,
        "node_id": "MDQ6VXNlcjU3NjIwNjY=",
        "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/yan5xu",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "assignees": {
        "0": {
          "login": "yan5xu",
          "id": 5762066,
          "node_id": "MDQ6VXNlcjU3NjIwNjY=",
          "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/yan5xu",
          "type": "User",
          "user_view_type": "public",
          "site_admin": false
        }
      },
      "milestone": null,
      "comments": 2,
      "created_at": "2025-09-30T15:12:57Z",
      "updated_at": "2025-10-10T02:47:37Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "希望增加一个自动转录的功能，N秒之内没有语音输入就开始自动转录，不必等到用户手动按下转录快捷键。这样使用上更加自然。",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/18/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/16",
      "id": 3460937179,
      "node_id": "I_kwDOPzbsbs7OSbXb",
      "number": 16,
      "title": "提供本地视频/音频文件的转录能力",
      "user": {
        "login": "wwek",
        "id": 1239403,
        "node_id": "MDQ6VXNlcjEyMzk0MDM=",
        "avatar_url": "https://avatars.githubusercontent.com/u/1239403?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/wwek",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2025-09-28T01:43:15Z",
      "updated_at": "2025-09-28T01:43:15Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "rt\n本地有离线的音视频文件的转录能力",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/16/reactions",
        "total_count": 4,
        "+1": 4,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/14",
      "id": 3459890252,
      "node_id": "I_kwDOPzbsbs7OObxM",
      "number": 14,
      "title": "Docker 部署",
      "user": {
        "login": "Leekinxun",
        "id": 93116770,
        "node_id": "U_kgDOBYzZYg",
        "avatar_url": "https://avatars.githubusercontent.com/u/93116770?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/Leekinxun",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 9317670592,
          "node_id": "LA_kwDOPzbsbs8AAAACK2BewA",
          "url": "https://api.github.com/repos/yan5xu/ququ/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2025-09-27T07:04:00Z",
      "updated_at": "2025-09-27T08:38:26Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "请问有官方的Dockerfile 或者 docker-compose.yaml 吗",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/14/reactions",
        "total_count": 3,
        "+1": 3,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/12",
      "id": 3459493050,
      "node_id": "I_kwDOPzbsbs7OM6y6",
      "number": 12,
      "title": "Windows 11运行pnpm install报错",
      "user": {
        "login": "1WorldCapture",
        "id": 157363743,
        "node_id": "U_kgDOCWEuHw",
        "avatar_url": "https://avatars.githubusercontent.com/u/157363743?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/1WorldCapture",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 9317670579,
          "node_id": "LA_kwDOPzbsbs8AAAACK2Besw",
          "url": "https://api.github.com/repos/yan5xu/ququ/labels/bug",
          "name": "bug",
          "color": "d73a4a",
          "default": true,
          "description": "Something isn't working"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 2,
      "created_at": "2025-09-27T00:59:05Z",
      "updated_at": "2025-10-11T17:10:34Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "clone完项目后运行`pnpm install`报错：\n\n```\npnpm install\nLockfile is up to date, resolution step is skipped\nAlready up to date\n\n╭ Warning ───────────────────────────────────────────────────────────────────────────────────╮\n│                                                                                            │\n│   Ignored build scripts: @tailwindcss/oxide, esbuild, ffmpeg-static.                       │\n│   Run \"pnpm approve-builds\" to pick which dependencies should be allowed to run scripts.   │\n│                                                                                            │\n╰────────────────────────────────────────────────────────────────────────────────────────────╯\n\n. postinstall$ electron-builder install-app-deps\n│   • electron-builder  version=24.13.3\n│   • loaded configuration  file=package.json (\"build\" field)\n│   • rebuilding native dependencies  dependencies=better-sqlite3@11.10.0 platform=win32 arch=x64\n│   • install prebuilt binary  name=better-sqlite3 version=11.10.0 platform=win32 arch=x64 napi=\n│   ⨯ cannot find prebuild-install  \n│   ⨯ cannot execute  cause=fork/exec C:\\Users\\lyon\\AppData\\Roaming\\nvm\\v20.18.1\\node_modules\\pnpm\\bin\\pnpm.cjs: %1 is not a valid Win32 application.\n│                     command='C:\\Users\\lyon\\AppData\\Roaming\\nvm\\v20.18.1\\node_modules\\pnpm\\bin\\pnpm.cjs' rebuild better-sqlite3@11.10.0\n│                     workingDir=\n└─ Failed in 725ms at D:\\workspace-new\\ququ\n ELIFECYCLE  Command failed with exit code 1.\n```\n\nAI辅助排查：\n```\n我已检查到以下关键信息（基于你的项目和当前系统）：\n•  Node: v20.18.1\n•  pnpm: 10.12.3（PowerShell 实际使用的是 C:\\nodejs\\pnpm.ps1）\n•  electron: 36.5.0\n•  electron-builder: ^24.6.4（实际解析为 24.13.x，从之前日志可见）\n•  better-sqlite3: 11.10.0\n•  package.json 有 postinstall: electron-builder install-app-deps\n\n结论（结合你之前的报错栈）：\n•  electron-builder 24.13.x 在 Windows 上调用包管理器时，会直接尝试执行 pnpm 的入口脚本 pnpm.cjs（路径显示为 C:\\Users\\lyon\\AppData\\Roaming\\nvm\\v20.18.1\\node_modules\\pnpm\\bin\\pnpm.cjs），而不是通过 node 或 Windows 的 shim（pnpm.cmd / pnpm.ps1）。这会触发 “%1 is not a valid Win32 application.”。\n•  同时 electron-builder 先尝试获取 better-sqlite3 的预编译二进制，但显示 “cannot find prebuild-install”，于是回退到 “pnpm rebuild …”，进而踩到上面这个 Win32 执行错误。\n•  你的 pnpm 版本是 10.x，会要求 “pnpm approve-builds” 才允许运行部分依赖的构建脚本，日志里也提示忽略了 @tailwindcss/oxide、esbuild、ffmpeg-static 的构建脚本。这不是这次失败的直接原因，但后续也需要批准。\n```\n\n将`electron-builder`升级到26.0.0解决问题。\n\n```\ngit diff package.json\ndiff --git a/package.json b/package.json\nindex 81f1193..82ac4be 100644\n--- a/package.json\n+++ b/package.json\n@@ -57,7 +57,7 @@\n     \"concurrently\": \"^8.2.2\",\n     \"cross-env\": \"^10.0.0\",\n     \"electron\": \"36.5.0\",\n-    \"electron-builder\": \"^24.6.4\",\n+    \"electron-builder\": \"^26.0.0\",\n     \"eslint\": \"^9.25.0\",\n     \"eslint-plugin-react-hooks\": \"^5.2.0\",\n     \"eslint-plugin-react-refresh\": \"^0.4.19\"\n```",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/12/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/11",
      "id": 3458214817,
      "node_id": "I_kwDOPzbsbs7OICuh",
      "number": 11,
      "title": "运行后一直卡在模型加载中，控制台一直刷检查模型缓存路径",
      "user": {
        "login": "Ameoishi",
        "id": 84050218,
        "node_id": "MDQ6VXNlcjg0MDUwMjE4",
        "avatar_url": "https://avatars.githubusercontent.com/u/84050218?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/Ameoishi",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 7,
      "created_at": "2025-09-26T16:02:56Z",
      "updated_at": "2025-10-21T02:35:20Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "<img width=\"1743\" height=\"725\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/e37d6c21-a31d-4cac-9ddb-af469088b120\" />\n\n系统是win10,用uv方式安装",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/11/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/10",
      "id": 3456659734,
      "node_id": "I_kwDOPzbsbs7OCHEW",
      "number": 10,
      "title": "全局f2热键无效. ctrl-shift-space 也无效",
      "user": {
        "login": "OriLiMu",
        "id": 11295355,
        "node_id": "MDQ6VXNlcjExMjk1MzU1",
        "avatar_url": "https://avatars.githubusercontent.com/u/11295355?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/OriLiMu",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 9317670579,
          "node_id": "LA_kwDOPzbsbs8AAAACK2Besw",
          "url": "https://api.github.com/repos/yan5xu/ququ/labels/bug",
          "name": "bug",
          "color": "d73a4a",
          "default": true,
          "description": "Something isn't working"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2025-09-26T09:37:52Z",
      "updated_at": "2025-09-26T10:03:13Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "## 问题描述\n\n在QuQu语音识别应用中，F2热键出现重复注销的问题，导致控制台频繁出现错误消息，并可能影响热键的正常功能。\n\n## 问题现象\n\n### 错误日志\n```\npnpm run dev\n\n\n> ququ@1.0.0 dev /home/lizhe/ququ\n> concurrently -k -r \"npm:dev:renderer\" \"npm:dev:main\"\n\nnpm warn Unknown env config \"verify-deps-before-run\". This will stop working in the next major version of npm.\nnpm warn Unknown env config \"_jsr-registry\". This will stop working in the next major version of npm.\nnpm warn Unknown env config \"verify-deps-before-run\". This will stop working in the next major version of npm.\nnpm warn Unknown env config \"_jsr-registry\". This will stop working in the next major version of npm.\n\n> ququ@1.0.0 dev:renderer\n> cd src && vite\n\n\n> ququ@1.0.0 dev:main\n> cross-env NODE_ENV=development electron . --dev\n\n\n  VITE v6.3.6  ready in 80 ms\n\n  ➜  Local:   http://localhost:5173/\n  ➜  press h + enter to show help\n[2025-09-26T09:05:02.910Z] 设置生产环境PATH {\n  platform: 'linux',\n  nodeEnv: 'development',\n  currentPath: '/home/lizhe/ququ/node_modules/.bin:/home/lizhe/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/lizhe/ququ/node_modules/.bin:/home/lizhe/.cache/node/corepack/v1/pnpm/10.12.2/dist/node-gyp-bin:/home/lizhe/ququ/node_modules/.bin:/home/lizhe/.local/bin:/home/lizhe/.npm-global/bin:/home/lizhe/.pyenv/shims:/opt/miniconda3/bin:/home/lizhe/Applications/:/home/lizhe/Applications/nerd-dictation:/home/lizhe/Applications/squashfs-root:/home/lizhe/Applications/yt-dlp:/home/lizhe/OriNote/wikiScripts/:/home/lizhe/OriNote/wikiScripts/Utils/:/home/lizhe/.local/bin:/home/lizhe/.cargo/bin:/home/lizhe/.local/share/JetBrains/Toolbox/scripts:/home/lizhe/.luarocks:/home/lizhe/go/bin/:/home/lizhe/Applications/yt-dlp:/home/lizhe/.yarn/bin/:/opt/miniconda3/etc/profile.d/:/home/lizhe/.local/bin:/home/lizhe/.npm-global/bin:/opt/miniconda3/bin:/home/lizhe/Applications/:/home/lizhe/Applications/nerd-dictation:/home/lizhe/Applications/squashfs-root:/home/lizhe/Applications/yt-dlp:/home/lizhe/OriNote/wikiScripts/:/home/lizhe/OriNote/wikiScripts/Utils/:/home/lizhe/.local/bin:/home/lizhe/.cargo/bin:/home/lizhe/.local/share/JetBrains/Toolbox/scripts:/home/lizhe/.luarocks:/home/lizhe/go/bin/:/home/lizhe/Applications/yt-dlp:/home/lizhe/.yarn/bin/:/opt/miniconda3/etc/profile.d/:/home/lizhe/.local/bin:/home/lizhe/.local/lib/hyde:.:/home/lizhe/.local/bin:/home/lizhe/.npm-global/bin:/opt/miniconda3/bin:/home/lizhe/Applications/:/home/lizhe/Applications/nerd-dictation:/home/lizhe/Applications/squashfs-root:/home/lizhe/Applications/yt-dlp:/home/lizhe/OriNote/wikiScripts/:/home/lizhe/OriNote/wikiScripts/Utils/:/home/lizhe/.local/bin:/home/lizhe/.cargo/bin:/home/lizhe/.local/share/JetBrains/Toolbox/scripts:/home/lizhe/.luarocks:/home/lizhe/go/bin/:/home/lizhe/Applications/yt-dlp:/home/lizhe/.yarn/bin/:/opt/miniconda3/etc/profile.d/:/home/lizhe/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/opt/cuda/nsight_compute:/opt/cuda/nsight_systems/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'\n}\n[2025-09-26T09:05:02.913Z] 设置用户数据目录环境变量 { ELECTRON_USER_DATA: '/home/lizhe/.config/ququ' }\n\n(electron:460362): Gtk-WARNING **: 17:05:02.931: Theme parsing error: gtk.css:3213:16: Unit is missing.\n[2025-09-26T09:05:03.007Z] 应用启动开始 {\n  nodeEnv: 'development',\n  platform: 'linux',\n  arch: 'x64',\n  electronVersion: '36.5.0',\n  appVersion: '1.0.0'\n}\n[2025-09-26T09:05:03.007Z] 系统信息 {\n  platform: 'linux',\n  arch: 'x64',\n  nodeVersion: 'v22.16.0',\n  electronVersion: '36.5.0',\n  appVersion: '1.0.0',\n  userDataPath: '/home/lizhe/.config/ququ',\n  logDir: '/home/lizhe/.config/ququ/logs',\n  env: {\n    NODE_ENV: 'development',\n    PATH: '/home/lizhe/ququ/node_modules/.bin:/home/lizhe/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/lizhe/ququ/node_modules/.bin:/home/lizhe/.cache/node/corepack/v1/pnpm/10.12.2/dist/node-gyp-bin:/home/lizhe/ququ/node_modules/.bin:/home/lizhe/.local/bin:/home/lizhe/.npm-global/bin:/home/lizhe/.pyenv/shims:/opt/miniconda3/bin:/home/lizhe/Applications/:/home/lizhe/Applications/nerd-dictation:/home/lizhe/Applications/squashfs-root:/home/lizhe/Applications/yt-dlp:/home/lizhe/OriNote/wikiScripts/:/home/lizhe/OriNote/wikiScripts/Utils/:/home/lizhe/.local/bin:/home/lizhe/.cargo/bin:/home/lizhe/.local/share/JetBrains/Toolbox/scripts:/home/lizhe/.luarocks:/home/lizhe/go/bin/:/home/lizhe/Applications/yt-dlp:/home/lizhe/.yarn/bin/:/opt/miniconda3/etc/profile.d/:/home/lizhe/.local/bin:/home/lizhe/.npm-global/bin:/opt/miniconda3/bin:/home/lizhe/Applications/:/home/lizhe/Applications/nerd-dictation:/home/lizhe/Applications/squashfs-root:/home/lizhe/Applications/yt-dlp:/home/lizhe/OriNote/wikiScripts/:/home/lizhe/OriNote/wikiScripts/Utils/:/home/lizhe/.local/bin:/home/lizhe/.cargo/bin:/home/lizhe/.local/share/JetBrains/Toolbox/scripts:/home/lizhe/.luarocks:/home/lizhe/go/bin/:/home/lizhe/Applications/yt-dlp:/home/lizhe/.yarn/bin/:/opt/miniconda3/etc/profile.d/:/home/lizhe/.local/bin:/home/lizhe/.local/lib/hyde:.:/home/lizhe/.local/bin:/home/lizhe/.npm-global/bin:/opt/miniconda3/bin:/home/lizhe/Applications/:/home/lizhe/Applications/nerd-dictation:/home/lizhe/Applications/squashfs-root:/home/lizhe/Applications/yt-dlp:/home/lizhe/OriNote/wikiScripts/:/home/lizhe/OriNote/wikiScripts/Utils/:/home/lizhe/.local/bin:/home/lizhe/.cargo/bin:/home/lizhe/.local/share/JetBrains/Toolbox/scripts:/home/lizhe/.luarocks:/home/lizhe/go/bin/:/home/lizhe/Applications/yt-dlp:/home/lizhe/.yarn/bin/:/opt/miniconda3/etc/profile.d/:/home/lizhe/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/opt/cuda/nsight_compute:/opt/cuda/nsight_systems/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl',\n    PYTHON_PATH: undefined\n  }\n}\n[2025-09-26T09:05:03.007Z] 开发模式，等待Vite启动...\n\n(electron:460362): Gtk-WARNING **: 17:05:03.014: Theme parsing error: gtk-dark.css:3213:16: Unit is missing.\npci id for fd 20: 10de:2882, driver (null)\nkmsro: driver missing\n[2025-09-26T09:05:05.009Z] 开始初始化FunASR管理器...\n[2025-09-26T09:05:05.010Z] FunASR管理器启动初始化开始\n[2025-09-26T09:05:05.011Z] 检查嵌入式Python { path: '/home/lizhe/ququ/python/bin/python3.11', exists: false }\n[2025-09-26T09:05:05.011Z] 开发模式：回退到系统Python\n[2025-09-26T09:05:05.021Z] 创建主窗口...\n[2025-09-26T09:05:05.048Z] Python可执行文件找到 { pythonCmd: '/home/lizhe/ququ/.venv/bin/python3.11' }\n[2025-09-26T09:05:05.049Z] 构建系统Python环境变量 {\n  note: '使用系统Python默认环境',\n  pythonExecutable: '/home/lizhe/ququ/.venv/bin/python3.11'\n}\n[2025-09-26T09:05:05.427Z] 主窗口创建成功\n[2025-09-26T09:05:05.427Z] 创建控制面板窗口...\n[2025-09-26T09:05:05.477Z] 检查模型缓存路径: /home/lizhe/.cache/modelscope/hub/models/damo\n[2025-09-26T09:05:05.477Z] 模型检查完成: {\n  allDownloaded: true,\n  missingModels: [],\n  details: {\n    asr: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt',\n      size: 880502012,\n      expected_size: 880803840,\n      complete: true\n    },\n    vad: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt',\n      size: 1721366,\n      expected_size: 1677721.6,\n      complete: true\n    },\n    punc: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt',\n      size: 291979892,\n      expected_size: 291504128,\n      complete: true\n    }\n  }\n}\n[2025-09-26T09:05:05.479Z] 所有发送者都已注销，注销F2热键\n[2025-09-26T09:05:05.488Z] 热键 CommandOrControl+Shift+Space 注册成功，发送者: 1\n[2025-09-26T09:05:05.500Z] 发送者 1 已注册过热键，跳过重复注册\n[2025-09-26T09:05:05.501Z] 所有发送者都已注销，注销F2热键\n[2025-09-26T09:05:05.528Z] 控制面板窗口创建成功\n[2025-09-26T09:05:05.528Z] 设置系统托盘...\n[2025-09-26T09:05:05.531Z] 系统托盘设置完成\n[2025-09-26T09:05:05.531Z] 应用启动完成\n[460362:0926/170505.536068:ERROR:ui/base/accelerators/global_accelerator_listener/global_accelerator_listener_linux.cc:310] Failed to call BindShortcuts (error code 1).\n[2025-09-26T09:05:07.792Z] FunASR安装状态检查完成 { installed: true, working: true }\n[2025-09-26T09:05:07.793Z] 启动FunASR服务器...\n[2025-09-26T09:05:07.793Z] FunASR管理器启动初始化完成\n[2025-09-26T09:05:07.793Z] FunASR服务器配置 {\n  pythonCmd: '/home/lizhe/ququ/.venv/bin/python3.11',\n  serverPath: '/home/lizhe/ququ/funasr_server.py',\n  serverExists: true\n}\n[2025-09-26T09:05:07.793Z] 设置系统Python环境 {\n  note: '清除嵌入式Python环境变量，使用系统Python默认环境',\n  pythonExecutable: '/home/lizhe/ququ/.venv/bin/python3.11'\n}\n[2025-09-26T09:05:07.793Z] 启动FunASR Python进程 {\n  command: '/home/lizhe/ququ/.venv/bin/python3.11',\n  args: [ '/home/lizhe/ququ/funasr_server.py' ],\n  env: {\n    SHELL: '/usr/bin/fish',\n    npm_command: 'run',\n    NVM_RC_VERSION: '',\n    npm_config_userconfig: '/home/lizhe/.npmrc',\n    COLORTERM: 'truecolor',\n    PYENV_SHELL: 'fish',\n    HYPRLAND_CMD: 'Hyprland',\n    XDG_CONFIG_DIRS: '/etc/xdg:/usr/share/manjaro-kde-settings/xdg',\n    npm_config_cache: '/home/lizhe/.npm',\n    XDG_SESSION_PATH: '/org/freedesktop/DisplayManager/Session1',\n    HYDE_STATE_HOME: '/home/lizhe/.local/state/hyde',\n    COREPACK_ENABLE_DOWNLOAD_PROMPT: '1',\n    GLFW_IM_MODULE: 'ibus',\n    TERM_PROGRAM_VERSION: '3.5a',\n    GTK_IM_MODULE: '',\n    XDG_BACKEND: 'wayland',\n    TMUX: '/tmp/tmux-1000/default,3907,0',\n    PKG_CONFIG_PATH: '/usr/lib/pkgconfig:/usr/lib/pkgconfig:/usr/lib/pkgconfig',\n    QT_WAYLAND_DISABLE_WINDOWDECORATION: '1',\n    NODE: '/usr/bin/node',\n    GOOGLE_CLOUD_PROJECT: 'smart-paratext-340416',\n    LC_ADDRESS: 'zh_CN.UTF-8',\n    LC_NAME: 'zh_CN.UTF-8',\n    ANTHROPIC_API_KEY: 'sk-0naprggsaJAH3ZneN5AzCG8LGMFaSWJBEhfmdtMUwsvwUBIo',\n    XDG_DATA_HOME: '/home/lizhe/.local/share',\n    npm_config_verify_deps_before_run: 'false',\n    INPUT_METHOD: 'fcitx5',\n    JETBRAINSCLIENT_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/jetbrainsclient.vmoptions',\n    GOLAND_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/goland.vmoptions',\n    npm_config__jsr_registry: 'https://npm.jsr.io/',\n    XDG_CONFIG_HOME: '/home/lizhe/.config',\n    TMUX_PLUGIN_MANAGER_PATH: '/home/lizhe/.config/tmux/plugins/',\n    FNM_NODE_DIST_MIRROR: 'https://mirrors.aliyun.com/nodejs-release/',\n    COLOR: '1',\n    npm_config_local_prefix: '/home/lizhe/ququ',\n    XMODIFIERS: '@im=fcitx',\n    WEBSTORM_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/webstorm.vmoptions',\n    LIBVA_DRIVER_NAME: 'nvidia',\n    PHPSTORM_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/phpstorm.vmoptions',\n    DESKTOP_SESSION: 'hyprland',\n    LC_MONETARY: 'zh_CN.UTF-8',\n    ELECTRON_OZONE_PLATFORM_HINT: 'auto',\n    HL_INITIAL_WORKSPACE_TOKEN: '241cffbf-2982-4fa7-a48b-d8caf05dade5',\n    KITTY_PID: '3733',\n    npm_config_globalconfig: '/etc/npmrc',\n    EDITOR: 'nvim',\n    PUPPETEER_EXECUTABLE_PATH: '/usr/bin/chromium',\n    is_vim: \"ps -o state= -o comm= -t '#{pane_tty}'     | grep -iqE '^[^TXZ ]+ +(\\\\S+\\\\/)?g?(view|l?n?vim?x?|fzf)(diff)?$'\",\n    XDG_SEAT: 'seat0',\n    WEBIDE_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/webide.vmoptions',\n    PWD: '/home/lizhe/ququ',\n    GATEWAY_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/gateway.vmoptions',\n    XDG_SESSION_DESKTOP: 'Hyprland',\n    LOGNAME: 'lizhe',\n    QT_QPA_PLATFORMTHEME: 'qt6ct',\n    XDG_SESSION_TYPE: 'wayland',\n    DATASPELL_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/dataspell.vmoptions',\n    npm_config_init_module: '/home/lizhe/.npm-init.js',\n    AVANTE_MOONSHOT_API_KEY: 'sk-0naprggsaJAH3ZneN5AzCG8LGMFaSWJBEhfmdtMUwsvwUBIo',\n    HYDE_CONFIG_HOME: '/home/lizhe/.config/hyde',\n    NODE_ENV: 'development',\n    OMF_PATH: '/home/lizhe/.local/share/omf',\n    KITTY_PUBLIC_KEY: '1:)}+T?*5d)ZhSuZVy{_I(No$~@uvgd|V0%&LNqwGQ',\n    MOTD_SHOWN: 'pam',\n    HOME: '/home/lizhe',\n    COREPACK_ROOT: '/home/lizhe/.npm-global/lib/node_modules/corepack',\n    LANG: 'en_US.UTF-8',\n    LC_PAPER: 'zh_CN.UTF-8',\n    _JAVA_AWT_WM_NONREPARENTING: '1',\n    XDG_CURRENT_DESKTOP: 'Hyprland',\n    npm_package_version: '1.0.0',\n    APPCODE_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/appcode.vmoptions',\n    WAYLAND_DISPLAY: 'wayland-1',\n    KITTY_WINDOW_ID: '1',\n    FORCE_COLOR: '3',\n    XDG_SEAT_PATH: '/org/freedesktop/DisplayManager/Seat0',\n    https_proxy: 'http://127.0.0.1:10081',\n    M2_HOME: '/home/lizhe/.m2',\n    CRYPTOGRAPHY_OPENSSL_NO_LEGACY: '1',\n    _tide_location_color: '\\x1B[38;2;95;215;0m',\n    ANTHROPIC_BASE_URL: 'https://api.moonshot.cn/anthropic/',\n    pnpm_config_verify_deps_before_run: 'false',\n    INIT_CWD: '/home/lizhe/ququ',\n    QT_QPA_PLATFORM: 'wayland;xcb',\n    XDG_CACHE_HOME: '/home/lizhe/.cache',\n    npm_lifecycle_script: 'cross-env NODE_ENV=development electron . --dev',\n    NVM_DIR: '/home/lizhe/.nvm',\n    SDL_IM_MODULE: 'fcitx5',\n    npm_config_npm_version: '11.5.2',\n    ZK_NOTEBOOK_DIR: '/home/lizhe/OriNote/notes/Ori',\n    _tide_pad: ' ',\n    PROXYCHAINS_QUIET_MODE: '1',\n    XDG_SESSION_CLASS: 'user',\n    TERMINFO: '/usr/lib/kitty/terminfo',\n    LC_IDENTIFICATION: 'zh_CN.UTF-8',\n    TERM: 'tmux-256color',\n    npm_package_name: 'ququ',\n    npm_config_prefix: '/home/lizhe/.npm-global',\n    HYDE_CACHE_HOME: '/home/lizhe/.cache/hyde',\n    USER: 'lizhe',\n    npm_config_frozen_lockfile: '',\n    TMUX_PANE: '%4',\n    CUDA_PATH: '/opt/cuda',\n    IDEA_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/idea.vmoptions',\n    PAM_KWALLET5_LOGIN: '/run/user/1000/kwallet5.socket',\n    HYPRLAND_INSTANCE_SIGNATURE: '4e242d086e20b32951fdc0ebcbfb4d41b5be8dcc_1758853043_202186092',\n    DISPLAY: ':1',\n    npm_lifecycle_event: 'dev:main',\n    SHLVL: '4',\n    NVM_CD_FLAGS: '',\n    _tide_color_separator_same_color: '\\x1B[38;2;148;148;148m',\n    MOZ_ENABLE_WAYLAND: '1',\n    STUDIO_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/studio.vmoptions',\n    LC_TELEPHONE: 'zh_CN.UTF-8',\n    QT_IM_MODULE: 'fcitx',\n    LC_MEASUREMENT: 'zh_CN.UTF-8',\n    XDG_VTNR: '3',\n    XDG_SESSION_ID: '6',\n    QT_LINUX_ACCESSIBILITY_ALWAYS_ON: '1',\n    http_proxy: 'http://127.0.0.1:10081',\n    CLION_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/clion.vmoptions',\n    npm_config_user_agent: 'pnpm/10.12.2 npm/? node/v24.7.0 linux x64',\n    DATAGRIP_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/datagrip.vmoptions',\n    DEEPSEEK_API_KEY: 'sk-0471fe98fa8e41dd9a56a31d4c4de6af',\n    PNPM_SCRIPT_SRC_DIR: '/home/lizhe/ququ',\n    npm_execpath: '/usr/lib/node_modules/npm/bin/npm-cli.js',\n    HYDE_RUNTIME_DIR: '/run/user/1000/hyde',\n    RIDER_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/rider.vmoptions',\n    JETBRAINS_CLIENT_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/jetbrains_client.vmoptions',\n    LC_CTYPE: 'UTF-8',\n    XDG_RUNTIME_DIR: '/run/user/1000',\n    npm_config_strict_ssl: '',\n    ALL_PROXY: 'socks5://127.0.0.1:10081',\n    MKLROOT: '/opt/intel/oneapi/mkl/latest',\n    DEBUGINFOD_URLS: 'https://debuginfod.archlinux.org ',\n    NVCC_CCBIN: '/usr/bin/g++-14',\n    LC_TIME: 'en_US.UTF-8',\n    npm_package_json: '/home/lizhe/ququ/package.json',\n    PYCHARM_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/pycharm.vmoptions',\n    LC_ALL: 'en_US.UTF-8',\n    QT_AUTO_SCREEN_SCALE_FACTOR: '1',\n    LC_COLLATE: 'en_US.UTF-8',\n    XDG_DATA_DIRS: '/home/lizhe/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share',\n    npm_config_noproxy: '',\n    PATH: '/home/lizhe/ququ/node_modules/.bin:/home/lizhe/node_modules/.bin:/home/node_modules/.bin:/node_modules/.bin:/usr/lib/node_modules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin:/home/lizhe/ququ/node_modules/.bin:/home/lizhe/.cache/node/corepack/v1/pnpm/10.12.2/dist/node-gyp-bin:/home/lizhe/ququ/node_modules/.bin:/home/lizhe/.local/bin:/home/lizhe/.npm-global/bin:/home/lizhe/.pyenv/shims:/opt/miniconda3/bin:/home/lizhe/Applications/:/home/lizhe/Applications/nerd-dictation:/home/lizhe/Applications/squashfs-root:/home/lizhe/Applications/yt-dlp:/home/lizhe/OriNote/wikiScripts/:/home/lizhe/OriNote/wikiScripts/Utils/:/home/lizhe/.local/bin:/home/lizhe/.cargo/bin:/home/lizhe/.local/share/JetBrains/Toolbox/scripts:/home/lizhe/.luarocks:/home/lizhe/go/bin/:/home/lizhe/Applications/yt-dlp:/home/lizhe/.yarn/bin/:/opt/miniconda3/etc/profile.d/:/home/lizhe/.local/bin:/home/lizhe/.npm-global/bin:/opt/miniconda3/bin:/home/lizhe/Applications/:/home/lizhe/Applications/nerd-dictation:/home/lizhe/Applications/squashfs-root:/home/lizhe/Applications/yt-dlp:/home/lizhe/OriNote/wikiScripts/:/home/lizhe/OriNote/wikiScripts/Utils/:/home/lizhe/.local/bin:/home/lizhe/.cargo/bin:/home/lizhe/.local/share/JetBrains/Toolbox/scripts:/home/lizhe/.luarocks:/home/lizhe/go/bin/:/home/lizhe/Applications/yt-dlp:/home/lizhe/.yarn/bin/:/opt/miniconda3/etc/profile.d/:/home/lizhe/.local/bin:/home/lizhe/.local/lib/hyde:.:/home/lizhe/.local/bin:/home/lizhe/.npm-global/bin:/opt/miniconda3/bin:/home/lizhe/Applications/:/home/lizhe/Applications/nerd-dictation:/home/lizhe/Applications/squashfs-root:/home/lizhe/Applications/yt-dlp:/home/lizhe/OriNote/wikiScripts/:/home/lizhe/OriNote/wikiScripts/Utils/:/home/lizhe/.local/bin:/home/lizhe/.cargo/bin:/home/lizhe/.local/share/JetBrains/Toolbox/scripts:/home/lizhe/.luarocks:/home/lizhe/go/bin/:/home/lizhe/Applications/yt-dlp:/home/lizhe/.yarn/bin/:/opt/miniconda3/etc/profile.d/:/home/lizhe/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/opt/cuda/bin:/opt/cuda/nsight_compute:/opt/cuda/nsight_systems/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl',\n    __GLX_VENDOR_LIBRARY_NAME: 'nvidia',\n    GDK_SCALE: '1',\n    npm_config_node_gyp: '/home/lizhe/.cache/node/corepack/v1/pnpm/10.12.2/dist/node_modules/node-gyp/bin/node-gyp.js',\n    GBM_BACKEND: 'nvidia-drm',\n    DBUS_SESSION_BUS_ADDRESS: 'unix:path=/run/user/1000/bus',\n    FZF_DEFAULT_OPTS: '--height 60% --border',\n    RUST_BACKTRACE: '1',\n    npm_config_global_prefix: '/home/lizhe/.npm-global',\n    tmux_version: '$(tmux -V | sed -En \"s/^tmux ([0-9]+(.[0-9]+)?).*/\\\\1/p\")',\n    MAIL: '/var/spool/mail/lizhe',\n    npm_config_registry: 'https://registry.npm.taobao.org',\n    HYDE_DATA_HOME: '/home/lizhe/.local/share/hyde',\n    OPENROUTER_API_KEY: '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',\n    OMF_CONFIG: '/home/lizhe/.config/omf',\n    RUBYMINE_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/rubymine.vmoptions',\n    KITTY_INSTALLATION_DIR: '/usr/lib/kitty',\n    npm_node_execpath: '/usr/bin/node',\n    DEVECOSTUDIO_VM_OPTIONS: '/home/lizhe/Downloads/Linux/vmoptions/devecostudio.vmoptions',\n    LC_NUMERIC: 'zh_CN.UTF-8',\n    TERM_PROGRAM: 'tmux',\n    CHROME_DESKTOP: 'ququ.desktop',\n    ORIGINAL_XDG_CURRENT_DESKTOP: 'Hyprland',\n    ELECTRON_USER_DATA: '/home/lizhe/.config/ququ',\n    GDK_BACKEND: 'wayland',\n    NO_AT_BRIDGE: '1',\n    PYTHONDONTWRITEBYTECODE: '1',\n    PYTHONIOENCODING: 'utf-8',\n    PYTHONUNBUFFERED: '1'\n  }\n}\n[2025-09-26T09:05:07.818Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:07,818 - INFO - FunASR服务器日志文件: /home/lizhe/.config/ququ/logs/funasr_server.log\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:07,818 - INFO - FunASR服务器日志文件: /home/lizhe/.config/ququ/logs/funasr_server.log\\n'\n}\n[2025-09-26T09:05:07.819Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:07,818 - INFO - 运行时环境变量设置完成\\n' +\n    '2025-09-26 17:05:07,818 - INFO - FunASR服务器启动\\n' +\n    '2025-09-26 17:05:07,818 - INFO - 模型文件存在，开始初始化\\n' +\n    '2025-09-26 17:05:07,818 - INFO - 正在并行初始化FunASR模型...\\n' +\n    '2025-09-26 17:05:07,818 - INFO - 开始加载ASR模型...\\n' +\n    '2025-09-26 17:05:07,818 - INFO - 开始加载VAD模型...\\n' +\n    '2025-09-26 17:05:07,819 - INFO - 开始加载标点恢复模型...\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:07,818 - INFO - 运行时环境变量设置完成\\n' +\n    '2025-09-26 17:05:07,818 - INFO - FunASR服务器启动\\n' +\n    '2025-09-26 17:05:07,818 - INFO - 模型文件存在，开始初始化\\n' +\n    '2025-09-26 17:05:07,818 - INFO - 正在并行初始化FunASR模型...\\n' +\n    '2025-09-26 17:05:07,818 - INFO - 开始加载ASR模型...\\n' +\n    '2025-09-26 17:05:07,818 - INFO - 开始加载VAD模型...\\n' +\n    '2025-09-26 17:05:07,819 - INFO - 开始加载标点恢复模型...\\n'\n}\n[2025-09-26T09:05:08.344Z] 检查模型缓存路径: /home/lizhe/.cache/modelscope/hub/models/damo\n[2025-09-26T09:05:08.345Z] 模型检查完成: {\n  allDownloaded: true,\n  missingModels: [],\n  details: {\n    asr: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt',\n      size: 880502012,\n      expected_size: 880803840,\n      complete: true\n    },\n    vad: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt',\n      size: 1721366,\n      expected_size: 1677721.6,\n      complete: true\n    },\n    punc: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt',\n      size: 291979892,\n      expected_size: 291504128,\n      complete: true\n    }\n  }\n}\n[2025-09-26T09:05:08.347Z] 所有发送者都已注销，注销F2热键\n[460362:0926/170508.348974:ERROR:components/dbus/xdg/request.cc:169] Request ended (non-user cancelled).\n[2025-09-26T09:05:08.359Z] 所有发送者都已注销，注销F2热键\n[460362:0926/170508.361060:ERROR:components/dbus/xdg/request.cc:169] Request ended (non-user cancelled).\n[2025-09-26T09:05:08.365Z] 所有发送者都已注销，注销F2热键\n[460362:0926/170508.366192:ERROR:components/dbus/xdg/request.cc:169] Request ended (non-user cancelled).\n[2025-09-26T09:05:08.481Z] 所有发送者都已注销，注销F2热键\n[460362:0926/170508.482474:ERROR:components/dbus/xdg/request.cc:169] Request ended (non-user cancelled).\n[2025-09-26T09:05:08.977Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:08,977 - INFO - Created a temporary directory at /tmp/tmpu0u3n2uv\\n' +\n    '2025-09-26 17:05:08,977 - INFO - Writing /tmp/tmpu0u3n2uv/_remote_module_non_scriptable.py\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:08,977 - INFO - Created a temporary directory at /tmp/tmpu0u3n2uv\\n' +\n    '2025-09-26 17:05:08,977 - INFO - Writing /tmp/tmpu0u3n2uv/_remote_module_non_scriptable.py\\n'\n}\n[2025-09-26T09:05:09.748Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:09,748 - INFO - download models from model hub: ms\\n' +\n    '2025-09-26 17:05:09,748 - INFO - download models from model hub: ms\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:09,748 - INFO - download models from model hub: ms\\n' +\n    '2025-09-26 17:05:09,748 - INFO - download models from model hub: ms\\n'\n}\n[2025-09-26T09:05:09.749Z] FunASR服务器错误输出 { errorOutput: '2025-09-26 17:05:09,749 - INFO - FunASR导入耗时: 1.93秒\\n' }\n[FunASR] Python stderr { errorOutput: '2025-09-26 17:05:09,749 - INFO - FunASR导入耗时: 1.93秒\\n' }\n[2025-09-26T09:05:09.749Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:09,749 - INFO - download models from model hub: ms\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:09,749 - INFO - download models from model hub: ms\\n'\n}\n[2025-09-26T09:05:10.490Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:10,490 - modelscope - INFO - Use user-specified model revision: v2.0.4\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:10,490 - modelscope - INFO - Use user-specified model revision: v2.0.4\\n'\n}\n[2025-09-26T09:05:10.517Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:10,516 - modelscope - INFO - Use user-specified model revision: v2.0.4\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:10,516 - modelscope - INFO - Use user-specified model revision: v2.0.4\\n'\n}\n[2025-09-26T09:05:10.594Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:10,594 - WARNING - trust_remote_code: False\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:10,594 - WARNING - trust_remote_code: False\\n'\n}\n[2025-09-26T09:05:10.650Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:10,649 - modelscope - INFO - Use user-specified model revision: v2.0.4\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:10,649 - modelscope - INFO - Use user-specified model revision: v2.0.4\\n'\n}\n[2025-09-26T09:05:10.651Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:10,651 - WARNING - trust_remote_code: False\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:10,651 - WARNING - trust_remote_code: False\\n'\n}\n[2025-09-26T09:05:10.894Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:10,893 - WARNING - trust_remote_code: False\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:10,893 - WARNING - trust_remote_code: False\\n'\n}\n[2025-09-26T09:05:10.911Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:10,910 - INFO - Loading pretrained params from /home/lizhe/.cache/modelscope/hub/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:10,910 - INFO - Loading pretrained params from /home/lizhe/.cache/modelscope/hub/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt\\n'\n}\n[2025-09-26T09:05:10.975Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:10,975 - INFO - ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:10,975 - INFO - ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt\\n'\n}\n[2025-09-26T09:05:11.030Z] FunASR服务器错误输出 {\n  errorOutput: \"2025-09-26 17:05:11,030 - INFO - scope_map: ['module.', 'None']\\n\" +\n    '2025-09-26 17:05:11,030 - INFO - excludes: None\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: \"2025-09-26 17:05:11,030 - INFO - scope_map: ['module.', 'None']\\n\" +\n    '2025-09-26 17:05:11,030 - INFO - excludes: None\\n'\n}\n[2025-09-26T09:05:11.030Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:11,030 - INFO - Loading ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt, status: <All keys matched successfully>\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:11,030 - INFO - Loading ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt, status: <All keys matched successfully>\\n'\n}\n[2025-09-26T09:05:11.031Z] FunASR服务器错误输出 { errorOutput: '2025-09-26 17:05:11,031 - INFO - VAD模型加载完成\\n' }\n[FunASR] Python stderr { errorOutput: '2025-09-26 17:05:11,031 - INFO - VAD模型加载完成\\n' }\n[2025-09-26T09:05:11.031Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:11,031 - INFO - vad模型加载线程耗时: 3.21秒\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:11,031 - INFO - vad模型加载线程耗时: 3.21秒\\n'\n}\n[2025-09-26T09:05:11.043Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:11,043 - INFO - Loading pretrained params from /home/lizhe/.cache/modelscope/hub/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:11,043 - INFO - Loading pretrained params from /home/lizhe/.cache/modelscope/hub/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt\\n'\n}\n[2025-09-26T09:05:11.044Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:11,044 - INFO - ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:11,044 - INFO - ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt\\n'\n}\n[2025-09-26T09:05:11.146Z] FunASR服务器错误输出 {\n  errorOutput: \"2025-09-26 17:05:11,145 - INFO - scope_map: ['module.', 'None']\\n\" +\n    '2025-09-26 17:05:11,145 - INFO - excludes: None\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: \"2025-09-26 17:05:11,145 - INFO - scope_map: ['module.', 'None']\\n\" +\n    '2025-09-26 17:05:11,145 - INFO - excludes: None\\n'\n}\n[2025-09-26T09:05:11.170Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:11,170 - INFO - Loading ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt, status: <All keys matched successfully>\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:11,170 - INFO - Loading ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt, status: <All keys matched successfully>\\n'\n}\n[2025-09-26T09:05:11.171Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:11,171 - INFO - 标点恢复模型加载完成 - 模型创建耗时: 1.42秒, 总耗时: 3.35秒\\n' +\n    '2025-09-26 17:05:11,171 - INFO - punc模型加载线程耗时: 3.35秒\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:11,171 - INFO - 标点恢复模型加载完成 - 模型创建耗时: 1.42秒, 总耗时: 3.35秒\\n' +\n    '2025-09-26 17:05:11,171 - INFO - punc模型加载线程耗时: 3.35秒\\n'\n}\n[2025-09-26T09:05:11.479Z] 检查模型缓存路径: /home/lizhe/.cache/modelscope/hub/models/damo\n[2025-09-26T09:05:11.479Z] 模型检查完成: {\n  allDownloaded: true,\n  missingModels: [],\n  details: {\n    asr: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt',\n      size: 880502012,\n      expected_size: 880803840,\n      complete: true\n    },\n    vad: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt',\n      size: 1721366,\n      expected_size: 1677721.6,\n      complete: true\n    },\n    punc: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt',\n      size: 291979892,\n      expected_size: 291504128,\n      complete: true\n    }\n  }\n}\n[2025-09-26T09:05:11.480Z] 所有发送者都已注销，注销F2热键\n[460362:0926/170511.481872:ERROR:components/dbus/xdg/request.cc:169] Request ended (non-user cancelled).\n[2025-09-26T09:05:11.787Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:11,787 - INFO - Loading pretrained params from /home/lizhe/.cache/modelscope/hub/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:11,787 - INFO - Loading pretrained params from /home/lizhe/.cache/modelscope/hub/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt\\n'\n}\n[2025-09-26T09:05:11.789Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:11,789 - INFO - ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:11,789 - INFO - ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt\\n'\n}\n[2025-09-26T09:05:12.151Z] FunASR服务器错误输出 {\n  errorOutput: \"2025-09-26 17:05:12,151 - INFO - scope_map: ['module.', 'None']\\n\" +\n    '2025-09-26 17:05:12,151 - INFO - excludes: None\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: \"2025-09-26 17:05:12,151 - INFO - scope_map: ['module.', 'None']\\n\" +\n    '2025-09-26 17:05:12,151 - INFO - excludes: None\\n'\n}\n[2025-09-26T09:05:12.328Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:12,328 - INFO - Loading ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt, status: <All keys matched successfully>\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:12,328 - INFO - Loading ckpt: /home/lizhe/.cache/modelscope/hub/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt, status: <All keys matched successfully>\\n'\n}\n[2025-09-26T09:05:12.332Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:12,332 - INFO - ASR模型加载完成\\n' +\n    '2025-09-26 17:05:12,332 - INFO - asr模型加载线程耗时: 4.51秒\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:12,332 - INFO - ASR模型加载完成\\n' +\n    '2025-09-26 17:05:12,332 - INFO - asr模型加载线程耗时: 4.51秒\\n'\n}\n[2025-09-26T09:05:12.332Z] FunASR服务器错误输出 {\n  errorOutput: '2025-09-26 17:05:12,332 - INFO - 所有FunASR模型并行初始化完成，总耗时: 4.51秒\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-26 17:05:12,332 - INFO - 所有FunASR模型并行初始化完成，总耗时: 4.51秒\\n'\n}\n[2025-09-26T09:05:12.332Z] FunASR服务器输出 { line: '{\"success\": true, \"message\": \"FunASR模型并行初始化成功，耗时: 4.51秒\"}' }\n[2025-09-26T09:05:12.332Z] FunASR服务器启动成功，模型已初始化\n[2025-09-26T09:05:14.479Z] 检查模型缓存路径: /home/lizhe/.cache/modelscope/hub/models/damo\n[2025-09-26T09:05:14.480Z] 模型检查完成: {\n  allDownloaded: true,\n  missingModels: [],\n  details: {\n    asr: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt',\n      size: 880502012,\n      expected_size: 880803840,\n      complete: true\n    },\n    vad: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt',\n      size: 1721366,\n      expected_size: 1677721.6,\n      complete: true\n    },\n    punc: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt',\n      size: 291979892,\n      expected_size: 291504128,\n      complete: true\n    }\n  }\n}\n[2025-09-26T09:05:14.481Z] 检查模型缓存路径: /home/lizhe/.cache/modelscope/hub/models/damo\n[2025-09-26T09:05:14.481Z] 模型检查完成: {\n  allDownloaded: true,\n  missingModels: [],\n  details: {\n    asr: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/speech_paraformer-large_asr_nat-zh-cn-16k-common-vocab8404-pytorch/model.pt',\n      size: 880502012,\n      expected_size: 880803840,\n      complete: true\n    },\n    vad: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/speech_fsmn_vad_zh-cn-16k-common-pytorch/model.pt',\n      size: 1721366,\n      expected_size: 1677721.6,\n      complete: true\n    },\n    punc: {\n      exists: true,\n      path: '/home/lizhe/.cache/modelscope/hub/models/damo/punc_ct-transformer_zh-cn-common-vocab272727-pytorch/model.pt',\n      size: 291979892,\n      expected_size: 291504128,\n      complete: true\n    }\n  }\n}\n[2025-09-26T09:05:14.483Z] FunASR服务器输出 {\n  line: '{\"success\": true, \"installed\": true, \"initialized\": true, \"version\": \"1.2.7\", \"models\": {\"asr\": true, \"vad\": true, \"punc\": true}}'\n}\n[2025-09-26T09:05:14.483Z] FunASR服务器输出 {\n  line: '{\"success\": true, \"installed\": true, \"initialized\": true, \"version\": \"1.2.7\", \"models\": {\"asr\": true, \"vad\": true, \"punc\": true}}'\n}\n[2025-09-26T09:05:14.495Z] 所有发送者都已注销，注销F2热键\n(node:460362) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 destroyed listeners added to [WebContents]. MaxListeners is 10. Use emitter.setMaxListeners() to increase limit\n(Use `electron --trace-warnings ...` to show where the warning was created)\n[460362:0926/170514.500452:ERROR:components/dbus/xdg/request.cc:169] Request ended (non-user cancelled).\n```\n\n\n**环境信息**\n- 操作系统: Linux (Manjaro)\n- Electron版本: 36.5.0\n- Node.js版本: v22.16.0\n- 应用版本: 1.0.0\n",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/10/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/9",
      "id": 3456362724,
      "node_id": "I_kwDOPzbsbs7OA-jk",
      "number": 9,
      "title": "模型下载失败",
      "user": {
        "login": "yong9ai",
        "id": 46713518,
        "node_id": "MDQ6VXNlcjQ2NzEzNTE4",
        "avatar_url": "https://avatars.githubusercontent.com/u/46713518?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/yong9ai",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {},
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 1,
      "created_at": "2025-09-26T08:30:21Z",
      "updated_at": "2025-09-26T08:51:10Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "在下载模型的时候，提示失败：\npython3 download_models.py \n{\"stage\": \"error\", \"model\": \"asr\", \"progress\": 0, \"overall_progress\": 0.0, \"completed\": 1, \"total\": 3, \"error\": \"No module named 'funasr'\"}\n{\"stage\": \"error\", \"model\": \"vad\", \"progress\": 0, \"overall_progress\": 0.0, \"completed\": 2, \"total\": 3, \"error\": \"No module named 'funasr'\"}\n{\"stage\": \"error\", \"model\": \"punc\", \"progress\": 0, \"overall_progress\": 0.0, \"completed\": 3, \"total\": 3, \"error\": \"No module named 'funasr'\"}\n{\"success\": false, \"error\": \"以下模型下载失败: vad, asr, punc\", \"failed_models\": [\"vad\", \"asr\", \"punc\"], \"results\": {\"vad\": {\"success\": false, \"model\": \"vad\", \"error\": \"No module named 'funasr'\"}, \"asr\": {\"success\": false, \"model\": \"asr\", \"error\": \"No module named 'funasr'\"}, \"punc\": {\"success\": false, \"model\": \"punc\", \"error\": \"No module named 'funasr'\"}}}\n",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/9/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/8",
      "id": 3455551295,
      "node_id": "I_kwDOPzbsbs7N94c_",
      "number": 8,
      "title": "AI mode",
      "user": {
        "login": "yan5xu",
        "id": 5762066,
        "node_id": "MDQ6VXNlcjU3NjIwNjY=",
        "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/yan5xu",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 9317670592,
          "node_id": "LA_kwDOPzbsbs8AAAACK2BewA",
          "url": "https://api.github.com/repos/yan5xu/ququ/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2025-09-26T02:21:50Z",
      "updated_at": "2025-09-26T02:22:00Z",
      "closed_at": null,
      "author_association": "OWNER",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "增加一种唤起模式，唤起后进入 AI 助理模式",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/8/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/7",
      "id": 3455547929,
      "node_id": "I_kwDOPzbsbs7N93oZ",
      "number": 7,
      "title": "onnx 运行时 接入",
      "user": {
        "login": "yan5xu",
        "id": 5762066,
        "node_id": "MDQ6VXNlcjU3NjIwNjY=",
        "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/yan5xu",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 9317670592,
          "node_id": "LA_kwDOPzbsbs8AAAACK2BewA",
          "url": "https://api.github.com/repos/yan5xu/ququ/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": {
        "login": "yan5xu",
        "id": 5762066,
        "node_id": "MDQ6VXNlcjU3NjIwNjY=",
        "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/yan5xu",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "assignees": {
        "0": {
          "login": "yan5xu",
          "id": 5762066,
          "node_id": "MDQ6VXNlcjU3NjIwNjY=",
          "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/yan5xu",
          "type": "User",
          "user_view_type": "public",
          "site_admin": false
        }
      },
      "milestone": null,
      "comments": 1,
      "created_at": "2025-09-26T02:19:07Z",
      "updated_at": "2025-09-26T02:54:31Z",
      "closed_at": null,
      "author_association": "OWNER",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "提高效率，缩小包体积",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/7/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/6",
      "id": 3453893554,
      "node_id": "I_kwDOPzbsbs7N3juy",
      "number": 6,
      "title": "uv Python路径问题",
      "user": {
        "login": "litong-2017",
        "id": 25562257,
        "node_id": "MDQ6VXNlcjI1NTYyMjU3",
        "avatar_url": "https://avatars.githubusercontent.com/u/25562257?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/litong-2017",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 9317670579,
          "node_id": "LA_kwDOPzbsbs8AAAACK2Besw",
          "url": "https://api.github.com/repos/yan5xu/ququ/labels/bug",
          "name": "bug",
          "color": "d73a4a",
          "default": true,
          "description": "Something isn't working"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 2,
      "created_at": "2025-09-25T14:26:18Z",
      "updated_at": "2025-09-25T15:07:02Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "win10 使用uv，代码里面的python路径是.venv/bin和.venv/bin/Lib，实际安装的uv里面的python路径是.venv/Scripts和.venv/Lib，不改代码的解决方案是将uv的Scripts重命名为bin，并将Lib复制到bin目录下。",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/6/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/5",
      "id": 3451775409,
      "node_id": "I_kwDOPzbsbs7Nvemx",
      "number": 5,
      "title": "需求-需要自定义快捷键",
      "user": {
        "login": "lifodetails",
        "id": 50684668,
        "node_id": "MDQ6VXNlcjUwNjg0NjY4",
        "avatar_url": "https://avatars.githubusercontent.com/u/50684668?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/lifodetails",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 9317670592,
          "node_id": "LA_kwDOPzbsbs8AAAACK2BewA",
          "url": "https://api.github.com/repos/yan5xu/ququ/labels/enhancement",
          "name": "enhancement",
          "color": "a2eeef",
          "default": true,
          "description": "New feature or request"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 0,
      "created_at": "2025-09-25T03:57:10Z",
      "updated_at": "2025-09-25T09:03:08Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "比如 右 Ctrl \n不是组合键，是单键",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/5/reactions",
        "total_count": 1,
        "+1": 1,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/issues/3",
      "id": 3439189812,
      "node_id": "I_kwDOPzbsbs7M_d80",
      "number": 3,
      "title": "Windows 11 部署后识别出现中文乱码",
      "user": {
        "login": "CMander02",
        "id": 66042762,
        "node_id": "MDQ6VXNlcjY2MDQyNzYy",
        "avatar_url": "https://avatars.githubusercontent.com/u/66042762?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/CMander02",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "labels": {
        "0": {
          "id": 9317670579,
          "node_id": "LA_kwDOPzbsbs8AAAACK2Besw",
          "url": "https://api.github.com/repos/yan5xu/ququ/labels/bug",
          "name": "bug",
          "color": "d73a4a",
          "default": true,
          "description": "Something isn't working"
        }
      },
      "state": "open",
      "locked": false,
      "assignee": null,
      "assignees": {},
      "milestone": null,
      "comments": 3,
      "created_at": "2025-09-22T05:01:09Z",
      "updated_at": "2025-10-02T02:28:51Z",
      "closed_at": null,
      "author_association": "NONE",
      "active_lock_reason": null,
      "sub_issues_summary": {
        "total": 0,
        "completed": 0,
        "percent_completed": 0
      },
      "issue_dependencies_summary": {
        "blocked_by": 0,
        "total_blocked_by": 0,
        "blocking": 0,
        "total_blocking": 0
      },
      "body": "Windows11， uv + pnpm 部署环境，然后按照README 格式启动，识别界面出现严重乱码；\n\n<img width=\"449\" height=\"563\" alt=\"Image\" src=\"https://github.com/user-attachments/assets/ec4a0e0e-287e-4dd7-9db8-6d23fdd210e7\" />\n\n不止是识别界面，Log界面也出现大量中文乱码：\n\n[2025-09-22T04:58:31.330Z] FunASR鏈嶅姟鍣ㄩ敊璇緭鍑?{\n  errorOutput: '\\rrtf_avg: -0.004: 100%|\\x1B[34m锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷\\x1B[0m| 1/1 [00:00<00:00, 200.00it/s]\\r\\n' +\n    '2025-09-22 12:58:31,329 - INFO - FunASR锟斤拷锟街革拷锟斤拷锟絓r\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '\\rrtf_avg: -0.004: 100%|\\x1B[34m锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷\\x1B[0m| 1/1 [00:00<00:00, 200.00it/s]\\r\\n' +\n    '2025-09-22 12:58:31,329 - INFO - FunASR锟斤拷锟街革拷锟斤拷锟絓r\\n'\n}\n[2025-09-22T04:58:35.288Z] FunASR鏈嶅姟鍣ㄩ敊璇緭鍑?{\n  errorOutput: '2025-09-22 12:58:35,287 - INFO - 转录锟斤拷桑锟斤拷锟斤拷锟斤拷谋锟? 锟斤拷锟皆诧拷锟皆诧拷锟皆★拷...\\r\\n'\n}\n[FunASR] Python stderr {\n  errorOutput: '2025-09-22 12:58:35,287 - INFO - 转录锟斤拷桑锟斤拷锟斤拷锟斤拷谋锟? 锟斤拷锟皆诧拷锟皆诧拷锟皆★拷...\\r\\n'\n}\n[2025-09-22T04:58:35.288Z] FunASR鏈嶅姟鍣ㄨ緭鍑?{\n  line: '{\"success\": true, \"text\": \"锟斤拷锟皆诧拷锟皆诧拷锟皆★拷\", \"raw_text\": \"锟斤拷锟皆诧拷锟皆诧拷锟斤拷\", \"confidence\": 0.0, \"duration\": 2.52, \"language\": \"zh-CN\", \"model_type\": \"pytorch\"}\\r'\n}\n[2025-09-22T04:58:35.390Z] [娓叉煋杩涚▼] 寮€濮婣I鏂囨湰浼樺寲: \n[2025-09-22T04:58:35.391Z] AI鏂囨湰澶勭悊璇锋眰: {\n  baseUrl: 'https://dashscope.aliyuncs.com/compatible-mode/v1',\n  model: 'qwen3-30b-a3b-instruct-2507',\n  mode: 'optimize',\n  inputText: '锟斤拷锟皆诧拷锟皆诧拷锟皆★拷',\n  requestData: {\n    model: 'qwen3-30b-a3b-instruct-2507',\n    messages: [ [Object] ],\n    temperature: 0.3,\n    max_tokens: 2000,\n    stream: false\n  }\n}\n[2025-09-22T04:58:35.918Z] AI鏂囨湰澶勭悊鍝嶅簲: {\n  status: 200,\n  data: {\n    choices: [ [Object] ],\n    created: 1758517117366,\n    id: 'chatcmpl-f46163fb-cee9-4afd-b4fd-6339b8c7f5e9',\n    model: 'qwen3-30b-a3b-instruct-2507',\n    object: 'chat.completion',\n    usage: { completion_tokens: 11, prompt_tokens: 670, total_tokens: 681 }\n  },\n  usage: { completion_tokens: 11, prompt_tokens: 670, total_tokens: 681 }\n}\n[2025-09-22T04:58:35.919Z] AI鏂囨湰澶勭悊缁撴灉: {\n  originalText: '锟斤拷锟皆诧拷锟皆诧拷锟皆★拷',\n  optimizedText: '```\\n圆圆浴\\n```',\n  usage: { completion_tokens: 11, prompt_tokens: 670, total_tokens: 681 }\n}\n[2025-09-22T04:58:35.920Z] [娓叉煋杩涚▼] AI鏂囨湰浼樺寲鎴愬姛\n[2025-09-22T04:58:35.920Z] [娓叉煋杩涚▼] 鍑嗗淇濆瓨杞綍鏁版嵁:\n[2025-09-22T04:58:35.931Z] [娓叉煋杩涚▼] 杞綍鏁版嵁淇濆瓨鎴愬姛: \n[2025-09-22T04:58:35.931Z] 馃捑 宸蹭繚瀛樺師濮嬪壀璐存澘鍐呭 https://ocosplay.com/se/g/95834?page=5...\n[2025-09-22T04:58:35.932Z] 馃搵 鏂囨湰宸插鍒跺埌鍓创鏉?```\n圆圆浴\n```...\n",
      "closed_by": null,
      "reactions": {
        "url": "https://api.github.com/repos/yan5xu/ququ/issues/3/reactions",
        "total_count": 0,
        "+1": 0,
        "-1": 0,
        "laugh": 0,
        "hooray": 0,
        "confused": 0,
        "heart": 0,
        "rocket": 0,
        "eyes": 0
      },
      "performed_via_github_app": null,
      "state_reason": null,
      "linked_prs": []
    }
  ],
  "pulls": [
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/pulls/22",
      "id": 2884323910,
      "node_id": "PR_kwDOPzbsbs6r60pG",
      "number": 22,
      "state": "open",
      "locked": false,
      "title": "docs(contributing): 添加详细的项目贡献指南文档",
      "user": {
        "login": "jinzhongjia",
        "id": 41784264,
        "node_id": "MDQ6VXNlcjQxNzg0MjY0",
        "avatar_url": "https://avatars.githubusercontent.com/u/41784264?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/jinzhongjia",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "body": "- 完整编写 CONTRIBUTING.md，包含项目概览、技术架构、开发环境搭建等章节\r\n- 详细说明项目结构、核心模块、开发工作流和代码规范\r\n- 添加测试指南、常见问题解答和提交规范\r\n- 提供详细的 PR 流程和贡献者指南",
      "created_at": "2025-10-03T09:09:13Z",
      "updated_at": "2025-10-03T09:09:13Z",
      "closed_at": null,
      "merged_at": null,
      "merge_commit_sha": "debcd1bb434cba59a6dc33d8181d8a8e6a916d65",
      "assignee": null,
      "assignees": {},
      "requested_reviewers": {},
      "requested_teams": {},
      "labels": {},
      "milestone": null,
      "draft": false,
      "head": {
        "label": "jinzhongjia:main",
        "ref": "main",
        "sha": "41e25d449081c89228bccd318c43bb0264cc0328",
        "user": {
          "login": "jinzhongjia",
          "id": 41784264,
          "node_id": "MDQ6VXNlcjQxNzg0MjY0",
          "avatar_url": "https://avatars.githubusercontent.com/u/41784264?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/jinzhongjia",
          "type": "User",
          "user_view_type": "public",
          "site_admin": false
        },
        "repo": {
          "id": 1067655532,
          "node_id": "R_kgDOP6MhbA",
          "name": "ququ",
          "full_name": "jinzhongjia/ququ",
          "private": false,
          "owner": {
            "login": "jinzhongjia",
            "id": 41784264,
            "node_id": "MDQ6VXNlcjQxNzg0MjY0",
            "avatar_url": "https://avatars.githubusercontent.com/u/41784264?v=4",
            "gravatar_id": "",
            "url": "https://api.github.com/users/jinzhongjia",
            "type": "User",
            "user_view_type": "public",
            "site_admin": false
          },
          "description": "开源免费的 Wispr Flow 替代方案 | 集成FunASR本地模型和可配置大语言模型的下一代中文桌面语音工作流",
          "fork": true,
          "url": "https://api.github.com/repos/jinzhongjia/ququ",
          "created_at": "2025-10-01T07:25:15Z",
          "updated_at": "2025-10-03T09:08:45Z",
          "pushed_at": "2025-10-04T03:38:25Z",
          "homepage": "",
          "size": 2143,
          "stargazers_count": 0,
          "watchers_count": 0,
          "language": "JavaScript",
          "has_issues": false,
          "has_projects": true,
          "has_downloads": true,
          "has_wiki": true,
          "has_pages": false,
          "has_discussions": false,
          "forks_count": 0,
          "archived": false,
          "disabled": false,
          "open_issues_count": 0,
          "license": {
            "key": "other",
            "name": "Other",
            "spdx_id": "NOASSERTION",
            "url": null,
            "node_id": "MDc6TGljZW5zZTA="
          },
          "allow_forking": true,
          "is_template": false,
          "web_commit_signoff_required": false,
          "topics": {},
          "visibility": "public",
          "forks": 0,
          "open_issues": 0,
          "watchers": 0,
          "default_branch": "main"
        }
      },
      "base": {
        "label": "yan5xu:main",
        "ref": "main",
        "sha": "d12bd06c9a0b19a3ba264cf56fe45864b7706768",
        "user": {
          "login": "yan5xu",
          "id": 5762066,
          "node_id": "MDQ6VXNlcjU3NjIwNjY=",
          "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/yan5xu",
          "type": "User",
          "user_view_type": "public",
          "site_admin": false
        },
        "repo": {
          "id": 1060564078,
          "node_id": "R_kgDOPzbsbg",
          "name": "ququ",
          "full_name": "yan5xu/ququ",
          "private": false,
          "owner": {
            "login": "yan5xu",
            "id": 5762066,
            "node_id": "MDQ6VXNlcjU3NjIwNjY=",
            "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
            "gravatar_id": "",
            "url": "https://api.github.com/users/yan5xu",
            "type": "User",
            "user_view_type": "public",
            "site_admin": false
          },
          "description": "开源免费的 Wispr Flow 替代方案 | 集成FunASR本地模型和可配置大语言模型的下一代中文桌面语音工作流",
          "fork": false,
          "url": "https://api.github.com/repos/yan5xu/ququ",
          "created_at": "2025-09-20T06:26:58Z",
          "updated_at": "2025-10-21T02:52:02Z",
          "pushed_at": "2025-10-08T04:41:18Z",
          "homepage": "",
          "size": 2138,
          "stargazers_count": 1521,
          "watchers_count": 1521,
          "language": "JavaScript",
          "has_issues": true,
          "has_projects": true,
          "has_downloads": true,
          "has_wiki": true,
          "has_pages": false,
          "has_discussions": true,
          "forks_count": 137,
          "archived": false,
          "disabled": false,
          "open_issues_count": 23,
          "license": {
            "key": "other",
            "name": "Other",
            "spdx_id": "NOASSERTION",
            "url": null,
            "node_id": "MDc6TGljZW5zZTA="
          },
          "allow_forking": true,
          "is_template": false,
          "web_commit_signoff_required": false,
          "topics": {
            "0": "ai-text-processing",
            "1": "chinese-speech-recognition",
            "2": "electron-app",
            "3": "funasr",
            "4": "local-processing",
            "5": "open-source",
            "6": "privacy-first",
            "7": "speech-to-text",
            "8": "voice-dictation",
            "9": "wispr-flow-alternative"
          },
          "visibility": "public",
          "forks": 137,
          "open_issues": 23,
          "watchers": 1521,
          "default_branch": "main"
        }
      },
      "_links": {
        "self": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/22"
        },
        "html": {
          "href": "https://github.com/yan5xu/ququ/pull/22"
        },
        "issue": {
          "href": "https://api.github.com/repos/yan5xu/ququ/issues/22"
        },
        "comments": {
          "href": "https://api.github.com/repos/yan5xu/ququ/issues/22/comments"
        },
        "review_comments": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/22/comments"
        },
        "review_comment": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/comments{/number}"
        },
        "commits": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/22/commits"
        },
        "statuses": {
          "href": "https://api.github.com/repos/yan5xu/ququ/statuses/41e25d449081c89228bccd318c43bb0264cc0328"
        }
      },
      "author_association": "CONTRIBUTOR",
      "auto_merge": null,
      "active_lock_reason": null,
      "linked_issues": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/pulls/17",
      "id": 2867655245,
      "node_id": "PR_kwDOPzbsbs6q7PJN",
      "number": 17,
      "state": "open",
      "locked": false,
      "title": "Feat/custom hotkeys",
      "user": {
        "login": "lzyyauto",
        "id": 3193916,
        "node_id": "MDQ6VXNlcjMxOTM5MTY=",
        "avatar_url": "https://avatars.githubusercontent.com/u/3193916?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/lzyyauto",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "body": "1. 增加自定义热键\r\n2. 去除了F2热键相关\r\n3. 增加了热键提示音",
      "created_at": "2025-09-28T11:41:30Z",
      "updated_at": "2025-10-01T12:24:37Z",
      "closed_at": null,
      "merged_at": null,
      "merge_commit_sha": "50dd7194df3803bc84c1ca6a0cd3adfd5a1a79ba",
      "assignee": null,
      "assignees": {},
      "requested_reviewers": {},
      "requested_teams": {},
      "labels": {},
      "milestone": null,
      "draft": false,
      "head": {
        "label": "lzyyauto:feat/custom-hotkeys",
        "ref": "feat/custom-hotkeys",
        "sha": "e4469e62972e1fb79d8f18c0346c5464d81452bf",
        "user": {
          "login": "lzyyauto",
          "id": 3193916,
          "node_id": "MDQ6VXNlcjMxOTM5MTY=",
          "avatar_url": "https://avatars.githubusercontent.com/u/3193916?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/lzyyauto",
          "type": "User",
          "user_view_type": "public",
          "site_admin": false
        },
        "repo": {
          "id": 1064766000,
          "node_id": "R_kgDOP3cKMA",
          "name": "ququ",
          "full_name": "lzyyauto/ququ",
          "private": false,
          "owner": {
            "login": "lzyyauto",
            "id": 3193916,
            "node_id": "MDQ6VXNlcjMxOTM5MTY=",
            "avatar_url": "https://avatars.githubusercontent.com/u/3193916?v=4",
            "gravatar_id": "",
            "url": "https://api.github.com/users/lzyyauto",
            "type": "User",
            "user_view_type": "public",
            "site_admin": false
          },
          "description": "开源免费的 Wispr Flow 替代方案 | 集成FunASR本地模型和可配置大语言模型的下一代中文桌面语音工作流",
          "fork": true,
          "url": "https://api.github.com/repos/lzyyauto/ququ",
          "created_at": "2025-09-26T14:16:22Z",
          "updated_at": "2025-09-26T14:19:36Z",
          "pushed_at": "2025-09-28T11:37:43Z",
          "homepage": "",
          "size": 2313,
          "stargazers_count": 0,
          "watchers_count": 0,
          "language": "JavaScript",
          "has_issues": false,
          "has_projects": true,
          "has_downloads": true,
          "has_wiki": true,
          "has_pages": false,
          "has_discussions": false,
          "forks_count": 0,
          "archived": false,
          "disabled": false,
          "open_issues_count": 0,
          "license": {
            "key": "other",
            "name": "Other",
            "spdx_id": "NOASSERTION",
            "url": null,
            "node_id": "MDc6TGljZW5zZTA="
          },
          "allow_forking": true,
          "is_template": false,
          "web_commit_signoff_required": false,
          "topics": {},
          "visibility": "public",
          "forks": 0,
          "open_issues": 0,
          "watchers": 0,
          "default_branch": "main"
        }
      },
      "base": {
        "label": "yan5xu:main",
        "ref": "main",
        "sha": "d12bd06c9a0b19a3ba264cf56fe45864b7706768",
        "user": {
          "login": "yan5xu",
          "id": 5762066,
          "node_id": "MDQ6VXNlcjU3NjIwNjY=",
          "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/yan5xu",
          "type": "User",
          "user_view_type": "public",
          "site_admin": false
        },
        "repo": {
          "id": 1060564078,
          "node_id": "R_kgDOPzbsbg",
          "name": "ququ",
          "full_name": "yan5xu/ququ",
          "private": false,
          "owner": {
            "login": "yan5xu",
            "id": 5762066,
            "node_id": "MDQ6VXNlcjU3NjIwNjY=",
            "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
            "gravatar_id": "",
            "url": "https://api.github.com/users/yan5xu",
            "type": "User",
            "user_view_type": "public",
            "site_admin": false
          },
          "description": "开源免费的 Wispr Flow 替代方案 | 集成FunASR本地模型和可配置大语言模型的下一代中文桌面语音工作流",
          "fork": false,
          "url": "https://api.github.com/repos/yan5xu/ququ",
          "created_at": "2025-09-20T06:26:58Z",
          "updated_at": "2025-10-21T02:52:02Z",
          "pushed_at": "2025-10-08T04:41:18Z",
          "homepage": "",
          "size": 2138,
          "stargazers_count": 1521,
          "watchers_count": 1521,
          "language": "JavaScript",
          "has_issues": true,
          "has_projects": true,
          "has_downloads": true,
          "has_wiki": true,
          "has_pages": false,
          "has_discussions": true,
          "forks_count": 137,
          "archived": false,
          "disabled": false,
          "open_issues_count": 23,
          "license": {
            "key": "other",
            "name": "Other",
            "spdx_id": "NOASSERTION",
            "url": null,
            "node_id": "MDc6TGljZW5zZTA="
          },
          "allow_forking": true,
          "is_template": false,
          "web_commit_signoff_required": false,
          "topics": {
            "0": "ai-text-processing",
            "1": "chinese-speech-recognition",
            "2": "electron-app",
            "3": "funasr",
            "4": "local-processing",
            "5": "open-source",
            "6": "privacy-first",
            "7": "speech-to-text",
            "8": "voice-dictation",
            "9": "wispr-flow-alternative"
          },
          "visibility": "public",
          "forks": 137,
          "open_issues": 23,
          "watchers": 1521,
          "default_branch": "main"
        }
      },
      "_links": {
        "self": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/17"
        },
        "html": {
          "href": "https://github.com/yan5xu/ququ/pull/17"
        },
        "issue": {
          "href": "https://api.github.com/repos/yan5xu/ququ/issues/17"
        },
        "comments": {
          "href": "https://api.github.com/repos/yan5xu/ququ/issues/17/comments"
        },
        "review_comments": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/17/comments"
        },
        "review_comment": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/comments{/number}"
        },
        "commits": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/17/commits"
        },
        "statuses": {
          "href": "https://api.github.com/repos/yan5xu/ququ/statuses/e4469e62972e1fb79d8f18c0346c5464d81452bf"
        }
      },
      "author_association": "NONE",
      "auto_merge": null,
      "active_lock_reason": null,
      "linked_issues": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/pulls/15",
      "id": 2866603468,
      "node_id": "PR_kwDOPzbsbs6q3OXM",
      "number": 15,
      "state": "open",
      "locked": false,
      "title": "fix: 解决构建过程中的网络和依赖问题",
      "user": {
        "login": "DrayChou",
        "id": 760245,
        "node_id": "MDQ6VXNlcjc2MDI0NQ==",
        "avatar_url": "https://avatars.githubusercontent.com/u/760245?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/DrayChou",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "body": "- 使用uv替代嵌入式Python下载，解决GitHub连接问题\r\n- 禁用原生依赖重建以避免编译错误\r\n- 禁用代码签名避免权限问题\r\n- 添加dist:no-python备用构建选项\r\n- 更新依赖配置支持优化后的构建流程",
      "created_at": "2025-09-27T14:53:32Z",
      "updated_at": "2025-10-01T12:24:37Z",
      "closed_at": null,
      "merged_at": null,
      "merge_commit_sha": null,
      "assignee": null,
      "assignees": {},
      "requested_reviewers": {},
      "requested_teams": {},
      "labels": {},
      "milestone": null,
      "draft": false,
      "head": {
        "label": "DrayChou:main",
        "ref": "main",
        "sha": "d0063c799324c18be1996df5e462dafc24aee056",
        "user": {
          "login": "DrayChou",
          "id": 760245,
          "node_id": "MDQ6VXNlcjc2MDI0NQ==",
          "avatar_url": "https://avatars.githubusercontent.com/u/760245?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/DrayChou",
          "type": "User",
          "user_view_type": "public",
          "site_admin": false
        },
        "repo": {
          "id": 1065266442,
          "node_id": "R_kgDOP36tCg",
          "name": "DouDou",
          "full_name": "DrayChou/DouDou",
          "private": false,
          "owner": {
            "login": "DrayChou",
            "id": 760245,
            "node_id": "MDQ6VXNlcjc2MDI0NQ==",
            "avatar_url": "https://avatars.githubusercontent.com/u/760245?v=4",
            "gravatar_id": "",
            "url": "https://api.github.com/users/DrayChou",
            "type": "User",
            "user_view_type": "public",
            "site_admin": false
          },
          "description": "开源免费的 Wispr Flow 替代方案 | 集成FunASR本地模型和可配置大语言模型的下一代中文桌面语音工作流",
          "fork": true,
          "url": "https://api.github.com/repos/DrayChou/DouDou",
          "created_at": "2025-09-27T11:29:40Z",
          "updated_at": "2025-10-07T06:21:22Z",
          "pushed_at": "2025-10-07T06:21:19Z",
          "homepage": "",
          "size": 2619,
          "stargazers_count": 0,
          "watchers_count": 0,
          "language": "Python",
          "has_issues": false,
          "has_projects": true,
          "has_downloads": true,
          "has_wiki": true,
          "has_pages": false,
          "has_discussions": false,
          "forks_count": 0,
          "archived": false,
          "disabled": false,
          "open_issues_count": 0,
          "license": {
            "key": "other",
            "name": "Other",
            "spdx_id": "NOASSERTION",
            "url": null,
            "node_id": "MDc6TGljZW5zZTA="
          },
          "allow_forking": true,
          "is_template": false,
          "web_commit_signoff_required": false,
          "topics": {},
          "visibility": "public",
          "forks": 0,
          "open_issues": 0,
          "watchers": 0,
          "default_branch": "feature/flet-ui-modernization"
        }
      },
      "base": {
        "label": "yan5xu:main",
        "ref": "main",
        "sha": "d12bd06c9a0b19a3ba264cf56fe45864b7706768",
        "user": {
          "login": "yan5xu",
          "id": 5762066,
          "node_id": "MDQ6VXNlcjU3NjIwNjY=",
          "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/yan5xu",
          "type": "User",
          "user_view_type": "public",
          "site_admin": false
        },
        "repo": {
          "id": 1060564078,
          "node_id": "R_kgDOPzbsbg",
          "name": "ququ",
          "full_name": "yan5xu/ququ",
          "private": false,
          "owner": {
            "login": "yan5xu",
            "id": 5762066,
            "node_id": "MDQ6VXNlcjU3NjIwNjY=",
            "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
            "gravatar_id": "",
            "url": "https://api.github.com/users/yan5xu",
            "type": "User",
            "user_view_type": "public",
            "site_admin": false
          },
          "description": "开源免费的 Wispr Flow 替代方案 | 集成FunASR本地模型和可配置大语言模型的下一代中文桌面语音工作流",
          "fork": false,
          "url": "https://api.github.com/repos/yan5xu/ququ",
          "created_at": "2025-09-20T06:26:58Z",
          "updated_at": "2025-10-21T02:52:02Z",
          "pushed_at": "2025-10-08T04:41:18Z",
          "homepage": "",
          "size": 2138,
          "stargazers_count": 1521,
          "watchers_count": 1521,
          "language": "JavaScript",
          "has_issues": true,
          "has_projects": true,
          "has_downloads": true,
          "has_wiki": true,
          "has_pages": false,
          "has_discussions": true,
          "forks_count": 137,
          "archived": false,
          "disabled": false,
          "open_issues_count": 23,
          "license": {
            "key": "other",
            "name": "Other",
            "spdx_id": "NOASSERTION",
            "url": null,
            "node_id": "MDc6TGljZW5zZTA="
          },
          "allow_forking": true,
          "is_template": false,
          "web_commit_signoff_required": false,
          "topics": {
            "0": "ai-text-processing",
            "1": "chinese-speech-recognition",
            "2": "electron-app",
            "3": "funasr",
            "4": "local-processing",
            "5": "open-source",
            "6": "privacy-first",
            "7": "speech-to-text",
            "8": "voice-dictation",
            "9": "wispr-flow-alternative"
          },
          "visibility": "public",
          "forks": 137,
          "open_issues": 23,
          "watchers": 1521,
          "default_branch": "main"
        }
      },
      "_links": {
        "self": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/15"
        },
        "html": {
          "href": "https://github.com/yan5xu/ququ/pull/15"
        },
        "issue": {
          "href": "https://api.github.com/repos/yan5xu/ququ/issues/15"
        },
        "comments": {
          "href": "https://api.github.com/repos/yan5xu/ququ/issues/15/comments"
        },
        "review_comments": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/15/comments"
        },
        "review_comment": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/comments{/number}"
        },
        "commits": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/15/commits"
        },
        "statuses": {
          "href": "https://api.github.com/repos/yan5xu/ququ/statuses/d0063c799324c18be1996df5e462dafc24aee056"
        }
      },
      "author_association": "NONE",
      "auto_merge": null,
      "active_lock_reason": null,
      "linked_issues": []
    },
    {
      "url": "https://api.github.com/repos/yan5xu/ququ/pulls/13",
      "id": 2865871646,
      "node_id": "PR_kwDOPzbsbs6q0bse",
      "number": 13,
      "state": "open",
      "locked": false,
      "title": "fix: upgrade electron-builder to pass windows build",
      "user": {
        "login": "1WorldCapture",
        "id": 157363743,
        "node_id": "U_kgDOCWEuHw",
        "avatar_url": "https://avatars.githubusercontent.com/u/157363743?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/1WorldCapture",
        "type": "User",
        "user_view_type": "public",
        "site_admin": false
      },
      "body": "clone完项目后运行pnpm install报错：\r\n```\r\npnpm install\r\nLockfile is up to date, resolution step is skipped\r\nAlready up to date\r\n\r\n╭ Warning ───────────────────────────────────────────────────────────────────────────────────╮\r\n│                                                                                            │\r\n│   Ignored build scripts: @tailwindcss/oxide, esbuild, ffmpeg-static.                       │\r\n│   Run \"pnpm approve-builds\" to pick which dependencies should be allowed to run scripts.   │\r\n│                                                                                            │\r\n╰────────────────────────────────────────────────────────────────────────────────────────────╯\r\n\r\n. postinstall$ electron-builder install-app-deps\r\n│   • electron-builder  version=24.13.3\r\n│   • loaded configuration  file=package.json (\"build\" field)\r\n│   • rebuilding native dependencies  dependencies=better-sqlite3@11.10.0 platform=win32 arch=x64\r\n│   • install prebuilt binary  name=better-sqlite3 version=11.10.0 platform=win32 arch=x64 napi=\r\n│   ⨯ cannot find prebuild-install  \r\n│   ⨯ cannot execute  cause=fork/exec C:\\Users\\lyon\\AppData\\Roaming\\nvm\\v20.18.1\\node_modules\\pnpm\\bin\\pnpm.cjs: %1 is not a valid Win32 application.\r\n│                     command='C:\\Users\\lyon\\AppData\\Roaming\\nvm\\v20.18.1\\node_modules\\pnpm\\bin\\pnpm.cjs' rebuild better-sqlite3@11.10.0\r\n│                     workingDir=\r\n└─ Failed in 725ms at D:\\workspace-new\\ququ\r\n ELIFECYCLE  Command failed with exit code 1.\r\n```\r\n\r\nAI辅助排查：\r\n```\r\n我已检查到以下关键信息（基于你的项目和当前系统）：\r\n•  Node: v20.18.1\r\n•  pnpm: 10.12.3（PowerShell 实际使用的是 C:\\nodejs\\pnpm.ps1）\r\n•  electron: 36.5.0\r\n•  electron-builder: ^24.6.4（实际解析为 24.13.x，从之前日志可见）\r\n•  better-sqlite3: 11.10.0\r\n•  package.json 有 postinstall: electron-builder install-app-deps\r\n\r\n结论（结合你之前的报错栈）：\r\n•  electron-builder 24.13.x 在 Windows 上调用包管理器时，会直接尝试执行 pnpm 的入口脚本 pnpm.cjs（路径显示为 C:\\Users\\lyon\\AppData\\Roaming\\nvm\\v20.18.1\\node_modules\\pnpm\\bin\\pnpm.cjs），而不是通过 node 或 Windows 的 shim（pnpm.cmd / pnpm.ps1）。这会触发 “%1 is not a valid Win32 application.”。\r\n•  同时 electron-builder 先尝试获取 better-sqlite3 的预编译二进制，但显示 “cannot find prebuild-install”，于是回退到 “pnpm rebuild …”，进而踩到上面这个 Win32 执行错误。\r\n•  你的 pnpm 版本是 10.x，会要求 “pnpm approve-builds” 才允许运行部分依赖的构建脚本，日志里也提示忽略了 @tailwindcss/oxide、esbuild、ffmpeg-static 的构建脚本。这不是这次失败的直接原因，但后续也需要批准。\r\n```\r\n\r\n将electron-builder升级到26.0.0解决问题。",
      "created_at": "2025-09-27T01:37:07Z",
      "updated_at": "2025-10-01T12:24:37Z",
      "closed_at": null,
      "merged_at": null,
      "merge_commit_sha": null,
      "assignee": null,
      "assignees": {},
      "requested_reviewers": {},
      "requested_teams": {},
      "labels": {},
      "milestone": null,
      "draft": false,
      "head": {
        "label": "1WorldCapture:main",
        "ref": "main",
        "sha": "5dc5bce0cf7a4a17088e458a692953e844e5d903",
        "user": {
          "login": "1WorldCapture",
          "id": 157363743,
          "node_id": "U_kgDOCWEuHw",
          "avatar_url": "https://avatars.githubusercontent.com/u/157363743?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/1WorldCapture",
          "type": "User",
          "user_view_type": "public",
          "site_admin": false
        },
        "repo": {
          "id": 1065042929,
          "node_id": "R_kgDOP3tD8Q",
          "name": "ququ",
          "full_name": "1WorldCapture/ququ",
          "private": false,
          "owner": {
            "login": "1WorldCapture",
            "id": 157363743,
            "node_id": "U_kgDOCWEuHw",
            "avatar_url": "https://avatars.githubusercontent.com/u/157363743?v=4",
            "gravatar_id": "",
            "url": "https://api.github.com/users/1WorldCapture",
            "type": "User",
            "user_view_type": "public",
            "site_admin": false
          },
          "description": "开源免费的 Wispr Flow 替代方案 | 集成FunASR本地模型和可配置大语言模型的下一代中文桌面语音工作流",
          "fork": true,
          "url": "https://api.github.com/repos/1WorldCapture/ququ",
          "created_at": "2025-09-27T01:02:29Z",
          "updated_at": "2025-09-27T01:35:18Z",
          "pushed_at": "2025-09-27T01:35:15Z",
          "homepage": "",
          "size": 2260,
          "stargazers_count": 0,
          "watchers_count": 0,
          "language": "JavaScript",
          "has_issues": false,
          "has_projects": true,
          "has_downloads": true,
          "has_wiki": true,
          "has_pages": false,
          "has_discussions": false,
          "forks_count": 0,
          "archived": false,
          "disabled": false,
          "open_issues_count": 0,
          "license": {
            "key": "other",
            "name": "Other",
            "spdx_id": "NOASSERTION",
            "url": null,
            "node_id": "MDc6TGljZW5zZTA="
          },
          "allow_forking": true,
          "is_template": false,
          "web_commit_signoff_required": false,
          "topics": {},
          "visibility": "public",
          "forks": 0,
          "open_issues": 0,
          "watchers": 0,
          "default_branch": "main"
        }
      },
      "base": {
        "label": "yan5xu:main",
        "ref": "main",
        "sha": "d12bd06c9a0b19a3ba264cf56fe45864b7706768",
        "user": {
          "login": "yan5xu",
          "id": 5762066,
          "node_id": "MDQ6VXNlcjU3NjIwNjY=",
          "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
          "gravatar_id": "",
          "url": "https://api.github.com/users/yan5xu",
          "type": "User",
          "user_view_type": "public",
          "site_admin": false
        },
        "repo": {
          "id": 1060564078,
          "node_id": "R_kgDOPzbsbg",
          "name": "ququ",
          "full_name": "yan5xu/ququ",
          "private": false,
          "owner": {
            "login": "yan5xu",
            "id": 5762066,
            "node_id": "MDQ6VXNlcjU3NjIwNjY=",
            "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
            "gravatar_id": "",
            "url": "https://api.github.com/users/yan5xu",
            "type": "User",
            "user_view_type": "public",
            "site_admin": false
          },
          "description": "开源免费的 Wispr Flow 替代方案 | 集成FunASR本地模型和可配置大语言模型的下一代中文桌面语音工作流",
          "fork": false,
          "url": "https://api.github.com/repos/yan5xu/ququ",
          "created_at": "2025-09-20T06:26:58Z",
          "updated_at": "2025-10-21T02:52:02Z",
          "pushed_at": "2025-10-08T04:41:18Z",
          "homepage": "",
          "size": 2138,
          "stargazers_count": 1521,
          "watchers_count": 1521,
          "language": "JavaScript",
          "has_issues": true,
          "has_projects": true,
          "has_downloads": true,
          "has_wiki": true,
          "has_pages": false,
          "has_discussions": true,
          "forks_count": 137,
          "archived": false,
          "disabled": false,
          "open_issues_count": 23,
          "license": {
            "key": "other",
            "name": "Other",
            "spdx_id": "NOASSERTION",
            "url": null,
            "node_id": "MDc6TGljZW5zZTA="
          },
          "allow_forking": true,
          "is_template": false,
          "web_commit_signoff_required": false,
          "topics": {
            "0": "ai-text-processing",
            "1": "chinese-speech-recognition",
            "2": "electron-app",
            "3": "funasr",
            "4": "local-processing",
            "5": "open-source",
            "6": "privacy-first",
            "7": "speech-to-text",
            "8": "voice-dictation",
            "9": "wispr-flow-alternative"
          },
          "visibility": "public",
          "forks": 137,
          "open_issues": 23,
          "watchers": 1521,
          "default_branch": "main"
        }
      },
      "_links": {
        "self": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/13"
        },
        "html": {
          "href": "https://github.com/yan5xu/ququ/pull/13"
        },
        "issue": {
          "href": "https://api.github.com/repos/yan5xu/ququ/issues/13"
        },
        "comments": {
          "href": "https://api.github.com/repos/yan5xu/ququ/issues/13/comments"
        },
        "review_comments": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/13/comments"
        },
        "review_comment": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/comments{/number}"
        },
        "commits": {
          "href": "https://api.github.com/repos/yan5xu/ququ/pulls/13/commits"
        },
        "statuses": {
          "href": "https://api.github.com/repos/yan5xu/ququ/statuses/5dc5bce0cf7a4a17088e458a692953e844e5d903"
        }
      },
      "author_association": "NONE",
      "auto_merge": null,
      "active_lock_reason": null,
      "linked_issues": []
    }
  ],
  "discussions": [],
  "details": {
    "id": 1060564078,
    "node_id": "R_kgDOPzbsbg",
    "name": "ququ",
    "full_name": "yan5xu/ququ",
    "private": false,
    "owner": {
      "login": "yan5xu",
      "id": 5762066,
      "node_id": "MDQ6VXNlcjU3NjIwNjY=",
      "avatar_url": "https://avatars.githubusercontent.com/u/5762066?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/yan5xu",
      "type": "User",
      "user_view_type": "public",
      "site_admin": false
    },
    "description": "开源免费的 Wispr Flow 替代方案 | 集成FunASR本地模型和可配置大语言模型的下一代中文桌面语音工作流",
    "fork": false,
    "url": "https://api.github.com/repos/yan5xu/ququ",
    "created_at": "2025-09-20T06:26:58Z",
    "updated_at": "2025-10-21T02:52:02Z",
    "pushed_at": "2025-10-08T04:41:18Z",
    "homepage": "",
    "size": 2138,
    "stargazers_count": 1521,
    "watchers_count": 1521,
    "language": "JavaScript",
    "has_issues": true,
    "has_projects": true,
    "has_downloads": true,
    "has_wiki": true,
    "has_pages": false,
    "has_discussions": true,
    "forks_count": 137,
    "archived": false,
    "disabled": false,
    "open_issues_count": 23,
    "license": {
      "key": "other",
      "name": "Other",
      "spdx_id": "NOASSERTION",
      "url": null,
      "node_id": "MDc6TGljZW5zZTA="
    },
    "allow_forking": true,
    "is_template": false,
    "web_commit_signoff_required": false,
    "topics": {
      "0": "ai-text-processing",
      "1": "chinese-speech-recognition",
      "2": "electron-app",
      "3": "funasr",
      "4": "local-processing",
      "5": "open-source",
      "6": "privacy-first",
      "7": "speech-to-text",
      "8": "voice-dictation",
      "9": "wispr-flow-alternative"
    },
    "visibility": "public",
    "forks": 137,
    "open_issues": 23,
    "watchers": 1521,
    "default_branch": "main",
    "permissions": {
      "admin": false,
      "maintain": false,
      "push": false,
      "triage": false,
      "pull": true
    },
    "temp_clone_token": "",
    "network_count": 137,
    "subscribers_count": 12
  },
  "lastFetched": 1761016237791
}