[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-fynnfluegge--agtx":3,"similar-fynnfluegge--agtx":161},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":9,"readme_en":10,"readme_zh":11,"quickstart_zh":12,"use_case_zh":13,"hero_image_url":14,"owner_login":15,"owner_name":16,"owner_avatar_url":17,"owner_bio":18,"owner_company":19,"owner_location":20,"owner_email":18,"owner_twitter":18,"owner_website":18,"owner_url":21,"languages":22,"stars":31,"forks":32,"last_commit_at":33,"license":34,"difficulty_score":35,"env_os":36,"env_gpu":37,"env_ram":37,"env_deps":38,"category_tags":44,"github_topics":47,"view_count":35,"oss_zip_url":18,"oss_zip_packed_at":18,"status":56,"created_at":57,"updated_at":58,"faqs":59,"releases":100},5506,"fynnfluegge\u002Fagtx","agtx","Multi-session AI coding terminal manager - autonomously orchestrate Claude, Codex, Gemini, OpenCode, Cursor","agtx 是一款专为开发者设计的多会话 AI 编程终端管理器。它不仅仅是一个简单的命令行工具，更像是一个智能的“看板指挥官”，能够自主协调 Claude、Codex、Gemini、Cursor 等多种主流 AI 编程助手协同工作。\n\n传统 AI 编程工具通常一次只能处理一个任务，而 agtx 解决了单一代理效率瓶颈和上下文切换繁琐的问题。它允许用户在一个终端看板中定义多个任务，随后由内置的“编排器（Orchestrator）”自动接管：根据任务阶段智能分配不同的 AI 模型（例如让 Gemini 负责调研、Claude 负责编码、Codex 负责审查），并在独立的 Git 工作区和 tmux 窗口中并行执行。这意味着开发者只需按下按键，即可让多个 AI 代理自主完成从规划、实现到代码审查的全流程，最终交付待合并的代码。\n\nagtx 特别适合需要高效管理复杂开发流程的软件工程师和技术团队。其独特亮点在于支持基于规范（Spec-driven）的插件系统，可灵活集成 GSD、Spec-kit 等工作流方法，并提供统一的多项目仪表盘。通过自动化调度与并行处理，agtx 让开发者能从繁琐的操作中","agtx 是一款专为开发者设计的多会话 AI 编程终端管理器。它不仅仅是一个简单的命令行工具，更像是一个智能的“看板指挥官”，能够自主协调 Claude、Codex、Gemini、Cursor 等多种主流 AI 编程助手协同工作。\n\n传统 AI 编程工具通常一次只能处理一个任务，而 agtx 解决了单一代理效率瓶颈和上下文切换繁琐的问题。它允许用户在一个终端看板中定义多个任务，随后由内置的“编排器（Orchestrator）”自动接管：根据任务阶段智能分配不同的 AI 模型（例如让 Gemini 负责调研、Claude 负责编码、Codex 负责审查），并在独立的 Git 工作区和 tmux 窗口中并行执行。这意味着开发者只需按下按键，即可让多个 AI 代理自主完成从规划、实现到代码审查的全流程，最终交付待合并的代码。\n\nagtx 特别适合需要高效管理复杂开发流程的软件工程师和技术团队。其独特亮点在于支持基于规范（Spec-driven）的插件系统，可灵活集成 GSD、Spec-kit 等工作流方法，并提供统一的多项目仪表盘。通过自动化调度与并行处理，agtx 让开发者能从繁琐的操作中解放出来，专注于核心架构设计与决策，显著提升研发效能。","\u003Cdiv align=\"center\">\n\n[\u002F\u002F]: \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffynnfluegge_agtx_readme_14c05b80b649.png\" width=\"428\" \u002F>\n\n# agtx\n\n\u003Cdiv align=\"left\">\n    \n> **An AI agent that manages other coding agents in a terminal kanban board** - Add tasks. Press one key. An orchestrator agent picks it up, plans, and delegates to multiple coding agents running in parallel. Come back to changes ready to merge.\n> \n> **Let different AI coding agents collaborate** autonomously on the same task with automatic session switching and context awareness -  \n> e.g. **Gemini** → research | **Claude** → implement | **Codex** → review\n\n\u003C\u002Fdiv>\n\n[![CI](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Factions\u002Fworkflows\u002Fci.yml)\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Ffynnfluegge\u002Fagtx)](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Freleases)\n[![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg)](CONTRIBUTING.md)\n[![License: Apache-2.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n\n---\n\n\u003Cimg width=\"840\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffynnfluegge_agtx_readme_dc612ae1f1a2.png\" \u002F>\n\n[\u002F\u002F]:  \u003Cimg width=\"840\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F42f71a6c-424c-4cc4-80fc-dc9bb8ba1467\" \u002F>\n\n\u003Cbr\u002F>\n\n[\u002F\u002F]: \u003Cimg width=\"1486\" height=\"680\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffynnfluegge_agtx_readme_dc612ae1f1a2.png\" \u002F>\n\n[\u002F\u002F]: \u003C![Xnapper-2026-02-14-09 36 33 (1)](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffynnfluegge_agtx_readme_d350a9a75454.png)>\n\n\u003C\u002Fdiv>\n\n## Why agtx?\n\nAI coding tools give you one agent, one task, one terminal. agtx gives you a **kanban board where multiple coding agents work in parallel** — each in its own git worktree, each in its own tmux window, running autonomously through a spec-driven workflow managed by an orchestrator agent.\n\nWith the orchestrator, you don't even manage the board yourself. **An AI agent picks up tasks, delegates work, and ensures getting things done** through planning, implementation, review and resolving conflicts — while you focus on what matters: research, defining tasks, and merging changes.\n\n> [!TIP]\n> Check out the [Contributing](#contributing) section or have a look at [`good first issues`](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) to get involved and become a contributor ⭐️ \n\n## Features\n\n- **Orchestrator agent**: A dedicated AI agent that autonomously manages your kanban board via [MCP](https:\u002F\u002Fmodelcontextprotocol.io) — delegates to coding agents, advances phases, checks for merge conflicts ([experimental](#orchestrator-agent-experimental))\n- **Multi-agent task lifecycle**: Configure different agents per workflow phase — e.g. Gemini for research, Claude for implementation, Codex for review — with automatic agent switching\n- **Parallel execution**: Every task gets its own git worktree and tmux window — run as many agents as needed, simultaneously\n- **Spec-driven plugins**: Plug in [GSD](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fget-shit-done-cc), [Spec-kit](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fspec-kit), [OpenSpec](https:\u002F\u002Fgithub.com\u002FFission-AI\u002FOpenSpec), [BMAD](https:\u002F\u002Fgithub.com\u002Fbmad-code-org\u002FBMAD-METHOD), [Superpowers](https:\u002F\u002Fgithub.com\u002Fobra\u002Fsuperpowers) — or define your own with a single TOML file\n- **Multi-project dashboard**: Manage agent sessions across all projects via a single TUI\n- **Works with**: [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code) | [Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex) | [Gemini CLI](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli) | [OpenCode](https:\u002F\u002Fgithub.com\u002Fsst\u002Fopencode)  | [Cursor Agent](https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcli\u002Foverview) | [Copilot](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli)\n\n> [!NOTE]\n> Just need a plain coding agent session manager with **full human-in-the-loop control** and **no automatic spec-driven skill execution and orchestration** on advancing tasks?\n>\n> Choose the **`void` plugin** and enjoy the kanban coding agent board - with full human control.\n\n## Quick Start\n\n```bash\n# Install\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Ffynnfluegge\u002Fagtx\u002Fmain\u002Finstall.sh | bash\n\n# Run in any git repository\ncd your-project && agtx\n```\n\n```bash\n# Dashboard mode — manage all projects\nagtx -g\n\n# Orchestrator mode — let an AI manage the board for you\nagtx --experimental\n```\n\n> [!NOTE]\n> Add `.agtx\u002F` to your project's `.gitignore` to avoid committing worktrees and local task data.\n\n```bash\n# Install from source\ncargo build --release\ncp target\u002Frelease\u002Fagtx ~\u002F.local\u002Fbin\u002F\n```\n\u003C\u002Fdetails>\n\n### Requirements\n\n- **tmux** — agent sessions run in a dedicated tmux server\n- **gh** (optional) — GitHub CLI for PR operations\n\n## Usage\n\n### Keyboard Shortcuts\n\n| Key | Action |\n|-----|--------|\n| `h\u002Fl` or `←\u002F→` | Move between columns |\n| `j\u002Fk` or `↑\u002F↓` | Move between tasks |\n| `o` | Create new task |\n| `R` | Enter research mode |\n| `↩` | Open task (view agent session) |\n| `m` | Move task forward in workflow |\n| `r` | Resume task (Review → Running) \u002F Move back (Running → Planning) |\n| `p` | Next phase (Review → Planning, cyclic plugins only) |\n| `d` | Show git diff |\n| `x` | Delete task |\n| `\u002F` | Search tasks |\n| `P` | Select spec-driven workflow plugin |\n| `O` | Toggle orchestrator agent (`--experimental`) |\n| `e` | Toggle project sidebar |\n| `q` | Quit |\n\n### Task Creation Wizard\n\nPress `o` to create a new task. The wizard guides you through:\n1. **Title** — enter a short task name\n2. **Plugin** — select a workflow plugin (auto-skipped if only one option)\n3. **Prompt** — write a detailed task description with inline references\n\nThe agent is configured at the project level via `config.toml` (not per-task).\n\n### Task Description Editor\n\nWhen writing a task description, you can reference files, skills, and other tasks inline:\n\n| Key | Action |\n|-----|--------|\n| `#` or `@` | Fuzzy search and insert a file path |\n| `\u002F` | Fuzzy search and insert an agent skill\u002Fcommand (at line start or after space) |\n| `!` | Fuzzy search and insert a task reference (at line start or after space) |\n\n\n### Agent Session Features\n\n- Sessions automatically resume when moving Review → Running\n- Full conversation context is preserved across the task lifecycle\n- View live agent output in the task popup\n- **Auto merge-conflict resolution**: When a Review task becomes idle, agtx checks for merge conflicts with the default branch. If conflicts are detected, the agent is automatically instructed to resolve them.\n\n## Configuration\n\nConfig file location: `~\u002F.config\u002Fagtx\u002Fconfig.toml`\n\n### Worktree Base Branch\n\nagtx creates a new git worktree for each task. By default it auto-detects the base branch in this\norder: `main`, then `master`, then the current branch. You can override this to force a specific\nbase branch (for example `dev` or `develop`).\n\nGlobal worktree defaults can be set here:\n\n```toml\n# ~\u002F.config\u002Fagtx\u002Fconfig.toml\n[worktree]\nbase_branch = \"dev\"\n```\n\n### Project Configuration\n\nPer-project settings can be placed in `.agtx\u002Fconfig.toml` at the project root:\n\n```toml\n# Base branch used when creating new task worktrees (optional)\nbase_branch = \"dev\"\n\n# Files to copy from project root into each new worktree (comma-separated)\n# Paths are relative and preserve directory structure\ncopy_files = \".env, .env.local, web\u002F.env.local\"\n\n# Shell command to run inside the worktree after creation and file copying\ninit_script = \"scripts\u002Finit_worktree.sh\"\n\n# Shell command to run inside the worktree before removal\ncleanup_script = \"scripts\u002Fcleanup_worktree.sh\"\n```\n\n`base_branch` controls which branch new task worktrees are created from. If omitted or empty, agtx\nauto-detects `main`, `master`, or falls back to the current branch.\n\nThese options run during the Backlog → Research\u002FPlanning\u002FRunning transition, after worktree creation\nand before the agent session starts.\n\nWhen a task worktree is removed, `cleanup_script` runs first (with cwd set to the worktree root).\nIf it exits non-zero, worktree removal is aborted and the error is logged (forced cleanup flows\ncontinue after logging). The script receives:\n\n- `AGTX_PROJECT_PATH`\n- `AGTX_WORKTREE_PATH`\n- `AGTX_TASK_ID`\n- `AGTX_TASK_SLUG`\n- `AGTX_TASK_BRANCH` (when available)\n\n### Per-Phase Agent Configuration\n\nBy default, all phases use `default_agent`. You can override the agent for specific phases globally or per project:\n\n```toml\n# ~\u002F.config\u002Fagtx\u002Fconfig.toml\ndefault_agent = \"claude\"\n\n[agents]\nresearch = \"gemini\"\nplanning = \"claude\"\nrunning = \"claude\"\nreview = \"codex\"\n```\n\n```toml\n# .agtx\u002Fconfig.toml (project override — takes precedence over global)\n[agents]\nrunning = \"codex\"\n```\n\n## Plugins\n\nPlug any spec-driven framework into the task lifecycle. Define commands, prompts, and artifacts — agtx handles phase gating, artifact polling, worktree sync, agent switching, and autonomous execution.\n\nPress `P` to switch plugins. Ships with 7 built-in:\n\n| Plugin | Description |\n|--------|-------------|\n| **void** | Plain agent session - no prompting or skills, task description prefilled in input |\n| **agtx** (default) | Built-in workflow with skills and prompts for each phase |\n| **gsd** | [Get Shit Done](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fget-shit-done-cc) - structured spec-driven development with interactive planning |\n| **spec-kit** | [Spec-Driven Development](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fspec-kit) by GitHub - specifications become executable artifacts |\n| **openspec** | [OpenSpec](https:\u002F\u002Fgithub.com\u002FFission-AI\u002FOpenSpec) - lightweight AI-guided specification framework |\n| **bmad** | [BMAD Method](https:\u002F\u002Fgithub.com\u002Fbmad-code-org\u002FBMAD-METHOD) - AI-driven agile development with structured phases |\n| **superpowers** | [Superpowers](https:\u002F\u002Fgithub.com\u002Fobra\u002Fsuperpowers) - brainstorming, plans, TDD, subagent-driven development |\n\n### Agent Compatibility\n\nCommands are written once in canonical format and automatically translated per agent:\n\n| Canonical (plugin.toml) | Claude \u002F Gemini | Codex | OpenCode | Cursor |\n|--------------------------|-----------------|-------|----------|--------|\n| `\u002Fagtx:plan` | `\u002Fagtx:plan` | `$agtx-plan` | `\u002Fagtx-plan` | `\u002Fagtx-plan` |\n\n|  | Claude | Codex | Gemini | OpenCode | Cursor | Copilot |\n|--|:------:|:-----:|:------:|:--------:|:------:|:-------:|\n| **agtx** | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |\n| **gsd** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |\n| **spec-kit** | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |\n| **openspec** | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |\n| **bmad** | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |\n| **superpowers** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **void** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |\n\n✅ Skills, commands, and prompts fully supported · 🟡 Prompt only, no interactive skill support · ❌ Not supported\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Creating a Plugin\u003C\u002Fb>\u003C\u002Fsummary>\n\nPlace your plugin at `.agtx\u002Fplugins\u002F\u003Cname>\u002Fplugin.toml` in your project root (or `~\u002F.config\u002Fagtx\u002Fplugins\u002F\u003Cname>\u002Fplugin.toml` for global use). It will appear in the plugin selector automatically.\n\n**Minimal example** — a plugin that uses custom slash commands:\n\n```toml\nname = \"my-plugin\"\ndescription = \"My custom workflow\"\n\n[commands]\nresearch = \"\u002Fmy-plugin:research {task}\"\nplanning = \"\u002Fmy-plugin:plan\"\nrunning = \"\u002Fmy-plugin:execute\"\nreview = \"\u002Fmy-plugin:review\"\n\n[prompts]\nplanning = \"Task: {task}\"\n```\n\n**Full reference** with all available fields:\n\n```toml\nname = \"my-plugin\"\ndescription = \"My custom workflow\"\n\n# Shell command to run in the worktree after creation, before the agent starts.\n# {agent} is replaced with the agent name (claude, codex, gemini, etc.)\ninit_script = \"npm install --prefix .my-plugin --{agent}\"\n\n# Restrict to specific agents (empty or omitted = all agents supported)\nsupported_agents = [\"claude\", \"codex\", \"gemini\", \"opencode\"]\n\n# Extra directories to copy from project root into each worktree.\n# Agent config dirs (.claude, .gemini, .codex, .github\u002Fagents, .config\u002Fopencode)\n# are always copied automatically.\ncopy_dirs = [\".my-plugin\"]\n\n# Individual files to copy from project root into each worktree.\n# Merged with project-level copy_files from .agtx\u002Fconfig.toml.\ncopy_files = [\"PROJECT.md\", \"REQUIREMENTS.md\"]\n\n# When true, enables Review → Planning transition via the `p` key.\n# Each cycle increments the phase counter ({phase} placeholder).\n# Use this for multi-milestone workflows (e.g. plan → execute → review → next milestone).\ncyclic = false\n\n# Artifact files that signal phase completion.\n# When detected, the task shows a checkmark instead of the spinner.\n# Supports * wildcard for one directory level (e.g. \"specs\u002F*\u002Fplan.md\").\n# Use {phase} for cycle-aware paths (replaced with the current cycle number).\n# Omitted phases show no completion indicator.\n[artifacts]\nresearch = \".my-plugin\u002Fresearch.md\"\nplanning = \".my-plugin\u002F{phase}\u002Fplan.md\"\nrunning = \".my-plugin\u002F{phase}\u002Fsummary.md\"\nreview = \".my-plugin\u002F{phase}\u002Freview.md\"\n\n# Slash commands sent to the agent via tmux for each phase.\n# Written in canonical format (Claude\u002FGemini style): \u002Fnamespace:command\n# Automatically transformed per agent:\n#   Claude\u002FGemini: \u002Fmy-plugin:plan (unchanged)\n#   OpenCode:      \u002Fmy-plugin-plan (colon -> hyphen)\n#   Codex:         $my-plugin-plan (slash -> dollar, colon -> hyphen)\n# Omitted phases fall back to agent-native agtx skill invocation\n# (e.g. \u002Fagtx:plan for Claude, $agtx-plan for Codex).\n# Set to \"\" to skip sending a command for that phase.\n# Use {phase} for cycle-aware commands (replaced with the current cycle number).\n# Use {task} to inline the task description.\n[commands]\npreresearch = \"\u002Fmy-plugin:research {task}\"  # Used only when no research artifacts exist yet\nresearch = \"\u002Fmy-plugin:discuss {phase}\"\nplanning = \"\u002Fmy-plugin:plan {phase}\"\nrunning = \"\u002Fmy-plugin:execute {phase}\"\nreview = \"\u002Fmy-plugin:review {phase}\"\n\n# Prompt templates sent as task content after the command.\n# {task} = task title + description, {task_id} = unique task ID, {phase} = cycle number.\n# Omitted phases send no prompt (the skill\u002Fcommand handles instructions).\n[prompts]\nresearch = \"Task: {task}\"\n\n# Text patterns to wait for in the tmux pane before sending the prompt.\n# Useful when a command triggers an interactive prompt that must appear first.\n# Polls every 500ms, times out after 5 minutes.\n[prompt_triggers]\nresearch = \"What do you want to build?\"\n\n# Files\u002Fdirs to copy from worktree back to project root after a phase completes.\n# Triggered automatically when the phase artifact is detected (spinner → checkmark).\n# Useful for sharing research artifacts (specs, plans) across worktrees.\n[copy_back]\nresearch = [\"PROJECT.md\", \"REQUIREMENTS.md\", \".my-plugin\"]\n\n# Auto-dismiss interactive prompts that appear before the prompt trigger.\n# Each rule fires when ALL detect patterns are present and the pane is stable.\n# Response is newline-separated keystrokes (e.g. \"2\\nEnter\" sends \"2\" then Enter).\n[[auto_dismiss]]\ndetect = [\"Map codebase\", \"Skip mapping\", \"Enter to select\"]\nresponse = \"2\\nEnter\"\n```\n\n**What happens at each phase transition:**\n\n1. The **command** is sent to the agent via tmux (e.g., `\u002Fmy-plugin:plan`)\n2. If a **prompt_trigger** is set, agtx waits for that prompt trigger to appear in the tmux pane\n3. The **prompt** is sent with `{task}`, `{task_id}`, and `{phase}` replaced\n4. agtx polls for the **artifact** file — when found, the spinner becomes a checkmark\n5. If **copy_back** is configured, artifacts are copied from worktree to project root on completion\n6. If the agent appears idle (no output for 15s), the spinner becomes a pause icon\n\n**Phase gating:** Whether a phase can be entered directly from Backlog is derived from the plugin config. If a phase's command or prompt contains `{task}`, it can receive task context and is accessible from Backlog. If neither has `{task}`, the phase depends on a prior phase and is blocked until that artifact exists. For example, OpenSpec's `\u002Fopsx:propose {task}` allows direct Backlog → Planning, but `\u002Fopsx:apply` (no `{task}`) blocks Backlog → Running until proposal artifacts exist.\n\n**Preresearch fallback:** When pressing `R` on a task, if `preresearch` is configured and no research artifacts from `copy_back` exist in the project root yet, the `preresearch` command is used instead of `research`. This lets plugins run a one-time project setup (e.g. `\u002Fgsd:new-project`) before switching to the regular research command for subsequent tasks. If the plugin has no research command at all (e.g. OpenSpec), pressing `R` shows a warning.\n\n**Cyclic workflows:** When `cyclic = true`, pressing `p` in Review moves the task back to Planning with an incremented phase counter. This enables multi-milestone workflows where each cycle (plan → execute → review) produces artifacts in a separate `{phase}` directory.\n\n**Custom skills:** If your plugin provides its own skill files, place them in the plugin directory:\n\n```\n.agtx\u002Fplugins\u002Fmy-plugin\u002F\n├── plugin.toml\n└── skills\u002F\n    ├── agtx-plan\u002FSKILL.md\n    ├── agtx-execute\u002FSKILL.md\n    └── agtx-review\u002FSKILL.md\n```\n\nThese override the built-in agtx skills and are automatically deployed to each agent's native discovery path (`.claude\u002Fcommands\u002F`, `.codex\u002Fskills\u002F`, `.gemini\u002Fcommands\u002F`, etc.) in every worktree.\n\n\u003C\u002Fdetails>\n\n## How It Works\n\n### Architecture\n\n```\n┌─────────────────────────────────────────────────────────┐\n│                      agtx TUI                           │\n├─────────────────────────────────────────────────────────┤\n│  Backlog  │  Planning  │  Running  │  Review  │  Done   │\n│  ┌─────┐  │  ┌─────┐   │  ┌─────┐  │  ┌─────┐ │         │\n│  │Task1│  │  │Task2│   │  │Task3│  │  │Task4│ │         │\n│  └─────┘  │  └─────┘   │  └─────┘  │  └─────┘ │         │\n└─────────────────────────────────────────────────────────┘\n                    │           │\n                    ▼           ▼\n┌─────────────────────────────────────────────────────────┐\n│                 tmux server \"agtx\"                      │\n│  ┌────────────────────────────────────────────────────┐ │\n│  │ Session: \"my-project\"                              │ │\n│  │  ┌────────┐  ┌────────┐  ┌────────┐                │ │\n│  │  │Window: │  │Window: │  │Window: │                │ │\n│  │  │task2   │  │task3   │  │task4   │                │ │\n│  │  │(Claude)│  │(Claude)│  │(Claude)│                │ │\n│  │  └────────┘  └────────┘  └────────┘                │ │\n│  └────────────────────────────────────────────────────┘ │\n│  ┌────────────────────────────────────────────────────┐ │\n│  │ Session: \"other-project\"                           │ │\n│  │  ┌───────────────────┐                             │ │\n│  │  │ Window:           │                             │ │\n│  │  │ some_other_task   │                             │ │\n│  │  └───────────────────┘                             │ │\n│  └────────────────────────────────────────────────────┘ │\n└─────────────────────────────────────────────────────────┘\n                    │           │\n                    ▼           ▼\n            ┌───────────────────────────┐\n            │   Git Worktrees           │\n            │  .agtx\u002Fworktrees\u002Ftask2\u002F   │\n            │  .agtx\u002Fworktrees\u002Ftask3\u002F   │\n            │  .agtx\u002Fworktrees\u002Ftask4\u002F   │\n            └───────────────────────────┘\n```\n\n### Tmux Structure\n\n- **Server**: All sessions run on a dedicated tmux server named `agtx`\n- **Sessions**: Each project gets its own tmux session (named after the project)\n- **Windows**: Each task gets its own window within the project's session\n\n```bash\n# List all sessions\ntmux -L agtx list-sessions\n\n# List all windows across sessions\ntmux -L agtx list-windows -a\n\n# Attach to the agtx server\ntmux -L agtx attach\n```\n\n### Data Storage\n\n- **Database**: `~\u002FLibrary\u002FApplication Support\u002Fagtx\u002F` (macOS) or `~\u002F.local\u002Fshare\u002Fagtx\u002F` (Linux)\n- Config: `~\u002F.config\u002Fagtx\u002Fconfig.toml`\n- **Worktrees**: `.agtx\u002Fworktrees\u002F` in each project\n- **Tmux**: Dedicated server `agtx` with per-project sessions\n\n## Orchestrator Agent (Experimental)\n\n> Press `O` and walk away. Come back to changes ready to merge.\n\nThe orchestrator is an AI agent that **drives other AI agents to completion**. You triage tasks into Planning or Running — the orchestrator takes over from there, advancing each task through its phases until it lands in Review, ready for you to merge.\n\n```bash\nagtx --experimental   # then press O\n```\n\n**What it does:**\n- Monitors tasks in Planning and Running\n- Advances tasks automatically as phases complete (Planning → Running → Review)\n- Respects plugin phase rules — checks `allowed_actions` before each transition\n- Detects stuck tasks (idle for 1+ minute without a phase artifact) and reads the agent pane to diagnose the cause\n- Nudges stuck agents, answers CLI prompts automatically, or escalates to you with a reason when human input is needed\n\n**You triage. It executes.** Move tasks from Backlog into Planning or Running — the orchestrator handles the rest. Merging is your call.\n\n### MCP Integration\n\nThe orchestrator communicates with agtx through the [Model Context Protocol (MCP)](https:\u002F\u002Fmodelcontextprotocol.io). agtx ships with a built-in MCP server (`agtx serve`) that exposes the kanban board as a set of tools over JSON-RPC via stdio.\n\n```\n┌─────────────-┐     MCP (stdio)     ┌──────────────┐     SQLite     ┌─────┐\n│ Orchestrator │ ←─────────────────→ │  MCP Server  │ ←────────────→ │ DB  │\n│ (Claude Code)│                     │ (agtx serve) │                └──┬──┘\n└──────┬───────┘                     └──────────────┘                   │\n       │  push-when-idle notifications                                  │\n┌──────┴───────┐                                                        │\n│   TUI (agtx) │ ←───────────────────────────────────────────────────--─┘\n└──────────────┘\n```\n\n**MCP tools available to the orchestrator:**\n\n| Tool | Description |\n|------|-------------|\n| `list_tasks` | List all tasks, optionally filtered by status |\n| `get_task` | Get task details including `allowed_actions` for valid transitions |\n| `move_task` | Queue a state transition (the TUI executes it with full side effects) |\n| `get_transition_status` | Check if a queued transition completed or errored |\n| `check_conflicts` | Non-destructive merge conflict detection against the default branch |\n| `get_notifications` | Manually fetch pending notifications (backup — usually pushed automatically) |\n| `read_pane_content` | Read the last N lines of a task's agent tmux pane |\n| `send_to_task` | Send a message to a task's agent pane (Planning\u002FRunning only) |\n\n**How it works:**\n1. When you press `O`, the TUI registers the MCP server with the orchestrator agent via `claude mcp add-json --scope local`\n2. The orchestrator receives phase completion notifications pushed to its tmux pane when idle\n3. It reacts by calling `get_task` to check `allowed_actions`, then `move_task` to advance the task\n4. The TUI processes the transition request, executes all side effects (agent switching, skill deployment, prompt sending), and updates the database\n5. If a task has been idle for 1+ minute without a phase artifact, the orchestrator is notified — it reads the pane with `read_pane_content`, then either nudges the agent with `send_to_task` or calls `move_task` with `escalate_to_user` to flag it for your attention\n6. Escalated tasks show a `⚠` badge on the kanban board; opening the task popup shows the reason and dismisses the flag\n7. MCP registration is cleaned up when the orchestrator is stopped\n\n## Contributing\n\nContributions are welcome! Whether it's a bug fix, new plugin, agent integration, or documentation improvement.\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for the full guide. Here's the short version:\n\n```bash\n# Fork & clone\ngit clone https:\u002F\u002Fgithub.com\u002F\u003Cyou>\u002Fagtx && cd agtx\n\n# Build & test\ncargo build && cargo test --features test-mocks\n```\n\n### Good First Contributions\n\nNot sure where to start? Here are some ideas:\n\n- **Write a plugin** — A single `plugin.toml` is all you need. See [Creating a Plugin](#plugins) for the full reference\n- **Add a new agent** — Integrate your favorite AI coding CLI. See the [architecture docs](CLAUDE.md) for how agents are structured\n- **Improve documentation** — Found something unclear? Help others by improving it\n- **Report bugs** — Open an [issue](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues). Reproduction steps are always appreciated\n- **Browse open issues** — Check the [`good first issue`](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) label for beginner-friendly tasks\n\n## Development\n\nSee [CLAUDE.md](CLAUDE.md) for full architecture docs and development patterns.\n\n```bash\n# Build\ncargo build\n\n# Run tests (includes mock-based tests)\ncargo test --features test-mocks\n\n# Build release\ncargo build --release\n```\n","\u003Cdiv align=\"center\">\n\n[\u002F\u002F]: \u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffynnfluegge_agtx_readme_14c05b80b649.png\" width=\"428\" \u002F>\n\n# agtx\n\n\u003Cdiv align=\"left\">\n    \n> **一个在终端看板上管理其他编码智能体的AI助手** - 添加任务，按下一键。编排智能体会接手、规划，并将其委派给多个并行运行的编码智能体。等你回来时，更改已准备好合并。\n> \n> **让不同的AI编码智能体在同一个任务上自主协作**，实现自动会话切换和上下文感知——\n> 例如：**Gemini** → 研究 | **Claude** → 实现 | **Codex** → 审查\n\n\u003C\u002Fdiv>\n\n[![CI](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Factions\u002Fworkflows\u002Fci.yml)\n[![Release](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Ffynnfluegge\u002Fagtx)](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Freleases)\n[![PRs Welcome](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPRs-welcome-brightgreen.svg)](CONTRIBUTING.md)\n[![License: Apache-2.0](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-Apache_2.0-blue.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FApache-2.0)\n\n---\n\n\u003Cimg width=\"840\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffynnfluegge_agtx_readme_dc612ae1f1a2.png\" \u002F>\n\n[\u002F\u002F]:  \u003Cimg width=\"840\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F42f71a6c-424c-4cc4-80fc-dc9bb8ba1467\" \u002F>\n\n\u003Cbr\u002F>\n\n[\u002F\u002F]: \u003Cimg width=\"1486\" height=\"680\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffynnfluegge_agtx_readme_dc612ae1f1a2.png\" \u002F>\n\n[\u002F\u002F]: \u003C![Xnapper-2026-02-14-09 36 33 (1)](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffynnfluegge_agtx_readme_d350a9a75454.png)>\n\n\u003C\u002Fdiv>\n\n## 为什么选择agtx？\n\nAI编码工具通常只提供一个智能体、一项任务和一个终端。而agtx则为你提供一个**多编码智能体并行工作的看板**——每个智能体都在自己的Git工作树中，各自独立地运行在tmux窗口里，通过由编排智能体管理的规范驱动型工作流自主完成任务。\n\n有了编排智能体，你甚至无需亲自管理看板。**一个AI智能体会接管任务、分配工作，并确保通过规划、实施、审查及解决冲突来完成任务**——让你可以专注于更重要的事情：研究、定义任务以及合并代码变更。\n\n> [!TIP]\n> 请查看[贡献指南](#contributing)部分，或浏览[`good first issues`](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)，参与其中，成为我们的贡献者⭐️ \n\n## 特性\n\n- **编排智能体**：一个专门的AI智能体，通过[MCP](https:\u002F\u002Fmodelcontextprotocol.io)自主管理你的看板——委派给编码智能体、推进各个阶段、检查合并冲突（[实验性功能](#orchestrator-agent-experimental)）\n- **多智能体任务生命周期**：为每个工作流阶段配置不同的智能体——例如，用Gemini进行研究、用Claude实现、用Codex进行审查——并实现智能体的自动切换\n- **并行执行**：每个任务都有自己的Git工作树和tmux窗口——你可以同时运行任意数量的智能体\n- **规范驱动插件**：可接入[GSD](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fget-shit-done-cc)、[Spec-kit](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fspec-kit)、[OpenSpec](https:\u002F\u002Fgithub.com\u002FFission-AI\u002FOpenSpec)、[BMAD](https:\u002F\u002Fgithub.com\u002Fbmad-code-org\u002FBMAD-METHOD)、[Superpowers](https:\u002F\u002Fgithub.com\u002Fobra\u002Fsuperpowers)——或者只需一个TOML文件即可自定义\n- **多项目仪表盘**：通过一个统一的TUI管理所有项目的智能体会话\n- **兼容工具**：[Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code) | [Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex) | [Gemini CLI](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli) | [OpenCode](https:\u002F\u002Fgithub.com\u002Fsst\u002Fopencode)  | [Cursor Agent](https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcli\u002Foverview) | [Copilot](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fcopilot-cli)\n\n> [!NOTE]\n> 如果你只需要一个普通的编码智能体会话管理器，具备**完全的人工干预控制**，并且**不涉及自动的规范驱动技能执行和任务推进编排**呢？\n>\n> 那就选择**`void`插件**，享受完全由人工控制的看板式编码智能体界面吧。\n\n## 快速开始\n\n```bash\n# 安装\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Ffynnfluegge\u002Fagtx\u002Fmain\u002Finstall.sh | bash\n\n# 在任何git仓库中运行\ncd your-project && agtx\n```\n\n```bash\n# 仪表盘模式——管理所有项目\nagtx -g\n\n# 编排模式——让AI帮你管理看板\nagtx --experimental\n```\n\n> [!NOTE]\n> 请将`.agtx\u002F`添加到项目的`.gitignore`文件中，以避免提交工作树和本地任务数据。\n\n```bash\n# 从源码安装\ncargo build --release\ncp target\u002Frelease\u002Fagtx ~\u002F.local\u002Fbin\u002F\n```\n\u003C\u002Fdetails>\n\n### 要求\n\n- **tmux** — 智能体会话运行在一个专用的tmux服务器中\n- **gh**（可选） — GitHub命令行工具，用于PR操作\n\n## 使用方法\n\n### 键盘快捷键\n\n| 键 | 功能 |\n|-----|--------|\n| `h\u002Fl` 或 `←\u002F→` | 在列之间移动 |\n| `j\u002Fk` 或 `↑\u002F↓` | 在任务之间移动 |\n| `o` | 创建新任务 |\n| `R` | 进入研究模式 |\n| `↩` | 打开任务（查看智能体会话） |\n| `m` | 将任务推进到下一个工作流阶段 |\n| `r` | 恢复任务（从审查回到运行）\u002F退回（从运行回到计划） |\n| `p` | 切换到下一阶段（仅限循环插件：审查→计划） |\n| `d` | 显示git差异 |\n| `x` | 删除任务 |\n| `\u002F` | 搜索任务 |\n| `P` | 选择规范驱动的工作流插件 |\n| `O` | 切换编排智能体（实验性功能） |\n| `e` | 切换项目侧边栏 |\n| `q` | 退出 |\n\n### 任务创建向导\n\n按`o`键创建新任务。向导会引导你完成以下步骤：\n1. **标题** — 输入简短的任务名称\n2. **插件** — 选择一个工作流插件（如果只有一个选项，则自动跳过）\n3. **提示** — 编写详细的任务描述，并插入内联引用\n\n智能体的配置是在项目级别通过`config.toml`文件进行的（而非针对每个任务）。\n\n### 任务描述编辑器\n\n在编写任务描述时，你可以内联引用文件、技能和其他任务：\n\n| 键 | 功能 |\n|-----|--------|\n| `#` 或 `@` | 模糊搜索并插入文件路径 |\n| `\u002F` | 模糊搜索并插入智能体技能或命令（位于行首或空格后） |\n| `!` | 模糊搜索并插入任务引用（位于行首或空格后） |\n\n\n### 智能体会话功能\n\n- 当任务从“审查”状态转为“运行”状态时，会话会自动恢复\n- 整个任务生命周期中都会保留完整的对话上下文\n- 可在任务弹出窗口中查看智能体的实时输出\n- **自动解决合并冲突**：当审查任务处于空闲状态时，agtx会检查其与默认分支之间的合并冲突。若检测到冲突，智能体将被自动指示去解决这些冲突。\n\n## 配置\n\n配置文件位置：`~\u002F.config\u002Fagtx\u002Fconfig.toml`\n\n### 工作树基础分支\n\nagtx为每个任务创建一个新的Git工作树。默认情况下，它会按照以下顺序自动检测基础分支：`main`、`master`，最后是当前分支。你可以覆盖此设置，强制指定特定的基础分支（例如`dev`或`develop`）。\n\n全局工作树的默认设置可以在以下位置进行配置：\n\n```toml\n# ~\u002F.config\u002Fagtx\u002Fconfig.toml\n[worktree]\nbase_branch = \"dev\"\n```\n\n### 项目配置\n\n每个项目的设置可以放在项目根目录下的 `.agtx\u002Fconfig.toml` 文件中：\n\n```toml\n# 创建新任务工作树时使用的基分支（可选）\nbase_branch = \"dev\"\n\n# 从项目根目录复制到每个新工作树的文件列表（用逗号分隔）\n# 路径是相对路径，并保留目录结构\ncopy_files = \".env, .env.local, web\u002F.env.local\"\n\n# 工作树创建并完成文件复制后，在工作树内部运行的 Shell 命令\ninit_script = \"scripts\u002Finit_worktree.sh\"\n\n# 在工作树被移除之前，在工作树内部运行的 Shell 命令\ncleanup_script = \"scripts\u002Fcleanup_worktree.sh\"\n```\n\n`base_branch` 控制新任务工作树是从哪个分支创建的。如果未指定或为空，agtx 会自动检测 `main`、`master` 分支，或者回退到当前分支。\n\n这些选项会在从待办事项列表进入研究\u002F规划\u002F执行阶段的过程中运行，即在工作树创建之后、代理会话开始之前。\n\n当一个任务工作树被移除时，`cleanup_script` 会首先运行（当前工作目录设置为工作树的根目录）。如果该脚本退出状态码非零，则工作树的移除会被中止，并记录错误信息（强制清理流程会在记录错误后继续执行）。脚本会接收到以下环境变量：\n\n- `AGTX_PROJECT_PATH`\n- `AGTX_WORKTREE_PATH`\n- `AGTX_TASK_ID`\n- `AGTX_TASK_SLUG`\n- `AGTX_TASK_BRANCH`（如果可用）\n\n### 按阶段的代理配置\n\n默认情况下，所有阶段都使用 `default_agent`。你可以在全局或项目级别为特定阶段覆盖代理：\n\n```toml\n# ~\u002F.config\u002Fagtx\u002Fconfig.toml\ndefault_agent = \"claude\"\n\n[agents]\nresearch = \"gemini\"\nplanning = \"claude\"\nrunning = \"claude\"\nreview = \"codex\"\n```\n\n```toml\n# .agtx\u002Fconfig.toml（项目级覆盖 — 优先于全局配置）\n[agents]\nrunning = \"codex\"\n```\n\n## 插件\n\n将任何基于规范的框架接入任务生命周期。定义命令、提示和工件——agtx 会处理阶段间的流转、工件轮询、工作树同步、代理切换以及自主执行。\n\n按 `P` 键可以切换插件。默认附带 7 个内置插件：\n\n| 插件 | 描述 |\n|--------|-------------|\n| **void** | 纯代理会话 - 不提供提示或技能，任务描述已预填在输入中 |\n| **agtx**（默认） | 内置工作流，包含各阶段的技能和提示 |\n| **gsd** | [Get Shit Done](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fget-shit-done-cc) - 结构化的规范驱动开发，支持交互式规划 |\n| **spec-kit** | GitHub 的 [Spec-Driven Development](https:\u002F\u002Fgithub.com\u002Fgithub\u002Fspec-kit) - 规范直接转化为可执行工件 |\n| **openspec** | [OpenSpec](https:\u002F\u002Fgithub.com\u002FFission-AI\u002FOpenSpec) - 轻量级的 AI 辅助规范框架 |\n| **bmad** | [BMAD Method](https:\u002F\u002Fgithub.com\u002Fbmad-code-org\u002FBMAD-METHOD) - 基于 AI 的敏捷开发，具有结构化阶段 |\n| **superpowers** | [Superpowers](https:\u002F\u002Fgithub.com\u002Fobra\u002Fsuperpowers) - 头脑风暴、计划制定、测试驱动开发及子代理驱动的开发 |\n\n### 代理兼容性\n\n命令以标准格式编写一次，然后根据不同的代理自动转换：\n\n| 标准格式（plugin.toml） | Claude \u002F Gemini | Codex | OpenCode | Cursor |\n|--------------------------|-----------------|-------|----------|--------|\n| `\u002Fagtx:plan` | `\u002Fagtx:plan` | `$agtx-plan` | `\u002Fagtx-plan` | `\u002Fagtx-plan` |\n\n|  | Claude | Codex | Gemini | OpenCode | Cursor | Copilot |\n|--|:------:|:-----:|:------:|:--------:|:------:|:-------:|\n| **agtx** | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |\n| **gsd** | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |\n| **spec-kit** | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |\n| **openspec** | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |\n| **bmad** | ✅ | ✅ | ✅ | ✅ | ✅ | 🟡 |\n| **superpowers** | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |\n| **void** | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |\n\n✅ 技能、命令和提示完全支持 · 🟡 仅支持提示，无交互式技能支持 · ❌ 不支持\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>创建插件\u003C\u002Fb>\u003C\u002Fsummary>\n\n将你的插件放置在项目根目录下的 `.agtx\u002Fplugins\u002F\u003Cname>\u002Fplugin.toml` 中（或放在 `~\u002F.config\u002Fagtx\u002Fplugins\u002F\u003Cname>\u002Fplugin.toml` 中以供全局使用）。它会自动出现在插件选择器中。\n\n**最小示例**——一个使用自定义斜杠命令的插件：\n\n```toml\nname = \"my-plugin\"\ndescription = \"我的自定义工作流\"\n\n[commands]\nresearch = \"\u002Fmy-plugin:research {task}\"\nplanning = \"\u002Fmy-plugin:plan\"\nrunning = \"\u002Fmy-plugin:execute\"\nreview = \"\u002Fmy-plugin:review\"\n\n[prompts]\nplanning = \"任务：{task}\"\n```\n\n**完整参考**，包含所有可用字段：\n\n```toml\nname = \"my-plugin\"\ndescription = \"我的自定义工作流\"\n\n# 工作树创建后、代理启动前在工作树内运行的 Shell 命令。\n# {agent} 会被替换为代理名称（claude、codex、gemini 等）。\ninit_script = \"npm install --prefix .my-plugin --{agent}\"\n\n# 限制支持的代理类型（空或省略表示支持所有代理）。\nsupported_agents = [\"claude\", \"codex\", \"gemini\", \"opencode\"]\n\n# 需要从项目根目录复制到每个工作树的额外目录。\n# 代理配置目录（.claude、.gemini、.codex、.github\u002Fagents、.config\u002Fopencode）总是会自动复制。\ncopy_dirs = [\".my-plugin\"]\n\n# 从项目根目录复制到每个工作树的单独文件。\n# 与 .agtx\u002Fconfig.toml 中的项目级 copy_files 合并。\ncopy_files = [\"PROJECT.md\", \"REQUIREMENTS.md\"]\n\n# 如果为真，则启用通过 `p` 键进行“评审 → 规划”阶段切换。\n# 每次循环都会递增阶段计数器（{phase} 占位符）。\n# 适用于多里程碑的工作流（例如：规划 → 执行 → 评审 → 下一里程碑）。\ncyclic = false\n\n# 表示阶段已完成的工件文件。\n# 当检测到这些文件时，任务会显示勾号而不是加载动画。\n# 支持单层目录通配符（例如：“specs\u002F*\u002Fplan.md”）。\n# 使用 {phase} 可实现周期感知路径（替换为当前周期编号）。\n# 对于未指定的阶段，则不会显示完成标志。\n[artifacts]\nresearch = \".my-plugin\u002Fresearch.md\"\nplanning = \".my-plugin\u002F{phase}\u002Fplan.md\"\nrunning = \".my-plugin\u002F{phase}\u002Fsummary.md\"\nreview = \".my-plugin\u002F{phase}\u002Freview.md\"\n\n# 每个阶段通过 tmux 发送给代理的斜杠命令。\n# 以标准格式书写（Claude\u002FGemini 风格）：\u002Fnamespace:command\n# 自动根据代理类型转换：\n#   Claude\u002FGemini：\u002Fmy-plugin:plan（保持不变）\n#   OpenCode：\u002Fmy-plugin-plan（冒号变为短横线）\n#   Codex：$my-plugin-plan（斜杠变为美元符号，冒号变为短横线）\n# 对于未指定的阶段，则回退到代理原生的 agtx 技能调用\n# （例如，Claude 使用 \u002Fagtx:plan，Codex 使用 $agtx-plan）。\n# 设置为空字符串表示跳过该阶段的命令发送。\n# 使用 {phase} 可实现周期感知命令（替换为当前周期编号）。\n# 使用 {task} 可以将任务描述内联进去。\n[commands]\npreresearch = \"\u002Fmy-plugin:research {task}\"  # 仅在尚未存在研究工件时使用\nresearch = \"\u002Fmy-plugin:discuss {phase}\"\nplanning = \"\u002Fmy-plugin:plan {phase}\"\nrunning = \"\u002Fmy-plugin:execute {phase}\"\nreview = \"\u002Fmy-plugin:review {phase}\"\n\n# 作为任务内容发送的提示模板。\n# {task} = 任务标题 + 描述，{task_id} = 唯一的任务 ID，{phase} = 周期编号。\n# 对于未指定的阶段，则不发送提示（由技能或命令自行处理指令）。\n[prompts]\nresearch = \"任务：{task\"\n\n# 在向 tmux 窗格发送提示之前需要等待的文本模式。\n# 当某个命令会触发必须先出现的交互式提示时非常有用。\n# 每 500 毫秒轮询一次，超时时间为 5 分钟。\n[prompt_triggers]\nresearch = \"你想构建什么？\"\n\n# 在一个阶段完成后，从工作树复制回项目根目录的文件\u002F目录。\n# 当检测到阶段工件时自动触发（从加载图标变为勾号）。\n# 适用于在不同工作树之间共享研究相关工件（规格、计划等）。\n[copy_back]\nresearch = [\"PROJECT.md\", \"REQUIREMENTS.md\", \".my-plugin\"]\n\n# 自动关闭在提示触发前出现的交互式提示。\n# 每条规则在所有检测模式都出现且窗格状态稳定时生效。\n# 响应是换行分隔的按键序列（例如，“2\\nEnter”会发送“2”然后按 Enter 键）。\n[[auto_dismiss]]\ndetect = [\"映射代码库\", \"跳过映射\", \"输入选择\"]\nresponse = \"2\\nEnter\"\n```\n\n**每个阶段转换时会发生什么：**\n\n1. **命令**通过 tmux 发送给代理（例如 `\u002Fmy-plugin:plan`）。\n2. 如果设置了 **prompt_trigger**，agtx 会等待该提示触发器在 tmux 窗格中出现。\n3. **提示**会被发送，其中 `{task}`、`{task_id}` 和 `{phase}` 会被替换。\n4. agtx 会轮询 **工件** 文件——一旦找到，加载图标就会变成勾号。\n5. 如果配置了 **copy_back**，完成时会将工件从工作树复制到项目根目录。\n6. 如果代理看起来处于空闲状态（15 秒内无输出），加载图标会变成暂停图标。\n\n**阶段门控：** 某个阶段是否可以直接从待办列表进入，取决于插件配置。如果某个阶段的命令或提示中包含 `{task}`，则可以接收任务上下文，并可从待办列表访问。如果两者都不包含 `{task}`，则该阶段依赖于前一阶段，直到前一阶段的工件存在才会被解锁。例如，OpenSpec 的 `\u002Fopsx:propose {task}` 允许直接从待办列表进入规划阶段，但 `\u002Fopsx:apply`（不含 `{task}`）会阻止从待办列表进入执行阶段，直到提案工件生成。\n\n**预研究回退：** 当在任务上按下 `R` 键时，如果配置了 `preresearch` 且项目根目录中尚未存在 `copy_back` 中的研究工件，则会使用 `preresearch` 命令代替 `research`。这允许插件在切换到常规研究命令处理后续任务之前，先运行一次性的项目初始化操作（如 `\u002Fgsd:new-project`）。如果插件根本没有研究命令（如 OpenSpec），按下 `R` 键时会显示警告。\n\n**循环工作流：** 当 `cyclic = true` 时，在评审阶段按下 `p` 键会将任务返回到规划阶段，并递增阶段计数器。这支持多里程碑的工作流，其中每个周期（规划 → 执行 → 评审）都会在单独的 `{phase}` 目录中生成工件。\n\n**自定义技能：** 如果你的插件提供了自己的技能文件，请将其放置在插件目录中：\n\n```\n.agtx\u002Fplugins\u002Fmy-plugin\u002F\n├── plugin.toml\n└── skills\u002F\n    ├── agtx-plan\u002FSKILL.md\n    ├── agtx-execute\u002FSKILL.md\n    └── agtx-review\u002FSKILL.md\n```\n\n这些文件会覆盖内置的 agtx 技能，并自动部署到每个代理的本地发现路径（`.claude\u002Fcommands\u002F`、`.codex\u002Fskills\u002F`、`.gemini\u002Fcommands\u002F` 等）中的每个工作树。\n\n\u003C\u002Fdetails>\n\n## 工作原理\n\n### 架构\n\n```\n┌─────────────────────────────────────────────────────────┐\n│                      agtx TUI                           │\n├─────────────────────────────────────────────────────────┤\n│  待办列表  │  规划  │  执行  │  评审  │  完成   │\n│  ┌─────┐  │  ┌─────┐   │  ┌─────┐  │  ┌─────┐ │         │\n│  │任务1│  │  │任务2│   │  │任务3│  │  │任务4│ │         │\n│  └─────┘  │  └─────┘   │  └─────┘  │  └─────┘ │         │\n└─────────────────────────────────────────────────────────┘\n                    │           │\n                    ▼           ▼\n┌─────────────────────────────────────────────────────────┐\n│                 tmux 服务器 “agtx”                      │\n│  ┌────────────────────────────────────────────────────┐ │\n│  │ 会话: “my-project”                              │ │\n│  │  ┌────────┐  ┌────────┐  ┌────────┐                │ │\n│  │  │窗口: │  │窗口: │  │窗口: │                │ │\n│  │  │task2   │  │task3   │  │task4   │                │ │\n│  │  │(Claude)│  │(Claude)│  │(Claude)│                │ │\n│  │  └────────┘  └────────┘  └────────┘                │ │\n│  └────────────────────────────────────────────────────┘ │\n│  ┌────────────────────────────────────────────────────┐ │\n│  │ 会话: “other-project”                           │ │\n│  │  ┌───────────────────┐                             │ │\n│  │  │ 窗口:           │                             │ │\n│  │  │ some_other_task   │                             │ │\n│  │  └───────────────────┘                             │ │\n│  └────────────────────────────────────────────────────┘ │\n└─────────────────────────────────────────────────────────┘\n                    │           │\n                    ▼           ▼\n            ┌───────────────────────────┐\n            │   Git 工作树           │\n            │  .agtx\u002Fworktrees\u002Ftask2\u002F   │\n            │  .agtx\u002Fworktrees\u002Ftask3\u002F   │\n            │  .agtx\u002Fworktrees\u002Ftask4\u002F   │\n            └───────────────────────────┘\n```\n\n### Tmux 结构\n\n- **服务器**：所有会话都在名为 `agtx` 的专用 tmux 服务器上运行。\n- **会话**：每个项目都有自己的 tmux 会话（以项目命名）。\n- **窗口**：每个任务在项目的会话中都有自己的窗口。\n\n```bash\n# 列出所有会话\ntmux -L agtx list-sessions\n\n# 列出所有会话中的窗口\ntmux -L agtx list-windows -a\n\n# 连接到 agtx 服务器\ntmux -L agtx attach\n```\n\n### 数据存储\n\n- **数据库**：`~\u002FLibrary\u002FApplication Support\u002Fagtx\u002F`（macOS）或 `~\u002F.local\u002Fshare\u002Fagtx\u002F`（Linux）。\n- 配置文件：`~\u002F.config\u002Fagtx\u002Fconfig.toml`。\n- **工作树**：每个项目中的 `.agtx\u002Fworktrees\u002F`。\n- **Tmux**：专用服务器 `agtx` 及其按项目划分的会话。\n\n## 协调代理（实验性）\n\n> 按下 `O` 键后即可离开。回来时，更改已准备好合并。\n\n协调代理是一个 AI 代理，能够 **驱动其他 AI 代理完成任务**。你只需将任务分类到规划或执行阶段——协调代理会接管剩余流程，推动每个任务依次经过各个阶段，直到进入评审阶段，供你合并。\n\n```bash\nagtx --experimental   # 然后按下 O 键\n```\n\n**它的工作方式：**\n- 监控规划和执行阶段的任务。\n- 在各阶段完成后自动推进任务（规划 → 执行 → 评审）。\n- 尊重插件的阶段规则——在每次转换前检查 `allowed_actions`。\n- 检测卡住的任务（超过 1 分钟未产生阶段工件）并读取代理窗格内容以诊断原因。\n- 对卡住的代理进行提醒，自动回答 CLI 提示，或在需要人工干预时向你汇报具体原因。\n\n**你负责分类，它负责执行。** 将任务从待办列表移至规划或执行阶段——剩下的就由协调代理来完成。最终是否合并，由你决定。\n\n### MCP 集成\n\n编排器通过 [模型上下文协议 (MCP)](https:\u002F\u002Fmodelcontextprotocol.io) 与 agtx 进行通信。agtx 自带一个内置的 MCP 服务器 (`agtx serve`)，它通过标准输入输出以 JSON-RPC 的形式将看板展示为一组工具。\n\n```\n┌─────────────-┐     MCP (stdio)     ┌──────────────┐     SQLite     ┌─────┐\n│ 编排器       │ ←─────────────────→ │  MCP 服务器  │ ←────────────→ │ DB  │\n│ (Claude Code)│                     │ (agtx serve) │                └──┬──┘\n└──────┬───────┘                     └──────────────┘                   │\n       │  空闲时推送通知                                  │\n┌──────┴───────┐                                                        │\n│   TUI (agtx) │ ←───────────────────────────────────────────────────--─┘\n└──────────────┘\n```\n\n**编排器可用的 MCP 工具：**\n\n| 工具           | 描述                                                         |\n|----------------|--------------------------------------------------------------|\n| `list_tasks`   | 列出所有任务，可按状态筛选                                   |\n| `get_task`     | 获取任务详情，包括有效状态转换的 `allowed_actions`          |\n| `move_task`    | 排队执行状态转换（TUI 会完整地执行所有副作用）               |\n| `get_transition_status` | 检查排队中的状态转换是否已完成或出错                       |\n| `check_conflicts` | 对默认分支进行非破坏性的合并冲突检测                         |\n| `get_notifications` | 手动获取待处理的通知（备用方式——通常会自动推送）             |\n| `read_pane_content` | 读取任务代理 tmux 窗格的最后 N 行内容                        |\n| `send_to_task` | 向任务代理窗格发送消息（仅限“规划中”或“运行中”状态的任务） |\n\n**工作流程：**\n1. 当你按下 `O` 键时，TUI 会通过 `claude mcp add-json --scope local` 将 MCP 服务器注册到编排器代理。\n2. 编排器会在空闲时接收到推送到其 tmux 窗格的阶段完成通知。\n3. 它会调用 `get_task` 检查 `allowed_actions`，然后调用 `move_task` 来推进任务。\n4. TUI 处理状态转换请求，执行所有副作用（切换代理、部署技能、发送提示），并更新数据库。\n5. 如果某个任务在没有产生阶段成果的情况下空闲超过 1 分钟，编排器就会收到通知——它会使用 `read_pane_content` 读取窗格内容，然后要么通过 `send_to_task` 提醒代理，要么调用带有 `escalate_to_user` 参数的 `move_task` 来将其标记为你需要关注的任务。\n6. 被升级的任务会在看板上显示一个 `⚠` 标记；打开任务弹出窗口即可查看原因并取消标记。\n7. 当编排器停止时，MCP 注册会被清理。\n\n## 贡献\n\n我们欢迎各种贡献！无论是修复 bug、开发新插件、集成新代理，还是改进文档。\n\n完整的指南请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。以下是简要说明：\n\n```bash\n# 克隆并创建分支\ngit clone https:\u002F\u002Fgithub.com\u002F\u003Cyou>\u002Fagtx && cd agtx\n\n# 构建并测试\ncargo build && cargo test --features test-mocks\n```\n\n### 适合初学者的贡献\n\n不知道从哪里开始？这里有一些建议：\n\n- **编写插件** — 只需要一个 `plugin.toml` 文件即可。完整的参考请见 [创建插件](#plugins)。\n- **添加新代理** — 集成你喜欢的 AI 编程 CLI。关于代理的结构，请参阅 [架构文档](CLAUDE.md)。\n- **改进文档** — 发现了不清楚的地方吗？帮助他人，把它改得更清晰吧。\n- **报告 bug** — 在 [GitHub 问题页面](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues) 上提交一个问题。提供复现步骤会非常有帮助。\n- **浏览开放问题** — 查看带有 [`good first issue`](https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) 标签的问题，这些都是适合初学者的任务。\n\n## 开发\n\n完整的架构文档和开发模式请参阅 [CLAUDE.md](CLAUDE.md)。\n\n```bash\n# 构建\ncargo build\n\n# 运行测试（包含基于模拟的测试）\ncargo test --features test-mocks\n\n# 构建发布版本\ncargo build --release\n```","# agtx 快速上手指南\n\n**agtx** 是一个运行在终端的看板工具，旨在协调多个 AI 编程代理（Agent）并行工作。它通过一个“编排器（Orchestrator）”自动分配任务、规划流程并委托给不同的 AI（如 Gemini 负责调研、Claude 负责实现、Codex 负责审查），让多个 AI 在独立的 Git Worktree 和 tmux 窗口中自主协作。\n\n## 环境准备\n\n在开始之前，请确保您的系统满足以下要求：\n\n*   **操作系统**: Linux 或 macOS (Windows 需通过 WSL2)\n*   **Git**: 必须安装，用于管理多任务分支。\n*   **tmux**: **核心依赖**。agtx 依赖 tmux 服务器来隔离和运行每个 AI 代理的会话。\n*   **AI 客户端**: 至少安装一种支持的 AI CLI 工具，例如：\n    *   [Claude Code](https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fclaude-code)\n    *   [Gemini CLI](https:\u002F\u002Fgithub.com\u002Fgoogle-gemini\u002Fgemini-cli)\n    *   [OpenAI Codex](https:\u002F\u002Fgithub.com\u002Fopenai\u002Fcodex)\n    *   [Cursor Agent](https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcli\u002Foverview)\n    *   GitHub Copilot CLI 等\n*   **gh (可选)**: GitHub CLI，用于拉取请求（PR）相关操作。\n\n## 安装步骤\n\n### 方式一：一键脚本安装（推荐）\n\n使用官方提供的安装脚本快速部署：\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Ffynnfluegge\u002Fagtx\u002Fmain\u002Finstall.sh | bash\n```\n\n### 方式二：源码编译安装\n\n如果您已安装 Rust 工具链，可以通过源码构建：\n\n```bash\ncargo build --release\ncp target\u002Frelease\u002Fagtx ~\u002F.local\u002Fbin\u002F\n```\n\n> **提示**: 建议在项目的 `.gitignore` 文件中添加 `.agtx\u002F`，以避免提交本地任务数据和临时 worktree 文件。\n\n## 基本使用\n\n### 1. 启动 agtx\n\n进入任意 Git 项目目录并运行：\n\n```bash\ncd your-project && agtx\n```\n\n### 2. 核心模式\n\nagtx 提供两种主要运行模式：\n\n*   **看板管理模式 (默认)**: 手动管理任务流转，完全由人类控制。\n    ```bash\n    agtx\n    ```\n*   **全局仪表盘模式**: 在一个界面管理所有项目的代理会话。\n    ```bash\n    agtx -g\n    ```\n*   **自动编排模式 (实验性)**: 启用 AI 编排器，让 AI 自动接管看板，进行任务规划、分配和冲突解决。\n    ```bash\n    agtx --experimental\n    ```\n\n### 3. 创建与执行任务\n\n启动后，您将看到基于终端的看板界面（通常包含 `Backlog`, `Research`, `Running`, `Review` 等列）。\n\n1.  **新建任务**: 按下 `o` 键。\n    *   输入任务标题。\n    *   选择工作流插件（如 `agtx`, `gsd`, `spec-kit` 等，若只有一个则自动跳过）。\n    *   编写详细任务描述（支持使用 `#` 引用文件，`\u002F` 引用技能，`!` 引用其他任务）。\n2.  **推进任务**:\n    *   使用 `j\u002Fk` 或 `↑\u002F↓` 选择任务。\n    *   使用 `m` 将任务移动到下一个阶段（例如从 `Backlog` 移到 `Research`）。\n    *   一旦任务进入 `Running` 阶段，agtx 会自动创建一个新的 Git Worktree 和 tmux 窗口，并启动配置的 AI 代理开始工作。\n3.  **查看进度**:\n    *   按下 `↩` (Enter) 键打开任务，实时查看 AI 在 tmux 中的输出。\n    *   按下 `d` 查看当前任务的 Git 差异。\n\n### 4. 常用快捷键速查\n\n| 按键 | 功能说明 |\n| :--- | :--- |\n| `o` | 创建新任务 |\n| `m` | 推动任务进入下一阶段 |\n| `r` | 恢复任务运行 \u002F 回退任务状态 |\n| `↩` | 打开任务详情（查看 AI 会话） |\n| `P` | 切换工作流插件 (Spec-driven plugins) |\n| `O` | 开启\u002F关闭 自动编排器 (Orchestrator) |\n| `d` | 显示 Git Diff |\n| `q` | 退出程序 |\n\n### 5. 配置多代理协作\n\n您可以通过配置文件让不同阶段的任務使用不同的 AI。\n\n**全局配置** (`~\u002F.config\u002Fagtx\u002Fconfig.toml`):\n\n```toml\n# 默认代理\ndefault_agent = \"claude\"\n\n# 为特定阶段指定代理\n[agents]\nresearch = \"gemini\"   # 调研阶段使用 Gemini\nplanning = \"claude\"   # 规划阶段使用 Claude\nrunning = \"claude\"    # 执行阶段使用 Claude\nreview = \"codex\"      # 审查阶段使用 Codex\n```\n\n**项目级配置** (`.agtx\u002Fconfig.toml`，优先级高于全局配置):\n\n```toml\n# 覆盖当前项目的执行代理\n[agents]\nrunning = \"codex\"\n```\n\n配置完成后，当任务在不同阶段流转时，agtx 会自动切换到对应的 AI 代理进行处理。","某全栈开发团队需要在两天内为一个电商后台同时实现“用户画像分析”、“推荐算法接入”和“前端看板重构”三个高复杂度模块。\n\n### 没有 agtx 时\n- **单线程瓶颈**：开发者只能串行工作，先让 Claude 写后端，等完成后才能切换上下文让 Gemini 查资料，最后再手动调用 Codex 审查，耗时极长。\n- **上下文割裂**：在不同 AI 工具间切换时，需反复复制粘贴代码和需求文档，极易丢失关键信息或产生理解偏差。\n- **并行管理混乱**：若尝试手动开启多个终端窗口运行不同 Agent，难以统一监控进度，且容易因 Git 分支冲突导致代码覆盖。\n- **人工协调成本高**：开发者需时刻盯着每个任务的完成状态，手动判断何时该进入“代码审查”阶段，无法真正脱手去处理架构设计。\n\n### 使用 agtx 后\n- **自动化流水线**：只需在 Kanban 看板添加任务，agtx 的编排器自动分配：Gemini 负责调研算法文档，Claude 并行编写核心逻辑，Codex 同步进行代码审查。\n- **无缝上下文继承**：agtx 为每个任务创建独立的 Git worktree 和 tmux 窗口，Agent 间自动共享规格说明书（Spec），确保信息流转零损耗。\n- **真·并行执行**：三个模块的开发任务在后台同时跑动，互不干扰，开发者回来时直接面对的是三个已解决冲突、待合并的成熟分支。\n- **智能状态推进**：编排器自动检测任务阶段，当编码完成时自动触发审查流程，无需人工干预，让开发者专注于最终的业务验收。\n\nagtx 将原本需要数天的人工串行协作，转变为多模型自主并行的自动化交付流，让开发者从“监工”回归到“架构师”角色。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Ffynnfluegge_agtx_d350a9a7.jpg","fynnfluegge","Fynn Flügge","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Ffynnfluegge_1cb87ef5.png",null,"SAP","Hamburg, Germany","https:\u002F\u002Fgithub.com\u002Ffynnfluegge",[23,27],{"name":24,"color":25,"percentage":26},"Rust","#dea584",99.5,{"name":28,"color":29,"percentage":30},"Shell","#89e051",0.5,820,71,"2026-04-07T17:30:10","Apache-2.0",2,"Linux, macOS","未说明",{"notes":39,"python":37,"dependencies":40},"该工具是一个基于终端的 AI 代理编排器，主要依赖 tmux 来管理并行的代理会话。它本身不运行大型模型，而是调用外部 CLI 工具（如 Claude Code, Codex, Gemini CLI 等），因此硬件需求取决于所连接的具体 AI 服务或本地运行的代理工具。安装可通过脚本自动完成，或从源代码使用 Rust (cargo) 编译。建议将 .agtx\u002F 目录添加到 .gitignore 中。",[41,42,43],"tmux","gh (可选)","cargo (编译源码时)",[45,46],"Agent","插件",[48,49,50,51,52,53,54,55],"claude-code","spec-driven-development","opencode","claude","codex","gemini","vibe-coding","cursor","ready","2026-03-27T02:49:30.150509","2026-04-08T19:21:10.004012",[60,65,70,75,80,85,90,95],{"id":61,"question_zh":62,"answer_zh":63,"source_url":64},24973,"使用 Gemini 进行研究后，程序卡住不退出或不切换到下一个 Agent 怎么办？","这是一个已知的新引入 Bug，表现为 Gemini 研究员完成任务后没有正常退出，导致卡在尝试运行 Claude 规划者的步骤。维护者已确认该问题并进行了修复，请确保您使用的是包含此修复的最新版本。","https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues\u002F59",{"id":66,"question_zh":67,"answer_zh":68,"source_url":69},24966,"如何在创建新的工作树（worktree）时自动安装依赖或复制配置文件（如 .env）？","可以在项目配置文件 `.agtx\u002Fconfig.toml` 中配置 `copy_files` 和 `init_script` 字段。\n1. `copy_files`：逗号分隔的文件列表，用于从主项目目录复制到新工作树（适用于 .env 等未跟踪文件）。\n2. `init_script`：在工作树创建并复制文件后执行的 Shell 命令，用于安装依赖或构建项目。\n\n示例配置：\n```toml\n# .agtx\u002Fconfig.toml\ncopy_files = \".env, .env.local\"\ninit_script = \"npm install\"\n```\n执行顺序为：创建 worktree -> 复制文件 -> 运行 init_script -> 启动 Agent 会话。用户也可以编写自定义脚本（如 `scripts\u002Finit_worktree.sh`）并在 `init_script` 中调用它来处理复杂的初始化逻辑。","https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues\u002F2",{"id":71,"question_zh":72,"answer_zh":73,"source_url":74},24967,"如何为不同的开发阶段（Phase）配置不同的编码 Agent 或模型？","支持全局和项目级别的配置，允许为每个状态或阶段指定默认的编码 Agent。首次启动时可设置全局默认模型。系统会识别可用的编码 Agent 供用户选择。此外，建议在切换 Agent 时使用持久的 Markdown 文档（例如 `.agtx\u002Fworktrees\u002Ftask3\u002Ftask.md`）来保持上下文和状态，这样不同阶段的 Agent 可以读取同一份文件，既保留了上下文又提高了 Token 效率。","https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues\u002F19",{"id":76,"question_zh":77,"answer_zh":78,"source_url":79},24968,"在 Windows 终端通过 SSH 连接到 Linux 服务器运行时，无法创建新项目或打开项目怎么办？","这通常是版本兼容性问题。如果您在 Windows 11 终端通过 SSH 连接到 Ubuntu 主机并在 tmux 会话中运行 agtx 时遇到\"按 n 无反应\"或\"打开项目按钮无效\"的问题，请尝试升级到最新版本。用户反馈表明，在新版本中该问题已得到解决，可以正常工作。","https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues\u002F58",{"id":81,"question_zh":82,"answer_zh":83,"source_url":84},24969,"运行 Agent 时出现\"Failed to create tmux window\"错误如何解决？","该错误通常是由于本地 tmux 别名（alias）配置不当引起的。请检查您的 shell 配置文件（如 .bashrc 或 .zshrc），确认是否有针对 `tmux` 命令的别名，且该别名是否正确传递了必要的环境变量。如果别名干扰了变量传递，请移除别名或使用完整命令路径运行 agtx。","https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues\u002F26",{"id":86,"question_zh":87,"answer_zh":88,"source_url":89},24970,"如何在任务向导中通过模糊搜索快速选择文件？","在任务向导中，除了使用 `#` 触发下拉菜单进行文件搜索外，现在还支持使用 `@` 符号来触发文件的模糊搜索（fzf）。输入 `@` 后即可开始搜索并选择项目中的文件。","https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues\u002F7",{"id":91,"question_zh":92,"answer_zh":93,"source_url":94},24971,"当多个 Agent 并行在不同工作树中工作时，如何处理代码合并冲突？","系统引入了自动合并冲突检测和解决机制。当审查（Review）阶段任务完成时（检测到审查产物出现或 Agent 空闲超过 30 秒），系统会自动从远程获取最新代码，并使用 `git merge-tree --write-tree` 检查与主分支的合并冲突。如果发现冲突，系统会将 `\u002Fagtx:merge-conflicts` 技能发送给 Agent，由 Agent 自动合并主分支代码、解决冲突并提交。此过程每个任务只运行一次，适用于所有插件和 Agent。","https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues\u002F25",{"id":96,"question_zh":97,"answer_zh":98,"source_url":99},24972,"是否支持与 GSD (Get Shit Done) 集成？","是的，agtx 已经支持与 GSD (https:\u002F\u002Fgithub.com\u002Fgsd-build\u002Fget-shit-done) 集成。该功能已在后续版本中实现并关闭了相关需求议题。","https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fissues\u002F16",[101,106,111,116,121,126,131,136,141,146,151,156],{"id":102,"version":103,"summary_zh":104,"released_at":105},154407,"v0.1.8","## 变更内容\n* 修复：@fynnfluegge 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F60 中修复了多代理切换问题\n* 修复（tmux）：@romek-codes 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F61 中处理了启动时窗口索引重新编号的问题\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.1.7...v0.1.8","2026-04-04T09:04:28",{"id":107,"version":108,"summary_zh":109,"released_at":110},154408,"v0.1.7","## 变更内容\n* 修复了 git worktree 的 bug 并应用了 rustfmt，由 @tvarsis 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F49 中完成\n* 文档：澄清了 worktree 基础分支的配置，由 @romek-codes 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F54 中完成\n* 修复：限制 scroll_up 的偏移量，以防止出现幽灵滚动的死区，由 @tranhoangtu-it 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F52 中完成\n* 修复（tmux）：在会话中对项目名称进行 sanitization 处理，由 @romek-codes 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F55 中完成\n\n## 新贡献者\n* @tvarsis 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F49 中完成了首次贡献\n* @romek-codes 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F54 中完成了首次贡献\n* @tranhoangtu-it 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F52 中完成了首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.1.6...v0.1.7","2026-03-29T20:07:01",{"id":112,"version":113,"summary_zh":114,"released_at":115},154409,"v0.1.6","## 变更内容\n* feat: 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F43 中为编排代理添加了卡住任务检测功能\n* feat: 在 @qianchongyang 的贡献下，于 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F45 中实现了在推进任务阶段时清除过时上下文的功能\n* feat: 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F47 中扩展了编排技能\n\n## 新贡献者\n* @qianchongyang 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F45 中完成了他们的首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.1.5...v0.1.6\n\n## 变更内容\n* feat: 由 @fynnfluegge 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F43 中为编排代理添加了卡住任务检测功能\n* feat: 由 @qianchongyang 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F45 中实现了在推进任务阶段时清除过时上下文的功能\n* feat: 由 @fynnfluegge 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F47 中扩展了编排技能\n\n## 新贡献者\n* @qianchongyang 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F45 中完成了他们的首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.1.5...v0.1.6","2026-03-21T11:29:24",{"id":117,"version":118,"summary_zh":119,"released_at":120},154410,"v0.1.5","## 变更内容\n* docs: 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F38 中添加贡献章节\n* fix: 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F40 中添加编排器空闲状态，以避免卡住\n* feat: 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F41 中添加光标 CLI\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.1.4...v0.1.5\n\n## 变更内容\n* docs: 由 @fynnfluegge 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F38 中添加贡献章节\n* fix: 由 @fynnfluegge 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F40 中添加编排器空闲状态，以避免卡住\n* feat: 由 @fynnfluegge 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F41 中添加光标 CLI\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.1.4...v0.1.5","2026-03-18T20:32:37",{"id":122,"version":123,"summary_zh":124,"released_at":125},154411,"v0.1.4","## 变更内容\n* feat: 改进任务创建向导，详见 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F35\n* feat: 添加合并冲突解决技能和触发器，详见 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F34\n* feat: 添加编排代理，详见 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F36\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.1.3...v0.1.4\n\n## 变更内容\n* feat: 由 @fynnfluegge 改进任务创建向导，详见 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F35\n* feat: 由 @fynnfluegge 添加合并冲突解决技能和触发器，详见 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F34\n* feat: 由 @fynnfluegge 添加编排代理，详见 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F36\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.1.3...v0.1.4","2026-03-14T12:28:10",{"id":127,"version":128,"summary_zh":129,"released_at":130},154412,"v0.1.3","## 变更内容\n* 重构：在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F30 中提高 app_rs 的测试覆盖率\n* 功能：在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F31 中添加 superpowers 和 bmad\n* 重构：在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F32 中改进 agtx 插件的提示功能\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.1.2...v0.1.3","2026-03-07T13:06:31",{"id":132,"version":133,"summary_zh":134,"released_at":135},154413,"v0.1.2","## 变更内容\n* feat: 添加 OpenSpec 插件，根据配置推断插件阶段行为，由 @fynnfluegge 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F29 中实现\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.1.1...v0.1.2","2026-03-03T20:55:31",{"id":137,"version":138,"summary_zh":139,"released_at":140},154414,"v0.1.1","## 变更内容\n* 重构：将 agtx 内置默认配置提取到 plugin.toml 中，详见 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F27\n* 功能新增：添加循环阶段、复制回写功能，并讨论回退到插件系统的方案，详见 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F28\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.1.0...v0.1.1","2026-03-02T22:52:04",{"id":142,"version":143,"summary_zh":144,"released_at":145},154415,"v0.1.0","## 变更内容\n* 功能：在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F22 中添加了内置 gsd 和 spec-kit 的插件框架\n* 功能：在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F23 中添加了任务创建时的技能引用触发器\n* 功能：在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F24 中添加了每个任务生命周期内的多智能体支持\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.0.3...v0.1.0","2026-02-28T18:00:14",{"id":147,"version":148,"summary_zh":149,"released_at":150},154416,"v0.0.3","## 变更内容\n* 优化：由 @fynnfluegge 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F20 中添加代理注册功能\n* 新增功能：由 @fynnfluegge 在 https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F21 中添加 Codex、Gemini 和 Copilot 的命令行工具\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.0.2...v0.0.3","2026-02-23T19:55:56",{"id":152,"version":153,"summary_zh":154,"released_at":155},154417,"v0.0.2","## What's Changed\r\n* fix: tmux and popup window size sync by @fynnfluegge in https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F6\r\n* feat: add copy_files and init_script config for worktree initialization by @pablospe in https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F5\r\n* 🧹🧽 🫧 polish: add tmux\u002Fgit\u002Fagent operations as interface by @fynnfluegge in https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F11\r\n\r\n## New Contributors\r\n* @pablospe made their first contribution in https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F5\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.0.1...v0.0.2\n\n## What's Changed\n* fix: tmux and popup window size sync by @fynnfluegge in https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F6\n* feat: add copy_files and init_script config for worktree initialization by @pablospe in https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F5\n* 🧹🧽 🫧 polish: add tmux\u002Fgit\u002Fagent operations as interface by @fynnfluegge in https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F11\n\n## New Contributors\n* @pablospe made their first contribution in https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F5\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcompare\u002Fv0.0.1...v0.0.2","2026-02-21T09:59:20",{"id":157,"version":158,"summary_zh":159,"released_at":160},154418,"v0.0.1","## What's Changed\r\nInitial release of agtx - a terminal-native kanban board for managing coding agent sessions.\r\n### Features\r\n- **Kanban Workflow**: Manage tasks through Backlog → Planning → Running → Review → Done stages\r\n- **Git Worktree Isolation**: Each task gets its own worktree, keeping work separated\r\n- **Claude Code Integration**: Automatic session management with resume capability\r\n- **PR Workflow**: Generate PR descriptions with AI, create PRs directly from the TUI\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcommits\u002Fv0.0.1\n\n## What's Changed\n* initial commit by @fynnfluegge in https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F1\n\n## New Contributors\n* @fynnfluegge made their first contribution in https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fpull\u002F1\n\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Ffynnfluegge\u002Fagtx\u002Fcommits\u002Fv0.0.1","2026-02-14T09:57:44",[162,174,182,191,199,207],{"id":163,"name":164,"github_repo":165,"description_zh":166,"stars":167,"difficulty_score":168,"last_commit_at":169,"category_tags":170,"status":56},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[45,171,172,173],"开发框架","图像","数据工具",{"id":175,"name":176,"github_repo":177,"description_zh":178,"stars":179,"difficulty_score":168,"last_commit_at":180,"category_tags":181,"status":56},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[171,172,45],{"id":183,"name":184,"github_repo":185,"description_zh":186,"stars":187,"difficulty_score":35,"last_commit_at":188,"category_tags":189,"status":56},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",144730,"2026-04-07T23:26:32",[171,45,190],"语言模型",{"id":192,"name":193,"github_repo":194,"description_zh":195,"stars":196,"difficulty_score":35,"last_commit_at":197,"category_tags":198,"status":56},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[171,172,45],{"id":200,"name":201,"github_repo":202,"description_zh":203,"stars":204,"difficulty_score":35,"last_commit_at":205,"category_tags":206,"status":56},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,"2026-04-06T19:52:38",[46,171],{"id":208,"name":209,"github_repo":210,"description_zh":211,"stars":212,"difficulty_score":168,"last_commit_at":213,"category_tags":214,"status":56},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[190,172,45,171]]