跳到主要内容

AI 能力与启动资格

TopStepAIKit 提供两类查询:supportsAIFeatures: 仅用于兼容性功能发现;真正启动任何 AI 操作前,应使用 startEligibilityForRequest: 对完整请求做实时、无副作用的资格校验。

推荐流程​

展示入口:supportsAIFeatures:(可选、粗粒度)
↓
构造 TSAIStartRequest(用例 + 参数 + 可选设备协同)
↓
startEligibilityForRequest:(必需、精确)
↓ Supported
调用对应能力接口

TSAIStartEligibility.support 为 TSAICapabilitySupported 或 TSAICapabilityUnsupported。不支持时 error 必定给出原因;支持时 error 为 nil。

构造启动请求​

TSAIUseCaseParameters *parameters =
[TSAIUseCaseParameters voiceTranslationParametersWithMode:
TSAIVoiceTranslationModeStandard];

TSAIAudioRouteConfiguration *route =
[TSAIAudioRouteConfiguration defaultConfiguration];
TSAIDeviceCoordination *coordination =
[TSAIDeviceCoordination coordinationWithScene:TSAIDeviceAISceneTranslation
initiator:TSAISessionInitiatorApp
audioRouteConfiguration:route];

TSAIStartRequest *request =
[TSAIStartRequest requestWithIdentifier:NSUUID.UUID.UUIDString
useCase:TSAIUseCaseVoiceTranslation
parameters:parameters
deviceCoordination:coordination];

TSAIStartEligibility *eligibility =
[context startEligibilityForRequest:request];
if (eligibility.support == TSAICapabilityUnsupported) {
TSLog(@"当前无法启动: %@", eligibility.error.localizedDescription);
return;
}

纯 App 操作的 deviceCoordination 传 nil。需要设备协同时,必须提供准确的设备场景、发起方和完整音频路由,不能只校验一个功能位。

请求模型​

类型只读属性构造方法
TSAIStartRequestrequestIdentifier、useCase、parameters、deviceCoordinationrequestWithIdentifier:useCase:parameters:deviceCoordination:
TSAIUseCaseParameterskind、recordingScene、voiceTranslationModeaudioRecordingParametersWithScene:、voiceTranslationParametersWithMode:
TSAIDeviceCoordinationscene、initiator、audioRouteConfigurationcoordinationWithScene:initiator:audioRouteConfiguration:
TSAIStartEligibilitysupport、errorsupportedEligibility、unsupportedEligibilityWithError:

requestIdentifier 在当前连接代际内必须唯一。模型均不可变并支持复制,启动后不要再尝试修改同一请求。

业务用例​

TSAIUseCase说明
TSAIUseCaseInvalid非法用例
TSAIUseCaseTextSummary / TSAIUseCaseChat文本总结 / AI 对话
TSAIUseCaseTextTranslation文本翻译
TSAIUseCaseSpeechSynthesis语音合成
TSAIUseCasePCMRecognition / TSAIUseCaseFileRecognition / TSAIUseCaseOfflineRecognitionPCM / 文件 / 离线识别
TSAIUseCasePhoneInterpretation手机同声传译
TSAIUseCaseAIRecording / TSAIUseCaseCallRecording / TSAIUseCaseNormalRecordingAI / 通话 / 普通录音
TSAIUseCaseTextQuestionAnswer文本问答
TSAIUseCaseImageGeneration图片生成
TSAIUseCaseVoiceTranslation / TSAIUseCaseVoiceQuestionAnswer设备协同语音翻译 / 问答
TSAIUseCaseWatchFace / TSAIUseCaseRideHailing语音表盘 / 语音打车

设备协同枚举​

枚举值
TSAIDeviceAISceneTSAIDeviceAISceneInvalid、TSAIDeviceAISceneChat、TSAIDeviceAISceneRecording、TSAIDeviceAISceneCallRecording、TSAIDeviceAISceneTranslation、TSAIDeviceAISceneRideHailing、TSAIDeviceAISceneWatchFace、TSAIDeviceAISceneQuestionAnswer、TSAIDeviceAISceneTranslationSelf、TSAIDeviceAISceneTranslationPeer
TSAISessionInitiatorTSAISessionInitiatorInvalid、TSAISessionInitiatorApp、TSAISessionInitiatorDevice
TSAIUseCaseParameterKindTSAIUseCaseParameterKindNone、TSAIUseCaseParameterKindAudioRecording、TSAIUseCaseParameterKindVoiceTranslation
TSAIVoiceTranslationModeTSAIVoiceTranslationModeInvalid、TSAIVoiceTranslationModeStandard、TSAIVoiceTranslationModeConversationSelf、TSAIVoiceTranslationModeConversationPeer
TSAIConversationTranslationModeTSAIConversationTranslationModeInvalid、TSAIConversationTranslationModeFaceToFace、TSAIConversationTranslationModePrivate、TSAIConversationTranslationModePortable

Service 原子能力​

TSAIServiceCapabilityOptions 包含:TSAIServiceCapabilityNone、TSAIServiceCapabilityTextSummarization、TSAIServiceCapabilityConversation、TSAIServiceCapabilityTextTranslation、TSAIServiceCapabilitySpeechSynthesis、TSAIServiceCapabilityPCMRecognition、TSAIServiceCapabilityFileRecognition、TSAIServiceCapabilityOfflineRecognition、TSAIServiceCapabilityInterpretation、TSAIServiceCapabilityAudioRecordingProcessing、TSAIServiceCapabilityQuestionAnswering、TSAIServiceCapabilityImageGeneration。

Provider 实现 supportedAIServiceCapabilities 和 supportForAIServiceCapabilities:;设备桥实现 supportForDeviceAIScene:initiator:audioInputChannel:。两者只报告各自事实,由 Context 合并实时状态后生成启动资格。

兼容性功能发现​

- (BOOL)supportsAIFeatures:(TSAIFeatureOptions)features;

TSAIFeatureOptions 的旧位值已冻结:TSAIFeatureNone、TSAIFeatureAISummary、TSAIFeatureAIChat、TSAIFeatureTextTranslation、TSAIFeatureSpeechSynthesis、TSAIFeaturePCMRecognition、TSAIFeatureFileRecognition、TSAIFeatureDeviceMicRecognition、TSAIFeatureOfflineRecognition、TSAIFeatureInterpretation、TSAIFeatureAIAudioRecording、TSAIFeatureCallAudioRecording、TSAIFeatureNormalAudioRecording、TSAIFeatureQuestionAnswering、TSAIFeatureImageGeneration、TSAIFeatureDeviceVoiceTranslation、TSAIFeatureDeviceQuestionAnswering;TSAIFeatureAll 固定为 0xFFFF。

该接口不表达 Context 生命周期、鉴权、权限、网络、任务互斥或精确音频路由,因此查询为 YES 也不能直接授权启动。

注意事项​

  1. 资格校验必须紧邻真实启动调用;外部状态变化后应重新校验。
  2. TSAICapabilityUnsupported 的 error 应直接用于禁用原因或错误提示,不要改用功能位猜测失败原因。
  3. Unknown、Automatic 音频输入不是设备能力事实;设备侧校验只接受已经解析的精确通道。
  4. TSAIFeatureAll 只适合兼容性诊断,不应作为页面启用条件。