# 待优化
1. 所有的SDK接口在进行int时需要返回具体的错误码
- 初始化阶段还没生成session id，或者生成session id失败，需要通过complete函数返回具体的错误码
- 在执行具体的业务处理时，比如进行chat时，如果遇到类似user data指针为空或者找不到session id的情况，通过g_dbus_method_invocation_return_error函数返回通用错误码，并且dbus业务处理函数返回false。sdk层统一返回AISDK_RUNTIME_ERROR错误
- 其余场景根据引擎返回的错误码进行处理，通过callback返回错误
2. 重连机制，主要用于runtime异常退出的场景，sdk需要实现重连的机制
- 使用dbus的错误机制检测是否断开连接
- 检测到断开之后需要需要马上调用回调，通知接口AISDK_RUNTIME_ERROR，紧接着进行重连操作
- 每次断开之后，本次业务中断，如需继续需要重新请求
- 重连之后需要重新进行init，恢复配置
3. 超时机制，主要分为两种：
- 整体业务超时，是指从发起任务请求到任务完全结束，比如文生图时超时，文本对话时超时。DBUS机制必须设置超时时间，如果设置中间任务的超时机制，整体业务超时时间可以长一些
- 中间流式业务超时，需要在每次返回结果间有超时机制，比如生成一部分结果，后续的结果一直没收到
- 具体的超时处理：
  - 文生生成。主要设置中间流式结果的超时时间，整体业务超时时间可以长一些
  - 图像生成。主要设置整体业务的超时时间。虽然文生图可能是流式数据返回，但可能需要对每张图片分别进行超时检测，目前先不实现
  - 文字识别。主要设置整体业务的超时时间。
  - 语音处理
    - 对于语音合成和一次性语音识别，均需要设置整体业务的超时时间
    - 对于流式语音识别，虽然结果是流式数据返回，但是比较依赖用户发送的数据是否有效，所以超时时间不太确定，暂时不设置超时
- **注意：** 目前SDK的结果都是通过信号返回的，对于流式数据返回，必须得用信号，对于非流式数据返回，需要整改通过DBUS的函数调用进行返回，否则无法设置整体超时时间
# 其他
1. 文生图支持指定模型名称和部署类型
2. 文本生成的结果添加思考过程的字段
3. 模型切换之后的具体配置也要切过去，比如文生图的配置
4. 重连之后配置恢复，sdk进行配置恢复，runtime进行配置恢复
5. TaskRunner中的任务上限需要适当提高
6. 语音处理的需要进行整改，具体可参考文本生成、文字识别和图像生成的整改方案
7. 其余的细节可能还需要再优化下