feat: 新增越光 API 连接节点(OpenAI 兼容,25 个模型内置价格)
参照 ZenMux 节点的架构编写,参数、输出与容错行为保持一致,便于互换。 端点 https://llm.ai-nebula.com/v1/chat/completions 与 ZenMux 的三点差异: - 模型清单内置在 yueguang/model_registry.py,不做在线快照:越光没有 可枚举的模型接口,清单与价格来自官方规范文档。少一个联网环节, 也不会因拉取失败导致下拉变空 - model id 不带厂商前缀(gpt-4o 而非 openai/gpt-4o),下拉靠排序聚类, 搜索时输 gpt/claude/deepseek/kimi 过滤 - 默认 deepseek-v4-flash(全表最便宜 $0.1/$0.3,官方示例也用它), 默认值便宜可避免误触发产生意外费用 25 个模型的价格已按文档录入并逐项校验(标签解析、价格、厂商三项一致性 全部通过)。usage_stats 比 ZenMux 多一行厂商,价格换算经手算对照无误。 沿用的实战经验:base_url 默认值不带 ://(前端会吞协议片段)、 自适应参数重试(弃用 temperature / 需 max_completion_tokens 的模型)、 VALIDATE_INPUTS 宽松放行避免价格变动使旧工作流失效。 所有 19 个参数均带中文 tooltip。 验证:链路已打通(认证被接受、响应能正确解析),但文档提供的 key 余额为 0,返回 403「用户额度不足」,故未取得实际回复内容。 换有额度的 key 即可使用。 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
2a6fd42c57
commit
cc6a6e3400
+10
@@ -50,6 +50,14 @@ except Exception as _e:
|
||||
print(f"[Ruinode] ZenMux 节点未加载:{_e}")
|
||||
ZENMUX_NODE_CLASS_MAPPINGS = {}
|
||||
ZENMUX_NODE_DISPLAY_NAME_MAPPINGS = {}
|
||||
# 新增:越光 API 连接节点(OpenAI 兼容,模型清单与价格内置)
|
||||
try:
|
||||
from .yueguang import NODE_CLASS_MAPPINGS as YUEGUANG_NODE_CLASS_MAPPINGS
|
||||
from .yueguang import NODE_DISPLAY_NAME_MAPPINGS as YUEGUANG_NODE_DISPLAY_NAME_MAPPINGS
|
||||
except Exception as _e:
|
||||
print(f"[Ruinode] 越光 API 节点未加载:{_e}")
|
||||
YUEGUANG_NODE_CLASS_MAPPINGS = {}
|
||||
YUEGUANG_NODE_DISPLAY_NAME_MAPPINGS = {}
|
||||
# 新增:Markdown 转图片节点(阅读器级排版渲染)
|
||||
try:
|
||||
from .markdown_image_node import NODE_CLASS_MAPPINGS as MDIMG_NODE_CLASS_MAPPINGS
|
||||
@@ -122,6 +130,7 @@ NODE_CLASS_MAPPINGS.update(COLORMATCHER_NODE_CLASS_MAPPINGS)
|
||||
NODE_CLASS_MAPPINGS.update(IMAGESPLITTER_NODE_CLASS_MAPPINGS)
|
||||
NODE_CLASS_MAPPINGS.update(SDMATTE_NODE_CLASS_MAPPINGS)
|
||||
NODE_CLASS_MAPPINGS.update(ZENMUX_NODE_CLASS_MAPPINGS)
|
||||
NODE_CLASS_MAPPINGS.update(YUEGUANG_NODE_CLASS_MAPPINGS)
|
||||
NODE_CLASS_MAPPINGS.update(MDIMG_NODE_CLASS_MAPPINGS)
|
||||
NODE_CLASS_MAPPINGS.update(TEXTBOX_NODE_CLASS_MAPPINGS)
|
||||
NODE_CLASS_MAPPINGS.update(WATERMARK_NODE_CLASS_MAPPINGS)
|
||||
@@ -150,6 +159,7 @@ NODE_DISPLAY_NAME_MAPPINGS.update(COLORMATCHER_NODE_DISPLAY_NAME_MAPPINGS)
|
||||
NODE_DISPLAY_NAME_MAPPINGS.update(IMAGESPLITTER_NODE_DISPLAY_NAME_MAPPINGS)
|
||||
NODE_DISPLAY_NAME_MAPPINGS.update(SDMATTE_NODE_DISPLAY_NAME_MAPPINGS)
|
||||
NODE_DISPLAY_NAME_MAPPINGS.update(ZENMUX_NODE_DISPLAY_NAME_MAPPINGS)
|
||||
NODE_DISPLAY_NAME_MAPPINGS.update(YUEGUANG_NODE_DISPLAY_NAME_MAPPINGS)
|
||||
NODE_DISPLAY_NAME_MAPPINGS.update(MDIMG_NODE_DISPLAY_NAME_MAPPINGS)
|
||||
NODE_DISPLAY_NAME_MAPPINGS.update(TEXTBOX_NODE_DISPLAY_NAME_MAPPINGS)
|
||||
NODE_DISPLAY_NAME_MAPPINGS.update(WATERMARK_NODE_DISPLAY_NAME_MAPPINGS)
|
||||
|
||||
Reference in New Issue
Block a user