Skip to content

API 文档

Neo-MoFox 为插件开发者提供了一套完整的 API 接口,涵盖消息收发、LLM 调用、数据库操作、事件系统、日志记录等核心功能。

设计理念

所有 API 都采用扁平化设计,函数命名清晰直观,支持关键字参数调用,提供开箱即用的类型提示。

API 模块总览

模块说明主要功能
消息发送 API主动向会话发送各类消息文本、图片、语音、视频、文件、批量发送
消息查询 API历史消息检索与统计时间范围查询、用户过滤、可读格式化
LLM APILLM 请求构建与调用模型选择、请求创建、Embedding、Rerank
数据库 API数据持久化操作CRUD、查询构建、聚合统计、分页迭代
事件 API事件发布与订阅发布事件、注册处理器、订阅管理
日志 API结构化日志记录Logger 获取、颜色配置、事件广播

通用约定

参数传递风格

推荐使用关键字参数方式调用所有 API 函数,以提高代码可读性和可维护性:

python
# ✅ 推荐
await send_text(
    stream_id=self.stream_id,
    platform=self.platform,
    content="Hello"
)

# ❌ 不推荐(虽然支持)
await send_text(self.stream_id, self.platform, "Hello")

异步调用

所有涉及 I/O 操作的 API 都是异步函数,必须使用 await 调用:

python
# ✅ 正确
messages = await get_recent_messages(stream_id=self.stream_id, hours=1.0)

# ❌ 错误
messages = get_recent_messages(stream_id=self.stream_id, hours=1.0)  # 返回的是 coroutine 对象

类型提示

所有 API 函数都提供完整的类型注解,建议在开发时启用类型检查工具(如 Pylance、mypy)以获得更好的开发体验。

详细文档

点击下方链接查看各模块的详细 API 文档:

  • 消息发送 API — 向会话发送文本、图片、语音、视频等消息
  • 消息查询 API — 检索历史消息、统计消息数量、格式化展示
  • LLM API — 创建 LLM 请求、配置模型、调用 AI 能力
  • 数据库 API — 数据持久化、查询构建、聚合操作
  • 事件 API — 发布事件、注册处理器、管理订阅
  • 日志 API — 获取 Logger、配置颜色、广播日志事件

最佳实践

错误处理

在调用 API 时应当妥善处理可能的异常:

python
try:
    await send_text(
        stream_id=self.stream_id,
        platform=self.platform,
        content="Hello"
    )
except Exception as e:
    logger.error(f"发送消息失败: {e}", exc_info=True)

资源管理

对于需要清理的资源(如数据库连接),建议使用上下文管理器:

python
async with database_session() as session:
    # 执行数据库操作
    pass

相关章节

贡献者

The avatar of contributor named as minecraft1024a minecraft1024a

页面历史

Released under the GPL-3.0 License.

AI 助手

有什么可以帮您的吗?