assists/main.ps1
$Global:FountAssist = @{ Enabled = $true AssistCharname = $null FountUsername = $null shellhistory = [System.Collections.ArrayList]@() rejected_commands = [System.Collections.ArrayList]@() chat_scoped_char_memorys = @{} # 以非0返回值指示信息而非错误的命令 NonZeroReturnWhiteList = [System.Collections.ArrayList]@('robocopy') } $script:FountAssistInstalled = $false function Set-FountAssist( $FountUsername, $AssistCharname ) { if ($AssistCharname) { $Global:FountAssist.AssistCharname = $AssistCharname } if ($FountUsername) { $Global:FountAssist.FountUsername = $FountUsername } if (!(Test-FountRunning)) { Start-Fount background keepalive runshell $Global:FountAssist.FountUsername preload chars $Global:FountAssist.AssistCharname } if ($script:FountAssistInstalled) { return } if ($EshellUI) { . $PSScriptRoot/esh-assist.ps1 } else { . $PSScriptRoot/pwsh-assist.ps1 } } function Install-FountAssist( $FountUsername, $AssistCharname ) { if ($AssistCharname) { $Global:FountAssist.AssistCharname = $AssistCharname } if ($FountUsername) { $Global:FountAssist.FountUsername = $FountUsername } if ($EshellUI) { $EshellUI.FountAssist = "$($Global:FountAssist.FountUsername):$($Global:FountAssist.AssistCharname)" } else { $content = Get-Content $PROFILE -ErrorAction Ignore $content = $content -split "`n" | Where-Object { $_ -notmatch 'Set-FountAssist' } $content += "Set-FountAssist $($Global:FountAssist.FountUsername) $($Global:FountAssist.AssistCharname)" $content = $content -join "`n" Set-Content $PROFILE $content } Set-FountAssist } |