NodeX is a dynamic GUI framework built using PySide6, enabling modular, scalable, and intuitive desktop applications. It supports advanced workflows for AI agents and user interactions, making it a powerful tool for developers and AI enthusiasts alike.
- Reworking the GUI for a more intuitive, user-friendly interface.
- Completing the Grid-Node Workflow-Management System.
- Integrating NodeX Workflow Management with AI Chat & Agents to control various tasks and operations seamlessly.
A robust and modular GUI framework offering:
- Dynamic Page Management: Automatic module detection and loading.
- Custom Themes: Flexible light/dark modes.
- Advanced Logging: Comprehensive error handling and performance tracking.
- Responsive Design: Cross-platform compatibility, including desktops and select mobile devices (e.g., Android).
An extensible system designed to facilitate AI-powered tasks, such as:
- Interactive conversations.
- Code generation and analysis.
- Documentation and workflow management.
- Modular Design: Components like navigation, headers, and footers are reusable and adaptable.
- Customizable Themes: Easily toggle between light and dark modes.
- Responsive Layout: Designed to work across multiple devices and screen sizes.
-
Multi-Agent Support:
- Standard Chat Agent: Handles general queries and assistance.
- Developer Agent: Specially built for coding tasks, including analysis, generation, and debugging.
-
Code Block Extraction: Extract and analyze code snippets from input sources like text and files.
-
File Management: Manage files within the workspace directly from the GUI.
-
Prompt Viewer: Easily manage and edit system prompts via an integrated markdown viewer.
-
Fast-Whisper Tab:
- Quickly access the Fast-Whisper tool using the
ยง
key (default). - The keybind remains disabled while the tab is active.
- Quickly access the Fast-Whisper tool using the
-
Integrated Terminal:
- Access a built-in terminal directly within the GUI.
-
Codeblock Tab:
- All codeblocks are displayed in a dedicated tab, separate from the chat interface, for a cleaner and more organized workspace.
-
Agent Controls:
- Toggle agents such as the Developer Agent or Crew Agent on or off.
- Easily switch between different workflow modes.
- Troubleshoot: Debug and fix issues effectively.
- Improve: Enhance existing code for better performance and readability.
- Develop: Create and implement new features.
- Document: Generate clear and concise documentation.
- Design: Plan and create system architecture.
- Implementation: Develop and integrate new features.
- Review: Conduct code and architecture reviews.
- Deployment: Ensure seamless system integration and deployment.
Choose from a wide range of LLM models, including:
- Haiku
- Sonnet 35
- Sonnet
- Opus
- GPT-3.5
- GPT-3.5 Instruct
- GPT-4
- GPT-4o
- GPT-4o Mini
- Gemma 7b
- Gemma2 9b
- Llama 3.1 405b Reasoning
- Llama 3.1 70b Versatile
- Llama 3.1 8b Instant
- Llama Guard 3 8b
- Llama3 708 8192
- Llama3 88 8192
- Llama3 708 8192 Tool Use Preview
- Llama3 88 8192 Tool Use Preview
- Mixtral 8x7B 32768
- Ollama
- LM Studio
- OpenRouter
Ensure you have Python 3.8+ and pip
installed.
-
Clone the repository:
git clone https://github.com/rewnozom/NodeX.git cd NodeX
-
Install dependencies:
python setup.py install
-
Activate the virtual environment:
-
Linux/Mac:
source env/bin/activate python dynamic_main_ref.py
-
Windows:
.\env\Scripts\Activate.ps1 python dynamic_main_ref.py
-
-
For development installations:
python setup.py develop
Run the testing framework:
python -m unittest discover
Install requirements from ./Config/setup/
based on your needs:
pip install -r Config/setup/<file>.txt
ai.txt
: Dependencies for AI-related features.gui.txt
: GUI-related libraries.web.txt
: Web and API tools.dev.txt
: Development tools.
python dynamic_main_ref.py
We welcome contributions! Feel free to submit pull requests or open issues.
- Fork the repository.
- Create a feature branch.
git checkout -b feature-branch
- Commit your changes.
git commit -m "Add new feature"
- Push to the branch and open a pull request.
NodeX -(Grid-Node) Workflow Management interface - Is being Developed local Until its ready for the full beta version: Here's a sneak peek at what's in development:
- Input_Node
- Output_Node
- SystemPrompt_Node
- LLM_Node
- TaskManager_Node
- DecisionMaker_Node (Workflow Control)
- Analyst_Node
- CodeReviewer_Node
- CodeIntegration_Node
- Developer_Node
- IF_Node (Conditional Branching)
- Switch_Node (Multi-State)
- Splitter_Node (Workflow Division)
- Merger_Node (Data Combination)
- UserInteraction_Node (Pause/Resume)
- Loop_Node (Iteration Control)
- DataType_Node (Type Conversion)
- List_Node
- Dict_Node
- JSON_Node
- String_Node (Manipulation)
- Math_Node (Operations)
- Memory_Node (State Storage)
- Cache_Node
- Embedding_Node
- Variable_Node
- LocalStorage_Node
- ToolSearch_Node
- ToolCall_Node
- ToolCreate_Node
- APIConnection_Node
- WebhookTrigger_Node
- โ Basic Node System
- โ Async Execution
- โ Data Streaming
- Error Handling
- State Management
- Agent Communication Protocol
- Task Orchestration
- Decision-Making Logic
- Agent Memory System
- Conditional Execution
- Parallel Processing
- Queue Management
- Event System
- Data Validation
- Type Safety
- Tool Registration
- API Integration
- Node Customization
- Visual Debugging
- Performance Monitoring
- Workflow Templates
- Finetune local llm for this specific framework
- Plugin system
- Visual scripting for custom nodes
- Cloud deployment
NodeX is a visual programming environment designed for creating and managing AI-Agent workflows. It offers a node-based interface for connecting components and managing their interactions.
- Visual node-based programming interface
- Real-time workflow execution
- Support for LM Studio and other LLM providers
- Asynchronous operation handling
- Caching and optimization
- Custom node creation support
- Python 3.10 - 3.11
- LM Studio (for local LLM support) - Download our finetuned model for best performence
- Compatible with Windows, Linux, and macOS
- Start LM Studio and ensure it's running on port 1234 (default).
- Load your preferred model in LM Studio.
- NodeX will automatically connect to LM Studio during runtime.
- Use the node editor interface to add nodes.
- Connect nodes by dragging between pins.
- Configure node parameters as needed.
- Click Run to execute and save the workflow.
-
Environment Issues
- Ensure Python 3.10+ is installed.
- Run
setup.py
to create a fresh environment. - Check the activation script path.
-
LM Studio Connection
- Verify LM Studio is running.
- Check port configuration.
- Ensure a model is loaded.
-
Node Errors
- Check node connections.
- Verify input/output types match.
- Check execution order.
Feel free to customize & use this further or let me know if you'd like specific design or content changes!