Skip to main content

Intelligent Agentic File Assistant powered by Claude

Project description

Nexus - Intelligent Agentic File Assistant

A powerful AI agent powered by Claude that plans and executes complex file operations step-by-step with built-in safety mechanisms.

Features

Agentic Planning

  • Automatic Planning: Creates a TODO list before executing tasks
  • Step-by-Step Execution: Executes each step methodically
  • Loop Detection: Prevents infinite loops and repeated actions
  • Adaptive Planning: Adjusts plan if something fails
  • Progress Tracking: Shows thinking, progress, and stats

Smart File Operations

  • Create/Read/Edit/Delete files with intelligent handling
  • Smart Reading: Line ranges, previews, search within files
  • Smart Search: Find files by name pattern or content
  • Directory Exclusions: Automatically skips .git, node_modules, pycache, etc.
  • Token Optimization: 10K character limit prevents token explosion

Safety Mechanisms

  • Iteration Limits: Max 15 iterations to prevent runaway
  • Loop Detection: Detects and warns about repeated actions
  • Action Tracking: Prevents duplicate operations
  • Error Handling: Graceful failure with helpful messages

Project Structure

agent/
├── agent.py              # Core agentic logic with planning
├── tools.py              # Tool definitions for Anthropic API
├── tool_functions.py     # Tool implementations
├── examples.py           # Usage examples
├── .env                  # Configuration (API key)
└── README.md            # This file

Quick Start

1. Installation

pip install anthropic python-dotenv

2. Configuration

Create a .env file:

ANTHROPIC_API_KEY=your_api_key_here
ANTHROPIC_MODEL=claude-sonnet-4-5-20250929
ANTHROPIC_MAX_TOKENS=4096

3. Usage

Agentic Mode (Recommended)

from agent import chat_with_tools_agentic

# Complex multi-step task with automatic planning
chat_with_tools_agentic(
    "Create a Python project with main.py, requirements.txt, and README.md. "
    "The main.py should have a hello world function."
)

Smple Mode

from agent import chat_with_tools

# Direct tool usage without planning
chat_with_tools("Create a file called test.txt with hello world")

How It Works

Agentic Mode Flow

User Request
    ↓
1. Agent analyzes task
    ↓
2. Creates TODO listi/plan
    ↓
3. Shows plan to user
    ↓
4. Executes step-by-step
    ↓
5. Checks results
    ↓
6. Adapts if needed
    ↓
7. Final summary

Safety Features

  1. Loop Detection: Tracks all actions and prevents repeats
  2. Iteration Limit: Max 15 iterations (configurable)
  3. Pattern Detection: Warns if same tools used 3+ times
  4. Action History: Remembers completed actions

Available Tools

Tool Description
create_file Create files with content
read_file Smart reading with line ranges, search, preview
edit_file Replace or append content
delete_file Delete files
list_files List directory contents (excludes build dirs)
smart_search Search by filename or content (recursive)

Smart Reading Features

# Preview a large file
"Preview the file 'large_dataset.csv'"

# Read specific lines
"Read lines 100 to 200 from 'app.log'"

# Search within file
"Find all ERROR messages in 'debug.log'"

# Character limit
"Read config.json but limit to 5000 characters"

Example Tasks

Project Creation

chat_with_tools_agentic(
    "Create a Flask web app with proper structure: "
    "app.py, requirements.txt, README.md, and a templates folder"
)

Code Analysis

chat_with_tools_agentic(
    "Analyze all Python files, find TODO comments, "
    "and create a summary in todos.md"
)

Refactoring

chat_with_tools_agentic(
    "Find all files with 'old_function_name' and create a plan "
    "to refactor them to 'new_function_name'"
)

Best Practices

Do:

  • Use agentic mode for complex multi-step tasks
  • Let the agent create a plan first
  • Provide clear, specific task descriptions
  • Break down very large tasks into smaller ones

Don't:

  • Request tasks that would require >15 iterations
  • Ask for operations on extremely large files without using smart reading
  • Request recursive operations without clear boundaries

Debugging

The agent shows detailed output:

  • Agent Thinking: Planning and reasoning
  • Tool Used: Which tool is being called
  • Input: Tool parameters
  • Result: Tool output
  • Stats: Iterations and actions performed

Safety & Limitations

  • Iteration Limit: 15 iterations maximum
  • File Size: 50KB+ files trigger warnings
  • Character Limit: 10K default for reads
  • Loop Detection: Prevents infinite loops
  • Excluded Dirs: Skips .git, node_modules, etc.

Contributing

Feel free to add new tools or improve the planning logic!

License

MIT License - Feel free to use and modify!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nexus_ai_agent-1.0.0.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nexus_ai_agent-1.0.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file nexus_ai_agent-1.0.0.tar.gz.

File metadata

  • Download URL: nexus_ai_agent-1.0.0.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for nexus_ai_agent-1.0.0.tar.gz
Algorithm Hash digest
SHA256 0820dbbc7f5af03675d97c7a088d518eea8fb562239563ca4b7d5876eb6f2837
MD5 e71e018a81e22ede3ae27fe40c5c5639
BLAKE2b-256 9473e6737b9096229d2e8fca7f5712dc77fd0ec2e0da9ea925c4f271bd925062

See more details on using hashes here.

File details

Details for the file nexus_ai_agent-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: nexus_ai_agent-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for nexus_ai_agent-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4aea821d553300157ad202c3b6fbadf9cb3586b8f98f814bdcc1bee6baa600bf
MD5 1787193cedd6d3aee98586f819716b3f
BLAKE2b-256 aadecf2575d47c15bb797a4185836d2179bd2a8b3fd027f25f791ad973c04a45

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page