Plugin Context Flow Charts - SemlerPDX/OpenAI-VoiceAttack-Plugin GitHub Wiki

ChatGPT Main Flow

graph TD;
    id1{{ChatGPT}}-->GetInput;
    GetInput-->Timeout;
    Timeout-->ChatComplete;
    GetInput-->UserInput;
    GetInput-->ExistingCommand;
    UserInput-->WhisperAudioToText;
    UserInput-->SendInput;
    WhisperAudioToText-->SendInput;
    SendInput-->GetResponse;
    SendInput-->ExistingCommand;
    GetResponse-->ChatComplete;
    GetResponse-->InternalResponders;
    GetResponse-->ExternalResponder;
    InternalResponders-->ChatComplete;
    InternalResponders-->ExternalResponder;
    ExternalResponder-->ChatComplete;
    ExistingCommand-->ChatComplete;
    ChatComplete-->id2[\PluginCallEnd/];
    ChatComplete-->LoopSession;
    LoopSession-->id1{{ChatGPT}};
    LoopSession-->|Timeout|WaitForProfile;
    WaitForProfile-->|''Hey VoiceAttack''|id1{{ChatGPT}};
Loading

      |   (return to context)   |   (table of contents)   |


GetInput Expanded

flowchart TD;
    id1{{ChatGPT}}-->GetInput;
    GetInput-->AlreadySet;
    GetInput-->ProfileDictationStart;
    GetInput-->PluginDictationStart;
    ProfileDictationStart-->|*Bypass|StoreInput;
    PluginDictationStart-->StoreInput;
    StoreInput-->ProfileDictationStop;
    StoreInput-->PluginDictationStop;
    StoreInput-->|*Bypass|UserInput;
    ProfileDictationStop-->UserInput;
    PluginDictationStop-->UserInput;
    AlreadySet-->UserInput;
    UserInput-->WhisperTranscribe;
    UserInput-->WhisperTranslate;
    UserInput-->RawTextInput;
    WhisperTranscribe-->SendInput;
    WhisperTranslate-->SendInput;
    RawTextInput-->SendInput;
Loading

      |   (return to context)   |   (table of contents)   |   (back to top)   |


GetResponse Expanded

graph TD;
    SendInput-->GetResponse;
    GetResponse-->LogChat;
    GetResponse-->SpeakChat;
    GetResponse-->ExternalResponder;
    GetResponse-->ChatComplete;
    LogChat-->ChatComplete;
    LogChat-->SpeakChat;
    SpeakChat-->ChatComplete;
    SpeakChat-->ExternalResponder;
    ExternalResponder-->ChatComplete;
Loading

      |   (return to context)   |   (table of contents)   |   (back to top)   |


Speech/Sound Feedback

graph TD;
    id1{{ChatGPT}}-->GetInput;
    GetInput-->OpenAI_TTS_PreListen;
    GetInput-->SessionLooped/NotSet;
    OpenAI_TTS_PreListen-->SendInput;
    SessionLooped/NotSet-->SendInput;
    SendInput-->OpenAI_TTS_PreProcess;
    SendInput-->D[OpenAI_TTS_PreProcess=NotSet];
    OpenAI_TTS_PreProcess-->GetResponse;
    D-->GetResponse;
    GetResponse-->|3-7sec|ReturnResponse;
    ReturnResponse-->SpeakChat;
    ReturnResponse-->E[SpeakChat=False];
    SpeakChat-->ChatComplete;
    E-->ChatComplete;
    ChatComplete-->Wait/LoopSession;
    Wait/LoopSession-->GetInput;
    ChatComplete-->PluginCallEnd;
Loading

      |   (return to context)   |   (table of contents)   |   (back to top)   |







ChatGPT.Raw Flow

graph TD;
    id1{{ChatGPT.Raw}}-->HasInput;
    HasInput-->SendInput;
    SendInput-->EmptyInput;
    EmptyInput-->Responded;
    SendInput-->GetResponse;
    GetResponse-->ExternalResponder;
    GetResponse-->Responded;
    ExternalResponder-->Responded;
    Responded-->ChatComplete;
    Responded-->WaitForProfile;
    WaitForProfile-->ChatComplete;
    ChatComplete-->PluginCallEnd;
    ChatComplete-->LoopSession;
    LoopSession-->HasInput;
Loading

      |   (return to context)   |   (table of contents)   |   (back to top)   |


⚠️ **GitHub.com Fallback** ⚠️