终端问题跟踪工具

面向终端开发者的AI原生问题跟踪工具,提供快速键盘驱动的问题跟踪、依赖关系图、TUI仪表板和MCP服务器集成。

  • by can1357
  • Rust
  • 本地部署
  • 10 星标
  • 更新于
在 GitHub 查看 can1357/agentx

使用说明

代理协议

AI原生问题跟踪器 专为居住在终端中的开发人员设计。

使用依赖关系图、TUI仪表板和MCP服务器集成进行快速、键盘驱动的问题跟踪。


✨ 特性

🎯 核心问题管理

  • 创建和跟踪:状态、优先级、工作量估算、标签和依赖关系方面的问题
  • 智能工作流:自动状态转换(积压→ 准备→ 进行中→ Done)
  • 快捷操作:批量操作、检查点、上下文切换
  • 模糊搜索:按部分ID、标题或标签查找问题

📊 可视化和分析

  • TUI仪表板:全屏交互界面(Jira风格统一列表)
  • 依赖图:问题关系的ASCII艺术可视化
  • 关键路径:查找依赖链中的瓶颈
  • 指标:轨道完成率、速度和燃尽率

🤖 AI集成

  • MCP服务器:通过模型上下文协议公开问题跟踪器
  • 代理商友好:结构化数据、JSON输出、语义操作
  • 情境感知:关注相关问题,显示被阻止的内容

🔧 开发者体验

  • Git集成:自动检测分支上下文,提交引用
  • 交互模式:复杂操作的引导向导
  • 壳牌完井:Bash、Zsh、Fish支持
  • 零配置:开箱即用,存储于 ~/.local/share/agentx

🎨 TUI仪表板

交互式仪表板在您的终端中提供类似Jira的体验:

特性

  • ✅ 统一列表:所有问题都在一个可滚动视图中
  • ✅ 实时搜索:类型 / 并立即开始搜索
  • ✅ 地位分化:状态之间清晰的视觉分离
  • ✅ 优先级图标: 🔴 关键,🟡 高,🟢 中等,⚪ 低
  • ✅ 标签显示:查看所有内联标签
  • ✅ 工作量估算:跟踪时间承诺
  • ✅ Vim密钥绑定: hjkl 导航+搜索

🚀 快速开始

安装

# Clone and build
git clone https://github.com/can1357/agentx.git
cd agentx
cargo build --release

# Install to PATH
cargo install --path .

创建您的第一个问题

# Quick create
agentx new "Fix authentication bug" -p high -e 2d -t bug -t security

# Interactive mode
agentx new -i

启动TUI仪表板

agentx ui
# or use the alias:
agentx dash

导航:

  • ↑↓ 或 jk -浏览问题
  • / -搜索(实时结果)
  • g/G -跳到顶部/底部
  • PgUp/PgDn -滚动速度更快
  • Tab -切换窗格
  • q -退出

📖 命令参考

问题生命周期

# Create new issue
agentx new "Task description" [OPTIONS]
# or use the alias:
agentx add "Task description" [OPTIONS]
  -p, --priority <critical|high|medium|low>
  -e, --effort <duration>     # e.g., "2d", "4h", "1w"
  -t, --tag <tag>             # Can be used multiple times
  -d, --depends <ID>          # Add dependency
  -i, --interactive           # Launch wizard

# Update status
agentx start <ID>             # Mark as in-progress
agentx block <ID> <reason>    # Mark as blocked
agentx close <ID>             # Mark as done
agentx defer <ID>             # Move to backlog
agentx activate <ID>          # Activate from backlog

# View issues
agentx list                   # All open issues
# or use the alias:
agentx ls                     # All open issues
agentx show <ID>              # Full details
agentx context                # Current work context
agentx focus                  # Top priorities
agentx blocked                # All blocked issues
agentx ready                  # Ready to start
agentx quick-wins             # Low-effort tasks

依赖项

# Add dependency
agentx depend add <ID> <depends-on>

# Remove dependency
agentx depend remove <ID> <depends-on>

# Visualize graph
agentx deps-graph [ID]        # ASCII art
agentx dependencies <ID>      # Show deps + dependents

# Find bottlenecks
agentx critical-path          # Longest dependency chain

标签和组织

# Add tags
agentx tag add <ID> <tag>

# Remove tags
agentx tag remove <ID> <tag>

# List by tag (in list command)
agentx list -t backend -t api

批量操作

# Start multiple issues
agentx bulk-start <ID1> <ID2> <ID3>

# Close multiple issues
agentx bulk-close <ID1> <ID2> <ID3>

分析

# Show metrics
agentx metrics

# Recent changes
agentx summary

# Issue counts by status
agentx list --json | jq '.[] | .metadata.status' | sort | uniq -c

🔌 MCP服务器

AgentX可以作为MCP服务器运行,用于AI助手集成:

# Start server on stdio
agentx serve

可用工具

MCP服务器将这些操作暴露给AI助手:

工具 说明
create_issue 使用元数据创建新问题
list_issues 按状态/优先级/标签查询问题
update_issue 更改状态、添加标签、更新字段
show_issue 获取具体问题的完整详细信息
add_dependency 将问题联系在一起
get_blocked 查找所有被阻止的问题
get_ready 查找准备开始的问题

Claude桌面配置示例

{
  "mcpServers": {
    "agentx": {
      "command": "agentx",
      "args": ["serve"],
      "env": {}
    }
  }
}

🛠️ 高级用法

从YAML导入

# Bulk import issues
agentx import issues.yaml

格式:

issues:
  - title: "Setup CI/CD pipeline"
    priority: high
    effort: "1w"
    tags: ["devops", "infrastructure"]
    depends_on: []
  - title: "Write integration tests"
    priority: medium
    effort: "3d"
    tags: ["testing"]
    depends_on: ["BUG-123"]

别名管理

# Create short aliases for long IDs
agentx alias add auth BUG-123
agentx show auth              # Same as: agentx show BUG-123

# List aliases
agentx alias list

检查点

跟踪单个问题的进度:

# Add checkpoint
agentx checkpoint BUG-123 "Completed database migration"
agentx checkpoint BUG-123 "Updated API endpoints"

# View in issue details
agentx show BUG-123

JSON输出

所有命令都支持JSON输出用于脚本编写:

# Get JSON output
agentx list --json | jq '.[] | select(.metadata.priority == "Critical")'

# Count issues by status
agentx list --json | jq 'group_by(.metadata.status) | map({status: .[0].metadata.status, count: length})'

📁 项目结构

agentx/
├── src/
│   ├── main.rs           # CLI entrypoint
│   ├── issue.rs          # Core issue types
│   ├── storage.rs        # File-based persistence
│   ├── commands/         # CLI commands
│   ├── tui/              # Dashboard UI
│   │   ├── mod.rs        # App state & event loop
│   │   ├── widgets/      # Kanban, graphs, charts
│   │   └── views/        # Dashboard layout
│   ├── mcp/              # MCP server
│   └── utils/            # Helpers
├── data/                 # Issue storage (auto-created)
├── Cargo.toml
└── README.md

数据位置: ~/.local/share/agentx/


🎯 工作流示例

日常工作流程

# Morning: Check context
agentx focus                  # What's important today?
agentx context                # What am I working on?

# Start working
agentx start BUG-123
agentx checkpoint BUG-123 "Initial investigation complete"

# Found blocker
agentx block BUG-123 "Waiting for DB migration approval"

# Switch to quick win
agentx quick-wins
agentx start DOC-45

# End of day
agentx close DOC-45
agentx summary                # What did I accomplish?

规划一个功能

# Create feature breakdown
agentx new "API authentication layer" -p high -e 2w -t api
agentx new "Add JWT token generation" -p high -e 3d -t api -d FEA-100
agentx new "Implement token refresh" -p medium -e 2d -t api -d FEA-101
agentx new "Add rate limiting" -p low -e 1d -t api -d FEA-101

# Visualize dependencies
agentx deps-graph FEA-100

# Find critical path
agentx critical-path

缺陷类选

# Import bugs from file
agentx import bugs.yaml

# Review critical issues
agentx list -p critical

# Launch dashboard for triage
agentx dash

# (In dashboard: use / to search, mark priorities)

🔧 配置

AgentX使用合理的默认值,但可以自定义:

# Initialize config
agentx init

# Location: ~/.config/agentx/config.yaml

config.yaml示例:

# Issue ID format
id_prefix: "TASK"
id_start: 1

# Default values
defaults:
  priority: medium
  effort: null
  tags: []

# TUI theme
theme:
  name: "default"

🧪 测试

# Run tests
cargo test

# Run with logging
RUST_LOG=debug agentx dash

# Check performance
hyperfine 'agentx list'

📜 许可证

MIT许可证-有关详细信息,请参阅许可证文件。