{"id":51286454,"url":"https://github.com/linyize/ai-desktop","last_synced_at":"2026-06-30T06:00:48.059Z","repository":{"id":367729071,"uuid":"1282051314","full_name":"linyize/ai-desktop","owner":"linyize","description":"Lightweight AI-native desktop shell for Linux — chat-first interaction, local-first AI, no clutter.","archived":false,"fork":false,"pushed_at":"2026-06-27T11:10:53.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-27T11:21:31.292Z","etag":null,"topics":["ai","desktop","linux","open-source","system-tools","ux"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linyize.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-27T08:56:31.000Z","updated_at":"2026-06-27T11:10:56.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/linyize/ai-desktop","commit_stats":null,"previous_names":["linyize/ai-desktop"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/linyize/ai-desktop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linyize%2Fai-desktop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linyize%2Fai-desktop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linyize%2Fai-desktop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linyize%2Fai-desktop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linyize","download_url":"https://codeload.github.com/linyize/ai-desktop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linyize%2Fai-desktop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34954283,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-30T02:00:05.919Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","desktop","linux","open-source","system-tools","ux"],"created_at":"2026-06-30T06:00:47.228Z","updated_at":"2026-06-30T06:00:48.049Z","avatar_url":"https://github.com/linyize.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🤖 AI Desktop\n\n\u003e Linux 新手的桌面管家——用对话降低系统操作门槛。\n\n一个**模式化**的 AI 原生 Linux 桌面助手，不是聊天窗口，而是三种工作模式：\n\n| 模式 | 适用 | 做法 |\n|------|------|------|\n| **📖 教我** | Linux 新手 | 分步解释，用户确认后执行 |\n| **⚡ 帮我** | 想省事的用户 | AI 全自动执行，给最终结果 |\n| **👀 监控** | 所有人 | 后台监听日志/报错，异常主动弹窗 |\n\n## 它能帮你什么\n\n| 场景 | 你只需说 | AI Desktop 会 |\n|------|----------|---------------|\n| 装软件 | \"装个微信\" | 判断分发方式 → 加仓库 → 安装 → 配置 |\n| 修报错 | 截个图 | 识别错误 → 查原因 → 给修复命令 |\n| 管文件 | \"把下载目录的截图整理到桌面\" | 筛选文件 → 分类 → 移动 |\n| 配系统 | \"设好代理，终端和浏览器都走\" | 写环境变量 → 配代理 → 验证连通 |\n| 学操作 | \"怎么装显卡驱动\" | 解释每一步原理 → 演示执行 → 你学会 |\n\n## 产品理念\n\n\u003e **不是替代终端，而是降低终端门槛。**\n\u003e 开发者会一直用命令行。但对刚接触 Linux 的人来说，AI Desktop 是翻译层——你的自然语言 → 对应的 Linux 操作。\n\n## 快速开始\n\n### 前提\n\n- 本地运行一个 **OpenAI 兼容的 API 服务**（如 `llama.cpp` 的 `llama-server`）\n- 默认地址 `http://localhost:8080/v1`（可在设置中修改）\n\n### 启动\n\n```bash\n# 1. 克隆\ngit clone https://github.com/linyize/ai-desktop.git\ncd ai-desktop\n\n# 2. 安装前端依赖\nnpm install\n\n# 3. 开发模式运行\ncargo tauri dev\n```\n\n### 构建\n\n```bash\ncargo tauri build\n```\n\n产物在 `src-tauri/target/release/bundle/` 下：\n- `.AppImage` — 通用 Linux 包\n- `.deb` — Debian/Ubuntu\n- `.rpm` — Fedora/RHEL\n\n## 配置\n\n启动后点 ⚙️ 进入设置：\n\n| 选项 | 默认值 | 说明 |\n|------|--------|------|\n| AI 提供商 | `llama.cpp` | 可选 Mock（测试）/ DeepSeek / OpenAI |\n| API URL | `http://localhost:8080/v1` | 你的 LLM 服务地址 |\n| API Key | 空 | 本地模型不需要 |\n\n## 项目结构\n\n```\nai-desktop/\n├── src/                     # React 前端\n│   ├── App.jsx              # 主聊天界面 + 设置/向导\n│   ├── main.jsx             # 渲染入口\n│   └── index.css            # 侧边栏样式\n├── src-tauri/               # Rust 后端\n│   ├── src/main.rs          # 窗口管理 + 系统命令\n│   ├── Cargo.toml           # Rust 依赖\n│   └── tauri.conf.json      # Tauri 配置\n├── package.json             # Node 依赖\n├── vite.config.js           # Vite 配置\n└── README.md                # 本文件\n```\n\n## 开发\n\n### 环境要求\n\n- Rust \u003e= 1.70\n- Node.js \u003e= 18\n- Tauri CLI v2: `cargo install tauri-cli --version \"^2\"`\n- 系统依赖（Ubuntu/Debian）：\n\n```bash\nsudo apt install -y libwebkit2gtk-4.1-dev build-essential \\\n  libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev\n```\n\n### 常用命令\n\n```bash\ncargo tauri dev       # 开发模式，热重载\ncargo tauri build     # 构建发布版\nnpm run dev           # 单独启动前端（端口 1420）\n```\n\n## 路线图\n\n详见 [ROADMAP.md](./ROADMAP.md)，当前处于 Phase 1→2 过渡。\n\n## License\n\nAGPL-3.0 — [查看详情](./LICENSE)\n\n## 交流\n\n- GitHub Issues — 反馈/需求/讨论\n- PRs Welcome — 见 [CONTRIBUTING.md](./CONTRIBUTING.md)（TODO）\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinyize%2Fai-desktop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinyize%2Fai-desktop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinyize%2Fai-desktop/lists"}