- ダウンロード openai-translator して、ダブルクリックしてインストールします。
- ドキュメントに従って SnipDo をインストールします。Microsoft Store からアプリをダウンロードする際には、プロキシソフトウェアを閉じてください。
- プロキシソフトウェアを開き、アメリカの IPプロキシを選択します。
- OpenAI API keys ページを開き、API キーを作成します(
他の人のものをすべて削除してしまいましょう w)。独角兽每日分享 や他のプラットフォームから無料の ChatGPT アカウントを取得してログインします。 - 作成した API キーを OpenAI Translator に入力します。
スクリプトを削除する(F12 > コンソールで実行):
申し訳ありません、本当に申し訳ありませんが、無料の割り当てが少なすぎるため
// !!最初にAuthorization、apiKeySentitiveIdの2つのパラメータを設定する必要があります
const authorizationHeader = {
Authorization: "Bearer sess-p70aSrrGmA5ZrlDCSFTlvmZoogv2Sjbx7OiYJgP6",
};
let apiKeySentitiveId = "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";
const apiKeyName = "this-account-belongs-me";
const interval = 5000;
async function bootstrap() {
console.log("プロセスを開始します");
const apiKeys = await retrieveApiKeys();
// apiKeyNameに一致しないすべてのapiKeyNameを削除します
const otherApiKeys = apiKeys.filter((x) => x.name !== apiKeyName);
for (const otherApiKey of otherApiKeys) {
await deleteApiKey(otherApiKey.sensitive_id, otherApiKey.created);
}
console.log("関連のないデータが削除されました");
const apiKey = apiKeys.find((x) => x.name === apiKeyName);
if (!apiKey) {
console.log(`${apiKeyName}が見つかりません、自動的に作成しています`);
await createApiKey(apiKeyName);
console.warn(`APIキーの作成に成功しました。コピーして翻訳ソフトウェアを再設定してください:`);
console.log(apiKeySentitiveId);
} else {
console.log(`APIキーは既に存在しています、再作成は必要ありません:`);
console.log(apiKeySentitiveId);
}
console.log(`プロセスが開始されました、${interval}ミリ秒後に再度実行されます`);
setTimeout(bootstrap, interval);
}
bootstrap();
async function retrieveApiKeys() {
var apiKeysResponse = await fetch(
"https://api.openai.com/dashboard/user/api_keys",
{
headers: {
...authorizationHeader,
},
}
);
var apiKeys = (await apiKeysResponse.json()).data;
return apiKeys;
}
async function createApiKey(name) {
var deleteApiKeyResponse = await fetch(
"https://api.openai.com/dashboard/user/api_keys",
{
method: "POST",
headers: {
...authorizationHeader,
"Content-Type": "application/json",
},
body: JSON.stringify({
action: "create",
name,
}),
}
);
const content = await deleteApiKeyResponse.json();
const isSuccess = content.result === "success";
if (isSuccess) {
// 最新のキーを保存する
apiKeySentitiveId = content.key.sensitive_id;
}
return isSuccess;
}
async function deleteApiKey(redacted_key, created_at) {
var deleteApiKeyResponse = await fetch(
"https://api.openai.com/dashboard/user/api_keys",
{
method: "POST",
headers: {
...authorizationHeader,
"Content-Type": "application/json",
},
body: JSON.stringify({
action: "delete",
redacted_key: redacted_key,
created_at: created_at,
}),
}
);
const content = await deleteApiKeyResponse.json();
return content.result === "success";
}