MCPcopy Create free account
hub / github.com/Bistutu/FluentRead / gemini

Function gemini

userscripts.js:1203–1246  ·  view source on GitHub ↗
(origin)

Source from the content-addressed store, hash-verified

1201
1202// region gemini
1203function gemini(origin) {
1204 return new Promise((resolve, reject) => {
1205 // 获取 token 和选项,这里的 tokenManager 和 optionsManager 应由您实现
1206 let token = tokenManager.getToken('gemini');
1207 let option = optionsManager.getOption('gemini'); // gemini-pro
1208
1209 // 检查 token 是否存在
1210 if (!token) {
1211 reject('No token available');
1212 return;
1213 }
1214
1215 // 发送请求
1216 GM_xmlhttpRequest({
1217 method: POST,
1218 url: "https://generativelanguage.googleapis.com/v1beta/models/" + option + ":generateContent?key=" + token,
1219 headers: {'Content-Type': 'application/json'},
1220 data: JSON.stringify({
1221 "contents": [
1222 {
1223 "role": "user",
1224 "parts": [{"text": chatMgs.getSystemMsg() + chatMgs.getUserMsg("hello")}]
1225 },
1226 {
1227 "role": "model",
1228 "parts": [{"text": "你好"}]
1229 },
1230 {
1231 "role": "user",
1232 "parts": [{"text": origin}]
1233 }]
1234 }),
1235 onload: response => {
1236 try {
1237 let result = JSON.parse(response.responseText);
1238 resolve(result.candidates[0].content.parts[0].text);
1239 } catch (e) {
1240 reject(response.responseText);
1241 }
1242 },
1243 onerror: error => reject(error)
1244 });
1245 });
1246}
1247
1248// endregion
1249

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected