[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-smtg-ai--claude-squad":3,"tool-smtg-ai--claude-squad":64},[4,16,31,40,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":15},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,2,"2026-04-06T19:52:38",[13,14],"插件","开发框架","ready",{"id":17,"name":18,"github_repo":19,"description_zh":20,"stars":21,"difficulty_score":10,"last_commit_at":22,"category_tags":23,"status":15},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85052,"2026-04-08T11:03:08",[24,25,26,13,27,28,29,14,30],"图像","数据工具","视频","Agent","其他","语言模型","音频",{"id":32,"name":33,"github_repo":34,"description_zh":35,"stars":36,"difficulty_score":37,"last_commit_at":38,"category_tags":39,"status":15},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70879,3,"2026-04-09T11:20:38",[29,27,14,13],{"id":41,"name":42,"github_repo":43,"description_zh":44,"stars":45,"difficulty_score":10,"last_commit_at":46,"category_tags":47,"status":15},51,"gstack","garrytan\u002Fgstack","gstack 是 Y Combinator CEO Garry Tan 亲自开源的一套 AI 工程化配置，旨在将 Claude Code 升级为你的虚拟工程团队。面对单人开发难以兼顾产品战略、架构设计、代码审查及质量测试的挑战，gstack 提供了一套标准化解决方案，帮助开发者实现堪比二十人团队的高效产出。\n\n这套配置特别适合希望提升交付效率的创始人、技术负责人，以及初次尝试 Claude Code 的开发者。gstack 的核心亮点在于内置了 15 个具有明确职责的 AI 角色工具，涵盖 CEO、设计师、工程经理、QA 等职能。用户只需通过简单的斜杠命令（如 `\u002Freview` 进行代码审查、`\u002Fqa` 执行测试、`\u002Fplan-ceo-review` 规划功能），即可自动化处理从需求分析到部署上线的全链路任务。\n\n所有操作基于 Markdown 和斜杠命令，无需复杂配置，完全免费且遵循 MIT 协议。gstack 不仅是一套工具集，更是一种现代化的软件工厂实践，让单人开发者也能拥有严谨的工程流程。",67740,"2026-04-09T11:10:30",[27,13],{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":15},3074,"gpt4free","xtekky\u002Fgpt4free","gpt4free 是一个由社区驱动的开源项目，旨在聚合多种可访问的大型语言模型（LLM）和媒体生成接口，让用户能更灵活、便捷地使用前沿 AI 能力。它解决了直接调用各类模型时面临的接口分散、门槛高或成本昂贵等痛点，通过统一的标准将不同提供商的资源整合在一起。\n\n无论是希望快速集成 AI 功能的开发者、需要多模型对比测试的研究人员，还是想免费体验最新技术的普通用户，都能从中受益。gpt4free 提供了丰富的使用方式：既包含易于上手的 Python 和 JavaScript 客户端库，也支持部署本地图形界面（GUI），更提供了兼容 OpenAI 标准的 REST API，方便无缝替换现有应用后端。\n\n其技术亮点在于强大的多提供商支持架构，能够动态调度包括 Opus、Gemini、DeepSeek 等多种主流模型资源，并支持 Docker 一键部署及本地推理。项目秉持社区优先原则，在降低使用门槛的同时，也为贡献者提供了扩展新接口的便利框架，是探索和利用多样化 AI 资源的实用工具。",65970,"2026-04-04T01:02:03",[13,29,27],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":15},193,"meilisearch","meilisearch\u002Fmeilisearch","Meilisearch 是一个开源的极速搜索服务，专为现代应用和网站打造，开箱即用。它能帮助开发者快速集成高质量的搜索功能，无需复杂的配置或额外的数据预处理。传统搜索方案往往需要大量调优才能实现准确结果，而 Meilisearch 内置了拼写容错、同义词识别、即时响应等实用特性，并支持 AI 驱动的混合搜索（结合关键词与语义理解），显著提升用户查找信息的体验。\n\nMeilisearch 特别适合 Web 开发者、产品团队或初创公司使用，尤其适用于需要快速上线搜索功能的场景，如电商网站、内容平台或 SaaS 应用。它提供简洁的 RESTful API 和多种语言 SDK，部署简单，资源占用低，本地开发或生产环境均可轻松运行。对于希望在不依赖大型云服务的前提下，为用户提供流畅、智能搜索体验的团队来说，Meilisearch 是一个高效且友好的选择。",57036,"2026-04-09T10:34:00",[24,27,25,14,13,28],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":75,"owner_avatar_url":76,"owner_bio":77,"owner_company":77,"owner_location":77,"owner_email":77,"owner_twitter":77,"owner_website":77,"owner_url":78,"languages":79,"stars":100,"forks":101,"last_commit_at":102,"license":103,"difficulty_score":10,"env_os":104,"env_gpu":105,"env_ram":105,"env_deps":106,"category_tags":111,"github_topics":112,"view_count":10,"oss_zip_url":77,"oss_zip_packed_at":77,"status":15,"created_at":118,"updated_at":119,"faqs":120,"releases":151},6004,"smtg-ai\u002Fclaude-squad","claude-squad","Manage multiple AI terminal agents like Claude Code, Codex, OpenCode, and Amp.","claude-squad 是一款运行在终端的多任务 AI 代理管理工具，旨在帮助开发者同时高效操控多个 AI 编程助手。它支持在同一界面中并行管理 Claude Code、Codex、Gemini CLI 以及 Aider 等主流工具，让多任务处理变得井然有序。\n\n对于需要同时推进多个开发任务或对比不同模型表现的程序员而言，claude-squad 解决了传统单线程交互效率低下的痛点。其核心亮点在于为每个任务创建独立的 Git 工作空间，彻底避免了代码冲突；同时支持后台自动执行任务（包括“大胆模式”自动确认），并允许用户在应用更改前审查差异、提交代码或直接推送到 GitHub。\n\n该工具基于 tmux 构建，通过简洁的键盘快捷键即可轻松创建新会话、切换上下文、暂停或恢复任务。无论是全栈工程师、AI 研究人员，还是希望提升编码效率的技术人员，都能利用 claude-squad 将多个 AI 助手整合进统一的工作流中，实现真正的并行开发与自动化协作。只需简单安装，即可在终端中开启高效的智能编程体验。","# Claude Squad [![CI](https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Factions\u002Fworkflows\u002Fbuild.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Factions\u002Fworkflows\u002Fbuild.yml) [![GitHub Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fsmtg-ai\u002Fclaude-squad)](https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Freleases\u002Flatest)\n\n[Claude Squad](https:\u002F\u002Fsmtg-ai.github.io\u002Fclaude-squad\u002F) is a terminal app that manages multiple [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code), [Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex), [Gemini](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli) (and other local agents including [Aider](https:\u002F\u002Fgithub.com\u002FAider-AI\u002Faider)) in separate workspaces, allowing you to work on multiple tasks simultaneously.\n\n\n![Claude Squad Screenshot](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsmtg-ai_claude-squad_readme_d63133d595b2.png)\n\n### Highlights\n- Complete tasks in the background (including yolo \u002F auto-accept mode!)\n- Manage instances and tasks in one terminal window\n- Review changes before applying them, checkout changes before pushing them\n- Each task gets its own isolated git workspace, so no conflicts\n\n\u003Cbr \u002F>\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Faef18253-e58f-4525-9032-f5a3d66c975a\n\n\u003Cbr \u002F>\n\n### Installation\n\nBoth Homebrew and manual installation will install Claude Squad as `cs` on your system.\n\n#### Homebrew\n\n```bash\nbrew install claude-squad\nln -s \"$(brew --prefix)\u002Fbin\u002Fclaude-squad\" \"$(brew --prefix)\u002Fbin\u002Fcs\"\n```\n\n#### Manual\n\nClaude Squad can also be installed by running the following command:\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fmain\u002Finstall.sh | bash\n```\n\nThis puts the `cs` binary in `~\u002F.local\u002Fbin`.\n\nTo use a custom name for the binary:\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fmain\u002Finstall.sh | bash -s -- --name \u003Cyour-binary-name>\n```\n\n### Prerequisites\n\n- [tmux](https:\u002F\u002Fgithub.com\u002Ftmux\u002Ftmux\u002Fwiki\u002FInstalling)\n- [gh](https:\u002F\u002Fcli.github.com\u002F)\n\n### Usage\n\n```\nUsage:\n  cs [flags]\n  cs [command]\n\nAvailable Commands:\n  completion  Generate the autocompletion script for the specified shell\n  debug       Print debug information like config paths\n  help        Help about any command\n  reset       Reset all stored instances\n  version     Print the version number of claude-squad\n\nFlags:\n  -y, --autoyes          [experimental] If enabled, all instances will automatically accept prompts for claude code & aider\n  -h, --help             help for claude-squad\n  -p, --program string   Program to run in new instances (e.g. 'aider --model ollama_chat\u002Fgemma3:1b')\n```\n\nRun the application with:\n\n```bash\ncs\n```\nNOTE: The default program is `claude` and we recommend using the latest version.\n\n\u003Cbr \u002F>\n\n\u003Cb>Using Claude Squad with other AI assistants:\u003C\u002Fb>\n- For [Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex): Set your API key with `export OPENAI_API_KEY=\u003Cyour_key>`\n- Launch with specific assistants:\n   - Codex: `cs -p \"codex\"`\n   - Aider: `cs -p \"aider ...\"`\n   - Gemini: `cs -p \"gemini\"`\n- Make this the default, by modifying the config file (locate with `cs debug`)\n\n\u003Cbr \u002F>\n\n#### Menu\nThe menu at the bottom of the screen shows available commands: \n\n##### Instance\u002FSession Management\n- `n` - Create a new session\n- `N` - Create a new session with a prompt\n- `D` - Kill (delete) the selected session\n- `↑\u002Fj`, `↓\u002Fk` - Navigate between sessions\n\n##### Actions\n- `↵\u002Fo` - Attach to the selected session to reprompt\n- `ctrl-q` - Detach from session\n- `s` - Commit and push branch to github\n- `c` - Checkout. Commits changes and pauses the session\n- `r` - Resume a paused session\n- `?` - Show help menu\n\n##### Navigation\n- `tab` - Switch between preview tab and diff tab\n- `q` - Quit the application\n- `shift-↓\u002F↑` - scroll in diff view\n\n### Configuration\n\nClaude Squad stores its configuration in `~\u002F.claude-squad\u002Fconfig.json`. You can find the exact path by running `cs debug`.\n\n#### Profiles\n\nProfiles let you define multiple named program configurations and switch between them when creating a new session. When more than one profile is defined, the session creation overlay shows a profile picker that you can navigate with `←`\u002F`→`.\n\nTo configure profiles, add a `profiles` array to your config file and set `default_program` to the name of the profile to select by default:\n\n```json\n{\n  \"default_program\": \"claude\",\n  \"profiles\": [\n    { \"name\": \"claude\", \"program\": \"claude\" },\n    { \"name\": \"codex\", \"program\": \"codex\" },\n    { \"name\": \"aider\", \"program\": \"aider --model ollama_chat\u002Fgemma3:1b\" }\n  ]\n}\n```\n\nEach profile has two fields:\n\n| Field     | Description                                              |\n|-----------|----------------------------------------------------------|\n| `name`    | Display name shown in the profile picker                 |\n| `program` | Shell command used to launch the agent for that profile  |\n\nIf no profiles are defined, Claude Squad uses `default_program` directly as the launch command (the default is `claude`).\n\n### FAQs\n\n#### Failed to start new session\n\nIf you get an error like `failed to start new session: timed out waiting for tmux session`, update the\nunderlying program (ex. `claude`) to the latest version.\n\n### How It Works\n\n1. **tmux** to create isolated terminal sessions for each agent\n2. **git worktrees** to isolate codebases so each session works on its own branch\n3. A simple TUI interface for easy navigation and management\n\n### License\n\n[AGPL-3.0](LICENSE.md)\n\n### Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsmtg-ai_claude-squad_readme_1390db600113.png)](https:\u002F\u002Fwww.star-history.com\u002F#smtg-ai\u002Fclaude-squad&Date)\n","# Claude Squad [![CI](https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Factions\u002Fworkflows\u002Fbuild.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Factions\u002Fworkflows\u002Fbuild.yml) [![GitHub Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fsmtg-ai\u002Fclaude-squad)](https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Freleases\u002Flatest)\n\n[Claude Squad](https:\u002F\u002Fsmtg-ai.github.io\u002Fclaude-squad\u002F) 是一款终端应用程序，可在独立的工作空间中管理多个 [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code)、[Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex)、[Gemini](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli)（以及其他本地代理，包括 [Aider](https:\u002F\u002Fgithub.com\u002FAider-AI\u002Faider)），从而允许您同时处理多项任务。\n\n\n![Claude Squad 截图](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsmtg-ai_claude-squad_readme_d63133d595b2.png)\n\n### 亮点\n- 在后台完成任务（包括 yolo \u002F 自动接受模式！）\n- 在一个终端窗口中管理实例和任务\n- 在应用更改前审查，推送前先检出更改\n- 每个任务都有自己的隔离 git 工作区，因此不会发生冲突\n\n\u003Cbr \u002F>\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Faef18253-e58f-4525-9032-f5a3d66c975a\n\n\u003Cbr \u002F>\n\n### 安装\n\n无论是通过 Homebrew 还是手动安装，Claude Squad 都会以 `cs` 的名称安装到您的系统中。\n\n#### Homebrew\n\n```bash\nbrew install claude-squad\nln -s \"$(brew --prefix)\u002Fbin\u002Fclaude-squad\" \"$(brew --prefix)\u002Fbin\u002Fcs\"\n```\n\n#### 手动\n\n您也可以通过运行以下命令来安装 Claude Squad：\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fmain\u002Finstall.sh | bash\n```\n\n这会将 `cs` 二进制文件放置在 `~\u002F.local\u002Fbin` 中。\n\n如果您想为二进制文件使用自定义名称：\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fmain\u002Finstall.sh | bash -s -- --name \u003Cyour-binary-name>\n```\n\n### 先决条件\n\n- [tmux](https:\u002F\u002Fgithub.com\u002Ftmux\u002Ftmux\u002Fwiki\u002FInstalling)\n- [gh](https:\u002F\u002Fcli.github.com\u002F)\n\n### 使用方法\n\n```\n用法：\n  cs [flags]\n  cs [command]\n\n可用命令：\n  completion  为指定的 shell 生成自动补全脚本\n  debug       打印配置路径等调试信息\n  help        关于任何命令的帮助\n  reset       重置所有存储的实例\n  version     打印 Claude Squad 的版本号\n\n标志：\n  -y, --autoyes          [实验性] 如果启用，所有实例将自动接受 Claude Code 和 Aider 的提示\n  -h, --help             Claude Squad 的帮助\n  -p, --program string   在新实例中运行的程序（例如 'aider --model ollama_chat\u002Fgemma3:1b'）\n```\n\n通过以下命令运行应用程序：\n\n```bash\ncs\n```\n注意：默认程序是 `claude`，我们建议使用最新版本。\n\n\u003Cbr \u002F>\n\n\u003Cb>使用 Claude Squad 与其他 AI 助手：\u003C\u002Fb>\n- 对于 [Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex)：请使用 `export OPENAI_API_KEY=\u003Cyour_key>` 设置您的 API 密钥。\n- 使用特定助手启动：\n   - Codex：`cs -p \"codex\"`\n   - Aider：`cs -p \"aider ...\"`\n   - Gemini：`cs -p \"gemini\"`\n- 您可以通过修改配置文件（使用 `cs debug` 查找位置）将其设置为默认。\n\n\u003Cbr \u002F>\n\n#### 菜单\n屏幕底部的菜单显示了可用的命令：\n\n##### 实例\u002F会话管理\n- `n` - 创建新会话\n- `N` - 带提示创建新会话\n- `D` - 杀死（删除）所选会话\n- `↑\u002Fj`、`↓\u002Fk` - 在会话之间导航\n\n##### 操作\n- `↵\u002Fo` - 附加到选定的会话以重新提示\n- `ctrl-q` - 从会话分离\n- `s` - 提交并推送到 github\n- `c` - 检出。提交更改并暂停会话\n- `r` - 恢复暂停的会话\n- `?` - 显示帮助菜单\n\n##### 导航\n- `tab` - 在预览标签和差异标签之间切换\n- `q` - 退出应用程序\n- `shift-↓\u002F↑` - 在差异视图中滚动\n\n### 配置\n\nClaude Squad 将其配置存储在 `~\u002F.claude-squad\u002Fconfig.json` 中。您可以通过运行 `cs debug` 找到确切的路径。\n\n#### 配置文件\n配置文件允许您定义多个命名的程序配置，并在创建新会话时在它们之间切换。当定义了多个配置文件时，会话创建界面会显示一个配置文件选择器，您可以用 `←`\u002F`→` 导航。\n\n要配置配置文件，请在您的配置文件中添加一个 `profiles` 数组，并将 `default_program` 设置为您希望默认选择的配置文件名称：\n\n```json\n{\n  \"default_program\": \"claude\",\n  \"profiles\": [\n    { \"name\": \"claude\", \"program\": \"claude\" },\n    { \"name\": \"codex\", \"program\": \"codex\" },\n    { \"name\": \"aider\", \"program\": \"aider --model ollama_chat\u002Fgemma3:1b\" }\n  ]\n}\n```\n\n每个配置文件包含两个字段：\n\n| 字段     | 描述                                              |\n|-----------|----------------------------------------------------------|\n| `name`    | 在配置文件选择器中显示的名称                 |\n| `program` | 用于启动该配置文件对应代理的 Shell 命令  |\n\n如果未定义任何配置文件，Claude Squad 将直接使用 `default_program` 作为启动命令（默认为 `claude`）。\n\n### 常见问题解答\n\n#### 无法启动新会话\n\n如果您遇到类似 `无法启动新会话：等待 tmux 会话超时` 的错误，请将底层程序（例如 `claude`）更新到最新版本。\n\n### 工作原理\n\n1. **tmux** 为每个代理创建隔离的终端会话\n2. **git worktrees** 隔离代码库，使每个会话在其自己的分支上工作\n3. 简单的 TUI 界面便于导航和管理\n\n### 许可证\n\n[AGPL-3.0](LICENSE.md)\n\n### 星标历史\n\n[![星标历史图表](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsmtg-ai_claude-squad_readme_1390db600113.png)](https:\u002F\u002Fwww.star-history.com\u002F#smtg-ai\u002Fclaude-squad&Date)","# Claude Squad 快速上手指南\n\nClaude Squad 是一款终端应用，允许你在隔离的工作区中同时管理多个 AI 编程助手（如 Claude Code、Codex、Gemini、Aider 等），从而实现多任务并行开发。\n\n## 环境准备\n\n在开始之前，请确保你的系统已安装以下前置依赖：\n\n*   **tmux**: 用于创建隔离的终端会话。\n    *   macOS: `brew install tmux`\n    *   Linux (Ubuntu\u002FDebian): `sudo apt-get install tmux`\n*   **gh (GitHub CLI)**: 用于代码分支管理。\n    *   macOS: `brew install gh`\n    *   Linux: 参考 [GitHub CLI 安装文档](https:\u002F\u002Fcli.github.com\u002F)\n*   **AI 助手**: 确保已安装你想要使用的工具（默认需要 `claude`，即 Claude Code）。\n\n## 安装步骤\n\n你可以通过 Homebrew 或官方脚本进行安装。安装后，命令行工具名称为 `cs`。\n\n### 方式一：Homebrew (推荐 macOS 用户)\n\n```bash\nbrew install claude-squad\nln -s \"$(brew --prefix)\u002Fbin\u002Fclaude-squad\" \"$(brew --prefix)\u002Fbin\u002Fcs\"\n```\n\n### 方式二：手动安装 (通用)\n\n运行以下脚本将 `cs` 二进制文件安装到 `~\u002F.local\u002Fbin`：\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fmain\u002Finstall.sh | bash\n```\n\n*注意：如果安装后无法直接运行 `cs`，请将 `~\u002F.local\u002Fbin` 添加到你的环境变量 PATH 中。*\n\n若需自定义二进制文件名，可使用：\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fmain\u002Finstall.sh | bash -s -- --name \u003Cyour-binary-name>\n```\n\n## 基本使用\n\n### 1. 启动应用\n\n在终端输入以下命令即可启动，默认运行 `claude` (Claude Code)：\n\n```bash\ncs\n```\n\n### 2. 切换不同的 AI 助手\n\n你可以通过 `-p` 参数指定要运行的 AI 工具：\n\n*   **使用 Codex**:\n    ```bash\n    export OPENAI_API_KEY=\u003Cyour_key>\n    cs -p \"codex\"\n    ```\n*   **使用 Aider**:\n    ```bash\n    cs -p \"aider ...\"\n    ```\n*   **使用 Gemini**:\n    ```bash\n    cs -p \"gemini\"\n    ```\n\n> **提示**：若要永久修改默认程序，可编辑配置文件（路径可通过 `cs debug` 查看），或配置 `profiles`（详见高级配置）。\n\n### 3. 核心操作快捷键\n\n启动后，你将进入一个 TUI 界面，底部菜单显示了可用命令：\n\n**会话管理**\n*   `n`: 创建新会话\n*   `N`: 带提示语创建新会话\n*   `D`: 删除选中的会话\n*   `↑\u002Fj`, `↓\u002Fk`: 在不同会话间导航\n\n**任务执行**\n*   `↵` 或 `o`: 附加到选中会话以重新输入提示\n*   `ctrl-q`: 从会话分离（让其在后台运行）\n*   `s`: 提交更改并推送到 GitHub\n*   `c`: 暂存会话（Commit 并暂停）\n*   `r`: 恢复暂停的会话\n\n**其他**\n*   `tab`: 在预览视图和差异视图间切换\n*   `q`: 退出应用\n*   `?`: 显示帮助菜单\n\n### 工作原理简述\nClaude Squad 利用 **tmux** 为每个 AI 代理创建独立的终端会话，并使用 **git worktrees** 隔离代码库，确保每个任务都在独立的分支上运行，互不冲突。","某全栈开发者正同时处理一个紧急的后端 API 重构任务和一个前端 UI 组件优化需求，需要频繁切换上下文并验证代码变更。\n\n### 没有 claude-squad 时\n- **上下文频繁冲突**：在同一个终端窗口交替运行 Claude Code 和 Aider 处理不同任务，导致对话历史混乱，AI 经常混淆两个任务的代码库状态。\n- **手动隔离成本高**：为了互不干扰，不得不手动创建多个临时 Git 分支或打开多个终端标签页，管理开销巨大且容易操作失误。\n- **后台执行困难**：无法让 AI 在后台自动完成耗时的重构或测试生成，必须全程盯着终端等待响应，严重打断深度工作流。\n- **变更审查繁琐**：缺乏统一的差异预览界面，每次应用 AI 建议前需手动执行 git diff 命令，难以快速评估代码改动风险。\n\n### 使用 claude-squad 后\n- **多任务并行隔离**：利用独立的工作区会话同时运行后端和前端 Agent，每个任务拥有专属的 Git 环境，彻底杜绝上下文污染。\n- **一站式会话管理**：在一个终端界面内通过快捷键即可创建、切换或终止不同 AI 实例（如 Codex、Gemini），无需维护杂乱的窗口布局。\n- **自动化后台处理**：启用自动接受模式后，将耗时任务丢入后台运行，期间可自由处理其他事务，大幅提升时间利用率。\n- **安全变更管控**：内置的差异预览功能允许在提交前直观审查每一行代码变更，确认无误后再一键提交并推送到 GitHub，保障代码质量。\n\nclaude-squad 通过隔离工作区和统一调度机制，将原本混乱的多 AI 协作流程转化为高效、安全的并行开发体验。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fsmtg-ai_claude-squad_d63133d5.png","smtg-ai","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fsmtg-ai_6e1cffb3.png",null,"https:\u002F\u002Fgithub.com\u002Fsmtg-ai",[80,84,88,92,96],{"name":81,"color":82,"percentage":83},"Go","#00ADD8",89.1,{"name":85,"color":86,"percentage":87},"Shell","#89e051",4.5,{"name":89,"color":90,"percentage":91},"TypeScript","#3178c6",3.2,{"name":93,"color":94,"percentage":95},"CSS","#663399",3.1,{"name":97,"color":98,"percentage":99},"JavaScript","#f1e05a",0.1,6913,485,"2026-04-09T15:48:48","AGPL-3.0","macOS, Linux","未说明",{"notes":107,"python":105,"dependencies":108},"该工具是一个终端管理应用，用于并行运行多个 AI 代理（如 Claude Code, Codex, Gemini, Aider）。它本身不直接依赖特定的 Python 版本或 GPU，但其运行的底层 AI 代理可能有各自的环境要求。必须预先安装 tmux 和 GitHub CLI (gh)。在 macOS 上可通过 Homebrew 安装，其他系统需手动运行安装脚本。默认使用 'claude' 命令，需确保对应代理已正确配置。",[109,110],"tmux","gh (GitHub CLI)",[13],[113,114,115,116,117],"claude-code","cli","vibe-coding","codex","opencode","2026-03-27T02:49:30.150509","2026-04-10T06:25:58.682258",[121,126,131,136,141,146],{"id":122,"question_zh":123,"answer_zh":124,"source_url":125},27217,"运行时报错 'Error capturing pane content: exit status 1' 或无法启动新会话怎么办？","这通常是由于配置文件中的 `default_program` 路径设置错误导致的（例如指向了 shell 别名或错误的脚本输出）。\n解决方法：\n1. 运行 `cs debug` 查看配置文件路径（通常为 `~\u002F.claude-squad\u002Fconfig.json`）。\n2. 运行 `which claude` 获取正确的 Claude 可执行文件路径。\n3. 编辑配置文件，将 `default_program` 的值修改为步骤 2 中得到的正确路径（例如 `\u002FUsers\u002Fusername\u002F.asdf\u002Fshims\u002Fclaude` 或直接设为 `\"claude\"`）。\n4. 保存文件后重试。","https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fissues\u002F132",{"id":127,"question_zh":128,"answer_zh":129,"source_url":130},27218,"为什么创建会话时失败，特别是使用了 alias（别名）调用 claude 时？","Claude Squad 可能无法正确解析 shell 别名（alias）。如果您使用别名来设置环境变量或切换账户，工具可能会报错。\n解决方法：\n1. 不要直接在配置中使用别名。\n2. 创建一个包装脚本（wrapper script）来替代别名，并在配置文件的 `default_program` 中指向该脚本的路径。\n3. 或者，直接删除 `~\u002F.claude-squad\u002Fconfig.json` 配置文件，升级工具到最新版本，然后手动将配置中的 `default_program` 修改为 `which claude` 输出的实际路径。","https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fissues\u002F96",{"id":132,"question_zh":133,"answer_zh":134,"source_url":135},27219,"误按 Command+Q 关闭了 tmux 窗口导致报错，如何恢复或避免？","如果误按 Command+Q 关闭了窗口，当前的 session 可能会损坏。\n临时解决方法：创建一个新的 session，然后关闭之前的旧 session。\n注意：直接删除分支会导致工作丢失。目前建议通过新建 session 来恢复工作环境。防止误触的方法可能需要更改终端的热键设置，因为这是旧习惯导致的意外关闭。","https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fissues\u002F51",{"id":137,"question_zh":138,"answer_zh":139,"source_url":140},27220,"如何在预览面板（preview pane）中进行滚动操作？","该功能已在 v1.0.9 版本中发布。\n解决方法：请升级 Claude Squad 到 v1.0.9 或更高版本。升级后，您可以像在 diff 视图中一样，在预览面板中使用滚动功能查看内容。","https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fissues\u002F60",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},27221,"创建的第二个会话中 MCP 服务器配置丢失（显示未配置）怎么办？","这可能是因为 MCP 服务器被添加到了特定的作用域（scope），而新会话的工作树（worktree）未能继承这些设置。\n解决方法：\n1. 尝试将 MCP 服务器添加到用户全局作用域，而不是项目局部作用域。使用命令：`claude mcp add --transport sse \u003Cserver-name> \u003Curl> --scope user`。\n2. 这样配置会写入 `~\u002F.claude.json`，通常能确保持久化且在不同会话间共享，避免因 worktree 隔离导致的配置丢失。","https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fissues\u002F143",{"id":147,"question_zh":148,"answer_zh":149,"source_url":150},27222,"是否可以在非 GitHub 的 Git 仓库（如 GitLab）中使用此工具？","目前工具对 GitHub CLI 有依赖，主要用于处理 PR 和相关元数据。虽然核心功能基于 Git，但部分集成特性可能仅限于 GitHub。如果您的仓库不在 GitHub 上，基础的文件管理和代码生成功能可能仍然可用，但涉及 GitHub 特定 API 的功能（如自动创建 PR）将无法使用。建议在使用前检查具体功能是否依赖 `gh` 命令。","https:\u002F\u002Fgithub.com\u002Fsmtg-ai\u002Fclaude-squad\u002Fissues\u002F100",[152,157,162,167,172,177,182,187,192,197,202,207,212,217,222,227,232],{"id":153,"version":154,"summary_zh":155,"released_at":156},180297,"v1.0.17","一些新功能，旨在提升实用性！\n\n## 更改日志\n* b4b43ab07fff33737dfb9013e6717d5499822dbd：特性：启用为会话选择源分支（#262）（@mufeez-amjad）\n* 166112aebff5810d68e10ebb6ccff1113c104966：修复：更新 Claude 的信任提示处理（#263）（@mufeez-amjad）\n* 52aa2dd50f1a86494f0413aa04decb5a36e3ebb5：特性：允许配置用于创建会话的预设配置文件（#264）（@mufeez-amjad）\n\n","2026-03-12T07:40:53",{"id":158,"version":159,"summary_zh":160,"released_at":161},180298,"v1.0.16","性能优化和一个新的终端标签页！\n\n## 更改日志\n* 7f3bc747d6947c3b8609584f58acdb02cf23a062：特性：在创建工作树时显示正在工作的指示器 (#252) (@jennings)\n* 3d46daefc26f717676e6de3505c6b37d2d89092b：修复（UI）：移除多余的背景 (#255) (@mufeez-amjad)\n* e69ff9cefe491ee7595c18e21153f8aacccb69a5：特性：添加用于交互式 Shell 访问的终端标签页 (#247) (@luckyDaveKim)\n* 19d20d1f36848119c122ddadd240d5c463c179fc：性能：优化工作树启动时间 (#256) (@mufeez-amjad)\n\n","2026-03-01T08:25:12",{"id":163,"version":164,"summary_zh":165,"released_at":166},180299,"v1.0.14","## 更改日志\n* fc1b9675eb85747b66bfce039bb54473ee61be5f：修复：对最终分支名称进行转义，以处理来自分支前缀的无效字符 (#221) (@bzbetty)\n* 81d66d71c4399a3e0dd519e47ce91dd6565954db：修复：在 UI 中正确处理 Unicode 和中文字符 (#234) (@majiayu000)\n\n","2025-12-24T21:18:00",{"id":168,"version":169,"summary_zh":170,"released_at":171},180300,"v1.0.13","## 更改日志\n* cb057c09bf9ea25af18b21570fa0fe099a8bf545：修复：修复调试命令中的空指针解引用崩溃问题 (#196) (@kimeuichan)\n* 029af7244ef852c1791f798eb86ddd6091a172f7：为创建的会话启用 tmux 鼠标模式 (@mufeez-amjad)\n\n","2025-08-28T15:19:39",{"id":173,"version":174,"summary_zh":175,"released_at":176},180301,"v1.0.12","## 更改日志\n* 343c7e2f0d6526f8cfea222b8a047196292f0564：修复：加快会话创建速度（@mufeez-amjad）\n\n","2025-07-23T20:38:59",{"id":178,"version":179,"summary_zh":180,"released_at":181},180302,"v1.0.11","## 更改日志\n* 46ced5eeac4438f61c94c19c696320a8b052f24d：修复：自动接受 Claude 信任提示（@mufeez-amjad）\n\n","2025-07-22T18:18:43",{"id":183,"version":184,"summary_zh":185,"released_at":186},180303,"v1.0.10","## 更改日志\n* 8676c3ef05c13adef2b925de18cc9af1e9705d87：修复（会话）：暂停或签出会话时保留标准输出 (#177) (@mufeez-amjad)\n\n","2025-07-13T03:47:10",{"id":188,"version":189,"summary_zh":190,"released_at":191},180304,"v1.0.9","预览面板现在支持滚动了！\n\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F6295c3fb-0902-4582-ae0c-7e888d77a29a\n\n## 更改日志\n* 33832d9fc4faf60de83a1b2c13006d50b0115f1f：feat(ui)：在预览面板中支持滚动（#176）（@mufeez-amjad）\n\n","2025-07-13T03:29:11",{"id":193,"version":194,"summary_zh":195,"released_at":196},180305,"v1.0.8","## 更改日志\n* 4b51527fb63e572b43df33c9689dccf8e18df432：修复：为已安装 fetch 的用户解决“无法启动新会话”问题 (#150) (@Ahmad-A0)\n","2025-06-30T03:29:54",{"id":198,"version":199,"summary_zh":200,"released_at":201},180306,"v1.0.7","## 更改日志\n* 1ef187044644f5a10e75f87a428393e03df01e2b：特性：添加 Gemini 支持 (#145) (@fijimunkii)\n\n","2025-06-26T16:24:15",{"id":203,"version":204,"summary_zh":205,"released_at":206},180307,"v1.0.6","## Changelog\r\n* c7c39fd23dca0dd90aba84fdf3ee8691cb03f2c7: fix: `c` Command Checkout Locally Only (#123) (@tracy-codes)\r\n\r\n","2025-06-25T21:36:34",{"id":208,"version":209,"summary_zh":210,"released_at":211},180308,"v1.0.5","## Changelog\r\n* c66040612208916da5746a3f7b260e61234c3d48: feat: detect username for branch prefix (@mufeez-amjad)\r\n* c14ef48f76a84209fee42bb8295ba92e312b9d10: fix: Show error message when exiting tmux session without detaching (#110) (@mufeez-amjad)\r\n* 607a34215d117a18ee4f00072c6f5792fe93e540: fix: Resolve claude binary path, accounting for command aliasing (@mufeez-amjad)\r\n\r\n","2025-06-06T16:31:47",{"id":213,"version":214,"summary_zh":215,"released_at":216},180309,"v1.0.4","Claude Squad is now available via homebrew! 🎉 \r\n\r\n`brew install claude-squad`\r\n\r\n## Changelog\r\n* dca886d3ad94458dd3a0ffd4e78a479a9b03a101: feat: confirmation modal for `D` and `p` (#105) (@kennyfrc)\r\n* c8d25bd9da939045def1240434863fc543e1f0e9: fix: Don't show empty state when agents exist (#95) (@mufeez-amjad)","2025-06-04T05:18:38",{"id":218,"version":219,"summary_zh":220,"released_at":221},180310,"v1.0.3","## Changelog\r\n* b4a95e186d024f840e5f4b3565120c7df66896da: fix(app): don't open UI when pausing (@jayshrivastava)\r\n* 34de9ef1e2fc7742d47d1915c44795cb6387b544: feat(web): add landing page (#77) (@jayshrivastava)\r\n* d8a46dfb3c70c2380777dd26e4dae8fe2b9d1b6e: feat(web): add video to landing page (#78) (@jayshrivastava)\r\n* 6158c0fb8e77667a1827cf1b2faba460c171e1df: feat(web): add copy button for install script (#79) (@jayshrivastava)\r\n* 7b5ebc8190951429f9ebc50d06bbb28004af9756: feat(worktree): add configurable branch name prefix (@mufeez-amjad)\r\n\r\n","2025-05-21T19:27:07",{"id":223,"version":224,"summary_zh":225,"released_at":226},180311,"v1.0.2","## Changelog\r\n* 9ea27964f4fe250275b1c2d736fd30facf29a323: fix(worktree): Better error message when using cs in an uninitialized repo (@mufeez-amjad)\r\n* 0bf2bd5bfeb7e40615c0b097f60b421158d2a65e: fix(worktree): Traverse dirs to find repository root (@mufeez-amjad)\r\n\r\n","2025-04-27T22:54:22",{"id":228,"version":229,"summary_zh":230,"released_at":231},180312,"v1.0.1","## Changelog\r\n* 99a487f31e9a9d116723fac757306a8c157bdc51: fix(ui): remove limit from prompt text input (#55) (@mufeez-amjad)\r\n* 726670ad7d9f82143a9cf31251558ad0ffb7688b: fix(session\u002Fworktree): commit with `--no-verify` (@mufeez-amjad)\r\n\r\n","2025-04-05T18:40:14",{"id":233,"version":234,"summary_zh":235,"released_at":236},180313,"v1.0.0","# Claude Squad v1.0.0\r\n\r\nClaude Squad is a terminal app lets you manage multiple Claude Code (and other local agents like Aider) instances across separate workspaces, so you can tackle multiple tasks at once.\r\n\r\n- Run tasks in the background (with yolo\u002Fauto-accept mode)\r\n- Control all instances and tasks from one terminal window\r\n- Review changes before applying, checkout before pushing\r\n- Isolated git workspaces per task—no more conflicts!\r\n\r\nhttps:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Fbf2e17db-cd10-4bba-88ac-7732b8403ed4\r\n\r\n\u003Chr \u002F>\r\n\r\n\u003Cdetails>\r\n\r\n\u003Csummary>Changelog\u003C\u002Fsummary>\r\n\r\n* e85db5009a92cd6702cb0a87d6f1885d50de62d4: handle terminal window resizing (@mufeez-amjad)\r\n* 143fbf413c671df101d2e4b7dcb05d6870394c74: change name to claude squad (@jayshrivastava)\r\n* e187a3cf119b09037f587f06297982182c02472e: ui: add menu (@jayshrivastava)\r\n* 6b9d3156a4a9bc8a8f0ffec3e01a971f7498a2ff: ui: working on layout (@jayshrivastava)\r\n* 3ee359bab520677b1f9cdb4363434e6d48a02023: ui: layout and up\u002Fdown keystrokes done (@jayshrivastava)\r\n* fcedc3223db34f22ae42fd8fd0c5b9e49a5acbe8: ui: added error message and finished list except for new (@jayshrivastava)\r\n* f94334376b78d3e2ec399b9196d2fbe8d9be7e6e: ui: add spinners (@jayshrivastava)\r\n* 01697ad6897179839f65082e81ebb23f7a92b7d8: ui: add comments to spinner (@jayshrivastava)\r\n* 5a69cc0695d6a981133abc3204a210e78921f0bc: ui: add comments to spinner in list component (@jayshrivastava)\r\n* a5fe75257c42c41faf3f44c43a7540b6cf742919: ui: improve menu visibility (@jayshrivastava)\r\n* 3b595fbf42b5df4928fdebfa8500289b8ce1aa3f: ui: add ready icon (@jayshrivastava)\r\n* c6b6a4796d82e25451cb3a2a58f3b0603e71715a: ui: improve error styling (@mufeez-amjad)\r\n* 7c4b521c310bb055b4344791a50990a264bd950c: ui: don't wrap list navigation (@mufeez-amjad)\r\n* 509a7530f297dacfaf46286a66e3e5b927325689: session: add tmux session interface (@mufeez-amjad)\r\n* a28a62f0c9a6f8d56cc5370cea41f250ead4c145: log, tmux: add logger and tmux session package (@jayshrivastava)\r\n* 3f25ff6ede1489c9471fbc421879a6d744ed1b30: app, session, ui: add session management and preview pane content (#1) (@mufeez-amjad)\r\n* 0e9dc61268af653af75dfd64dc8354559c2145ab: fix(app): allow quitting with Ctrl-C (@mufeez-amjad)\r\n* ace681028b95c7bff924dea1d5c586ec82eed211: session: add worktree, pushing branch (@mufeez-amjad)\r\n* 93339d32a8be84a51e549d3114970e4273831466: session: context switching in\u002Fout working (@mufeez-amjad)\r\n* 82c93bc003b9bed9ca9d718e9d5e8150225269c2: tmux\u002Fui: fix window sizes (#2) (@jayshrivastava)\r\n* f8149aa25419cb874a3491b47ce8cfeac1d1b544: fix(session): bound SIGWINCH channel to prevent unbounded events during resize (@mufeez-amjad)\r\n* 0e4a7f2881335a10655b00afe02b3b187090df95: ci: add build + release workflows, install script (#3) (@mufeez-amjad)\r\n* 6229cb91a631f007305995ed2617227df5b749d5: instance: separate start from struct initialization (@jayshrivastava)\r\n* c276a65b9569b2f11d54a4850b42a284b0365454: list\u002Fui: add ability to enter name for session (#4) (@jayshrivastava)\r\n* 7f4f2da8ab3fe9cb4a38d33bb5af0c766b16ad08: fix(ui): remove extraneous lines from preview (@mufeez-amjad)\r\n* c8e5e0223992d73736bec0e934417b3ad70dcdee: ui: update empty state (@mufeez-amjad)\r\n* fdee23225583c7d305bd08bf6744ad8cd4ab391d: tabs: add tabs to ui and render preview in tabs (@jayshrivastava)\r\n* d6d5d2175a36a694b8cfa2353a32db1d1da4b49f: menu: add tab switching (@jayshrivastava)\r\n* 657fea22ba21370456bc158efbc7f97f4554fb90: ui: make claudesquad two words in fallback text for small terminals (@jayshrivastava)\r\n* cc2b4c43a76459d87369c10ca76593b2e791597b: fix(app, session): allow a freeform session title (@mufeez-amjad)\r\n* 5b4e4e81a28d7096888a68d7470be69d183e48c1: ui: update instance styles to use background with no border (#6) (@jayshrivastava)\r\n* 880014155c96ca5f1147fffbb51e96754cbe9cc4: ui: show branch name in list (@jayshrivastava)\r\n* e39a7477600d07592ba89d7bacfb57cde12f4bb2: tmux: nuke control characters when attaching (@jayshrivastava)\r\n* 58d18320059a1697a494bdbe8dd72db7c29b2a76: fix(ui): prevent layout shift between selected and unselected items (@mufeez-amjad)\r\n* 453ad89b05d04fe3f80757c3868d0d8dbf4b2657: feat(session\u002Fgit): Add support for checking out worktrees (#5) (@mufeez-amjad)\r\n* 7805c4bb433998d1fa5f34d341d2e3b2943b017f: fix(app): pressing escape when creating a new instance should cancel (@mufeez-amjad)\r\n* 543a5c29e1e1b68dd0c35726a784b3934eaff96b: fix(ui\u002Fpreview): add paused empty state (@mufeez-amjad)\r\n* 539bf2880686098a0681497a3032802ca1f82903: ui: clarify paused state better (@mufeez-amjad)\r\n* 5a31b668e3771462144963667791bc197ff1eaa2: app: allow for quitting while paused (#8) (@jayshrivastava)\r\n* b8953f63cc643c629e6c2335fb827bd042cccd14: tmux,ui: update statuses depending on claude stdout (#7) (@jayshrivastava)\r\n* f2994ea0fbb0fb724603c8726e71797fcbcb3258: license: add agpl 3.0 license (@jayshrivastava)\r\n* e3e0f7985a0665b743eb2263ad93491175648567: tmux: skip 'do you trust files' screen in instance (@jayshrivastava)\r\n* a28782436ced7718afd5f6c59b","2025-04-03T19:49:01"]