Files
ghmkandClaude Opus 4.6 d5bd8521f3 comfyui-agentazall v2.0: 20 nodes, 76 tests, 7 demo workflows
New nodes (5):
- Relay: local message delivery between agents (outbox→inbox)
- ChatHistory: multi-turn conversation persistence across runs
- PromptTemplate: {a}/{b}/{c}/{d} variable substitution
- ConditionalRouter: keyword/regex routing with matched/unmatched outputs
- BatchSplitter: split text into numbered sections by delimiter

Fixed nodes (3):
- TextCombine: removed forceInput, text_a/text_b now typeable widgets
- Remember: removed forceInput on text, now typeable widget
- Send: removed forceInput on body, now typeable widget

Demo workflows (7):
1. Character Design - art director with memory for consistent characters
2. Novel Crafter - writer+editor dual-agent with Relay message delivery
3. Story to Video - director breaks story into scenes with BatchSplitter
4. Multi-Turn Chat - persistent conversation history across queue runs
5. Agent Debate - two agents argue via message passing (FOR vs AGAINST)
6. World Builder - game world with PromptTemplate for locations/characters
7. RAG Pipeline - store docs, search, answer with ConditionalRouter error handling

76 tests all passing (46 original + 30 new).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-14 10:41:23 +01:00

109 lines
4.2 KiB
Python

"""
AgentAZAll ComfyUI Nodes
========================
Persistent memory and multi-agent communication for ComfyUI workflows.
20 nodes across 6 categories:
- Config: Setup, WhoAmI, Doing
- Memory: Remember, Recall, Note
- Messaging: Send, Inbox, ReadMessage, Relay, ChatHistory
- Integration: SystemPrompt, ToolParser, FileBrowser
- LLM: LLM (OpenAI-compatible)
- Utility: TextDisplay, TextCombine, PromptTemplate,
ConditionalRouter, BatchSplitter
Install: pip install agentazall>=1.0.13
Docs: https://agentazall.ai
"""
try:
# ComfyUI loads this as a package inside custom_nodes/
from .nodes.config_nodes import (
AgentAZAll_Setup, AgentAZAll_WhoAmI, AgentAZAll_Doing,
)
from .nodes.memory_nodes import (
AgentAZAll_Remember, AgentAZAll_Recall, AgentAZAll_Note,
)
from .nodes.messaging_nodes import (
AgentAZAll_Send, AgentAZAll_Inbox, AgentAZAll_ReadMessage,
AgentAZAll_Relay, AgentAZAll_ChatHistory,
)
from .nodes.integration_nodes import (
AgentAZAll_SystemPrompt, AgentAZAll_ToolParser, AgentAZAll_FileBrowser,
)
from .nodes.llm_nodes import AgentAZAll_LLM
from .nodes.utility_nodes import (
AgentAZAll_TextDisplay, AgentAZAll_TextCombine,
AgentAZAll_PromptTemplate, AgentAZAll_ConditionalRouter,
AgentAZAll_BatchSplitter,
)
except ImportError:
# Standalone / pytest — absolute imports
from nodes.config_nodes import (
AgentAZAll_Setup, AgentAZAll_WhoAmI, AgentAZAll_Doing,
)
from nodes.memory_nodes import (
AgentAZAll_Remember, AgentAZAll_Recall, AgentAZAll_Note,
)
from nodes.messaging_nodes import (
AgentAZAll_Send, AgentAZAll_Inbox, AgentAZAll_ReadMessage,
AgentAZAll_Relay, AgentAZAll_ChatHistory,
)
from nodes.integration_nodes import (
AgentAZAll_SystemPrompt, AgentAZAll_ToolParser, AgentAZAll_FileBrowser,
)
from nodes.llm_nodes import AgentAZAll_LLM
from nodes.utility_nodes import (
AgentAZAll_TextDisplay, AgentAZAll_TextCombine,
AgentAZAll_PromptTemplate, AgentAZAll_ConditionalRouter,
AgentAZAll_BatchSplitter,
)
NODE_CLASS_MAPPINGS = {
"AgentAZAll_Setup": AgentAZAll_Setup,
"AgentAZAll_WhoAmI": AgentAZAll_WhoAmI,
"AgentAZAll_Doing": AgentAZAll_Doing,
"AgentAZAll_Remember": AgentAZAll_Remember,
"AgentAZAll_Recall": AgentAZAll_Recall,
"AgentAZAll_Note": AgentAZAll_Note,
"AgentAZAll_Send": AgentAZAll_Send,
"AgentAZAll_Inbox": AgentAZAll_Inbox,
"AgentAZAll_ReadMessage": AgentAZAll_ReadMessage,
"AgentAZAll_Relay": AgentAZAll_Relay,
"AgentAZAll_ChatHistory": AgentAZAll_ChatHistory,
"AgentAZAll_SystemPrompt": AgentAZAll_SystemPrompt,
"AgentAZAll_ToolParser": AgentAZAll_ToolParser,
"AgentAZAll_FileBrowser": AgentAZAll_FileBrowser,
"AgentAZAll_LLM": AgentAZAll_LLM,
"AgentAZAll_TextDisplay": AgentAZAll_TextDisplay,
"AgentAZAll_TextCombine": AgentAZAll_TextCombine,
"AgentAZAll_PromptTemplate": AgentAZAll_PromptTemplate,
"AgentAZAll_ConditionalRouter": AgentAZAll_ConditionalRouter,
"AgentAZAll_BatchSplitter": AgentAZAll_BatchSplitter,
}
NODE_DISPLAY_NAME_MAPPINGS = {
"AgentAZAll_Setup": "AZAll Setup",
"AgentAZAll_WhoAmI": "AZAll Who Am I",
"AgentAZAll_Doing": "AZAll Current Task",
"AgentAZAll_Remember": "AZAll Remember",
"AgentAZAll_Recall": "AZAll Recall",
"AgentAZAll_Note": "AZAll Note",
"AgentAZAll_Send": "AZAll Send Message",
"AgentAZAll_Inbox": "AZAll Inbox",
"AgentAZAll_ReadMessage": "AZAll Read Message",
"AgentAZAll_Relay": "AZAll Relay (Local Delivery)",
"AgentAZAll_ChatHistory": "AZAll Chat History",
"AgentAZAll_SystemPrompt": "AZAll System Prompt",
"AgentAZAll_ToolParser": "AZAll Tool Parser",
"AgentAZAll_FileBrowser": "AZAll File Browser",
"AgentAZAll_LLM": "AZAll LLM",
"AgentAZAll_TextDisplay": "AZAll Text Display",
"AgentAZAll_TextCombine": "AZAll Text Combine",
"AgentAZAll_PromptTemplate": "AZAll Prompt Template",
"AgentAZAll_ConditionalRouter": "AZAll Conditional Router",
"AgentAZAll_BatchSplitter": "AZAll Batch Splitter",
}
__all__ = ["NODE_CLASS_MAPPINGS", "NODE_DISPLAY_NAME_MAPPINGS"]