Dart 最小示例
本文示例适合先验证 SDK 能力层,不依赖 Flutter UI。
如果你在用 AI 编程工具,这一页更适合作为“参考真值”而不是长篇教程。
当 AI 生成的 Dart 接入代码和文档描述不一致时,优先回到这里核对最小骨架。
推荐提示词
text
请参考 AgentOS 文档里的 Dart 最小示例,在我的项目里生成一个尽量贴近该示例结构的最小接入实现。
要求:
- 使用 agentos_sdk
- 先 registerBundle
- 再调用 modelkit.chat.create 完成一次最小消息请求
- 尽量保留示例的执行顺序和代码骨架,不要臆造新的初始化流程
- 如果需要模型名,优先支持从 listModels() 获取,或者明确说明默认回退值示例代码
示例来源:agentos-sdk-dart/example/agentos_sdk_dart_example.dart
dart
import 'package:agentos_sdk/agentos_sdk.dart';
Future<void> main() async {
final sdk = AgentOSSDK(baseUrl: 'http://127.0.0.1:8888');
await sdk.agentos.registerBundle(
bundleId: 'com.example.minimal.dart',
appGroupId: 'com.example.minimal',
);
final models = await sdk.modelkit.listModelsByTask(ModelTask.chat);
final completion = await sdk.modelkit.chat.create(
model: models.first.id,
messages: <OpenAIChatCompletionChoiceMessageModel>[
OpenAIChatCompletionChoiceMessageModel(
role: OpenAIChatMessageRole.user,
content: <OpenAIChatCompletionChoiceMessageContentItemModel>[
OpenAIChatCompletionChoiceMessageContentItemModel.text(
'Say hello from the Dart minimal app.',
),
],
),
],
);
print(completion.choices.first.message.content?.first.text);
}运行方式
bash
dart pub add agentos_sdk
dart run bin/app.dart适合什么时候用
- 先确认网关地址和模型配置没问题
- 先验证 Dart 端类型和依赖环境
- 在接入 Flutter 或 ChatKit 之前先跑通底层请求
AI 最容易写错的地方
- 跳过
registerBundle(...),直接假设已经有上下文 - 把
chatkit_dart和agentos_sdk的职责混在一起 - 没有先验证最小链路就直接引入 Flutter UI 抽象
- 直接写死一个未知模型名,而不是先查可用模型
人工验收清单
- 代码结构是否仍然是
SDK 初始化 -> registerBundle -> chat.create - 是否至少打印出一条可见的模型返回内容
- 是否先把能力层跑通,再决定要不要接 ChatKit
