Task Researcher

by tejpalvirk

5 stars
217 downloads
Not rated
GitHub

About

Researcher for AI Coding that analyzes task complexity and runs deep research (STORM) to decompose complex tasks into subtasks, as an MCP Server or CLI.

Details

Author
tejpalvirk
GitHub stars
5
Downloads
217
Categories
Productivity

- Parse specifications to generate initial tasks.
- AI-powered task expansion into subtasks.
- STORM-based research workflow for complex tasks.
- Task update and dependency management.
- Complexity analysis with research hints.
- Standalone research report generation on any topic.

Install via clone and Poetry, configure a .env file with LLM and search API keys, then use the task-researcher CLI command or run task-researcher serve-mcp to start the MCP server over stdio transport. Clients like Claude Desktop connect by editing their claude_desktop_config.json.

Task Researcher

A Python task management system designed for AI-driven development, featuring integrated, in-depth research capabilities using the knowledge-storm library. Break down complex projects, generate tasks, and leverage automated research to inform implementation details.

This package provides both a command-line interface (CLI) and a Model Context Protocol (MCP) Server.

Core Features

Parse Inputs: Generate initial tasks from project specification files (functional_spec.md, technical_spec.md, plan.md, background.md).
Expand Tasks:
Break down tasks into subtasks using AI (claude, gemini, etc. via litellm).
STORM-Powered Research (--research flag): For complex tasks, automatically identify research questions, group them into topics, run the knowledge-storm engine for each topic, and use the aggregated research to generate highly informed subtasks.
Update Tasks: Modify pending tasks based on new prompts or requirement changes.
Analyze Complexity: Assess task complexity using AI, generating a report with recommendations and tailored expansion prompts. (--research-hint flag available).
Dependency Management: Validate and automatically fix dependency issues (missing refs, self-deps, simple cycles).
Generate Files: Create individual .txt files for each task and subtask.
Standalone Research (research-topic): Generate a detailed research report on any topic using knowledge-storm.

Requirements

Python 3.10+
An API key for at least one supported LLM provider (e.g., Anthropic, Google Gemini, OpenAI) set in a .env file (used for task generation, complexity analysis, etc.).
knowledge-storm library (pip install knowledge-storm).
API key for a search engine supported by knowledge-storm (e.g., Bing Search, You.com, Tavily) set in .env (Required for --research in expand and the research-topic command).
(Optional) mcp library (pip install mcp) if running as an MCP server.

Installation

1. Clone the repository:

    git clone <repository-url>
cd task-researcher

2. Install dependencies (using Poetry recommended):
    pip install poetry
poetry install

3. Configure Environment:
Copy .env.example to .env.
Fill in your primary LLM API key (e.g., ANTHROPIC_API_KEY).
Set the LLM_MODEL for primary tasks (e.g., "claude-3-5-sonnet-20240620").
Set the STORM_RETRIEVER (e.g., "bing") and its corresponding API key (BING_SEARCH_API_KEY).
(Optional) Set BIG_STORM_MODEL and SMALL_STORM_MODEL to use a different (e.g., faster/cheaper) models for STORM research.
(Optional) Adjust other settings like MAX_TOKENS, TEMPERATURE, file paths, etc.

Usage Command Line Interface (CLI)

Use the task-researcher command (if installed via Poetry scripts) or python -m task_researcher.

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.