Synology ユーザーが Vocechat にアクセスする方法 (GPT ロボットをアクティブ化するために接続されています)

vocechat プロジェクトの使用方法の簡単な紹介

昨日 Qunhui の記事を探しているときに vocechat を見ましたが、Mining God のサードパーティ拡張機能では見つかりませんでした。Synology チャットは非常に優れていますが、多くの場合インストールできません。そこで、vocechat、このツールを紹介します

  1. Mining God のサードパーティ リソースに参加して、チャットを検索してインストールします。インストール ポイントを開くと、空白のページが表示され、手動ポートの後に /install が追加されます。初期設定を開始します。
  2. docker コマンドを使用すると、コマンド 1 つで新しいものをインストールできるため、背景に詳しい人にお勧めします。

vocechat にログインするための統合された Synology アカウント システム

https://doc.voce.chat/zh-cn/login-with-other-account
自身のアカウント システムをドッキング...

以前は電子メール サーバーとして使用しており、100 個以上のアカウントを追加したため、これらを使用する必要がありますが、たまたま vocechat がサードパーティのアカウントにアクセスできるようになっています。
何も分からずに失敗した後、私はただssoしました。

ログイン フロントエンドを手動で作成してドッキング フリー アカウント プロセスから学習し、vocechat プロセスにジャンプするコードを作成します。完成品の完全なセットが後ろにあります。これがそのフラグメントです。

  1. Python のクラス SETHandler( BaseHTTPRequestHandler ):
    ユーザーのシークレットを収集して確認します。
    def login(self,user,passwd):
        self.smtpcon=smtplib.SMTP_SSL('192.168.1.11')
        with self.smtpcon:
            try:
              
              self.smtpcon.login(user,passwd)
              return True
            except Exception as e:
           
                return False
        
        

nas バックグラウンドで web.py を起動してログイン ページを開き、ログイン情報を処理します。ログインが成功すれば、ユーザーは正しいです。
2. 同じweb.py で、API キーとユーザー名を使用して vocechat に送信し、ログイン手順を取得します。

import urllib3
import json
BASE_URL='http://vocechat.domain:8017'
KEY='Vrxxu2at77PCG3jH7qnXTbo0JcAH18h'
def postbylib(uid,name):
    http = urllib3.PoolManager()
    url = f'{BASE_URL}/api/token/create_third_party_key'
    params = {
    
    }
    params['userid']=uid
    params['username']=name
    
    headers = {
    
    'Accept-Charset': 'utf-8', 'Content-Type': 'application/json',
 'X-SECRET': KEY,
    'Content-Type': 'application/json; charset=utf-8'}
    #bytes函数转换为字节
   # params = bytes(params, 'utf8')
    encoded_data = json.dumps(params).encode('utf-8')
    req = http.request("POST",url, body=encoded_data, headers=headers)
    akey =req.data.decode()
    return f'{BASE_URL}/#/oauth/{akey[1:-1]}'

akey=postbylib('wjcroom','王充')
print (akey)
  1. 成功した URL のフロントエンドにジャンプするように指示します。Ajaxリクエスト検証を使用し、ジャンプ アドレスの取得にも使用します。
<input type="submit" class="btn" onclick="loginFn()"/>
  </div>
  <script src="./jquery.min.js"></script>
  <script>
   function HTMLEncode(text) {
    
    
text = text.replace(/&/g, "&");
text = text.replace(/</g, "‘<‘");
text = text.replace(/>/g, "‘>‘");
return text;
}
    function loginFn() {
    
    
      console.log({
    
    
          username:$('#name').val(),
          password:$('#password').val()
        })
      $.ajax({
    
    
        url:'/loginvocechat',
        method:'POST',
        data:{
    
    
          username:$('#name').val(),
          password:$('#password').val()
        },
        success:function(res) {
    
    
          // 成功
          console.log(res)
          console.log(res.re)   
          if(res.code == 200) {
    
    
            window.location.href=res.re
          }
        },
        error:function(err) {
    
    
          // 失败
          console.log("shayemeiyou")   
          console.log(err)
        }

        }
      )
    }
  </script>

コードのパッケージ化: https://download.csdn.net/download/wjcroom/88050370

第 2 章 chatgpt へのアクセス

これはロボットのデモです


Nodejs プロジェクトをローカルまたはリモートにデプロイするには、npm を使用して 4 つの環境変数を設定する必要があります。
https://doc.voce.chat/zh-cn/bot/demo-gpt
はここで紹介されています

ただし
、ローカル環境で失敗したため、リモート展開手順はすべて終了し、Vercel
を展開します

Vercel を使用して、独自のライブ バージョンの Chatbot UI をホストします。

Vercel を使用して導入する

バーセルは課金の仕方が分かりません とにかくオンラインは普通にできて設定も見つかり環境変数も追加されました 少なくともopenaiの変数は有効です。
チャットボットのUIは素晴らしく、誰でも使えそうです。

それで、残りは私がここでいじって行くだけです。

これは開発中の良いプロジェクトなので、とても素晴らしいと感じています。面白い。

おすすめ

転載: blog.csdn.net/wjcroom/article/details/131733731