Browse Source

上传代码

newdev_shunjiawei
liwei1dao 2 years ago
parent
commit
f2acc88423
  1. 1
      local_plugins/open_ai_service/android/build.gradle.kts
  2. 2
      local_plugins/open_ai_service/android/src/main/kotlin/com/yunqiinnovation/open_ai_service/MCPClient.kt
  3. 21
      local_plugins/open_ai_service/android/src/main/kotlin/com/yunqiinnovation/open_ai_service/OpenAIServicePlugin.kt
  4. 4
      local_plugins/open_ai_service/lib/open_ai_service.dart

1
local_plugins/open_ai_service/android/build.gradle.kts

@ -57,4 +57,5 @@ dependencies {
implementation("io.ktor:ktor-client-cio:3.1.2")
implementation("io.ktor:ktor-client-okhttp:3.1.2")
implementation("io.ktor:ktor-client-logging:3.1.2")
implementation("com.google.code.gson:gson:2.10.1")
}

2
local_plugins/open_ai_service/android/src/main/kotlin/com/yunqiinnovation/open_ai_service/MCPClient.kt

@ -391,7 +391,7 @@ class MCPSubClient(
else -> ""
}
}
JSONObject().apply { put("name",name);put("meta",result?._meta?.toMap()); put("context",context) }
JSONObject().apply { put("name",name);put("meta",result?._meta.toString()); put("context",context) }
} catch (e: Exception) {
Log.e(TAG, "调用MCP工具失败: ${e.message}", e)
JSONObject().apply { put("context", "调用MCP工具失败: ${e.message}")}

21
local_plugins/open_ai_service/android/src/main/kotlin/com/yunqiinnovation/open_ai_service/OpenAIServicePlugin.kt

@ -168,14 +168,21 @@ class OpenAIServicePlugin : FlutterPlugin, MethodCallHandler, StreamHandler {
Log.e("OpenAIServicePlugin", "context:${functionCall.toString()}")
val context = functionCall["context"]
if (functionCall.has("meta")) {
val meta = mapOf<String, Any>(
"card_spotify" to mapOf<String, Any>(
"name" to "泡沫",
"image" to "https://i.scdn.co/image/ab67616d0000b2739f6a38e4bb9c2f824c215e58",
"url" to "spotify:track:2IfSPLPDW6RGosdB5huwAA",
"sgener" to "Xposed",
)
Log.e("OpenAIServicePlugin",
"""
工具调用结果 meta 类型: ${functionCall["meta"]?.javaClass?.canonicalName}
值内容: ${functionCall["meta"]}
""".trimIndent()
)
val meta = functionCall["meta"].toString()
// val meta = mapOf<String, Any>(
// "card_spotify" to mapOf<String, Any>(
// "name" to "泡沫",
// "image" to "https://i.scdn.co/image/ab67616d0000b2739f6a38e4bb9c2f824c215e58",
// "url" to "spotify:track:2IfSPLPDW6RGosdB5huwAA",
// "sgener" to "Xposed",
// )
// )
Log.e("OpenAIServicePlugin", "工具调用结果 context:${context} meta:${meta.toString()}")
// 发送函数调用事件
mainHandler.post {

4
local_plugins/open_ai_service/lib/open_ai_service.dart

@ -32,8 +32,8 @@ class OpenAIEvent {
factory OpenAIEvent.fromMap(Map<String, dynamic> map) {
final typeStr = map['type'] as String;
final content = map['content'];
final rawMeta = map['meta'];
final meta = rawMeta is Map ? Map<String, dynamic>.from(rawMeta) : null;
final rawMeta = map['meta'] as String?;
final meta = rawMeta != null ? jsonDecode(rawMeta) : null;
return OpenAIEvent(
type: _typeFromString(typeStr),
content: content,

Loading…
Cancel
Save