mirror of
https://github.com/hansjone/oclaw.git
synced 2026-10-17 10:53:24 +08:00
初始化:独立 oclaw 仓库首提交
- 在 oclaw/ 下重新初始化 Git 仓库 - 补齐子仓库 .gitignore,避免提交本地运行态数据(_local、node_modules、logs 等) - 提交当前工程代码与配置 Made-with: Cursor
This commit is contained in:
commit
ba3836f00f
579 changed files with 83112 additions and 0 deletions
17
extensions/deepseek/__init__.py
Normal file
17
extensions/deepseek/__init__.py
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
from .api import (
|
||||
DEEPSEEK_BASE_URL,
|
||||
DEEPSEEK_MODEL_CATALOG,
|
||||
build_deepseek_model_definition,
|
||||
build_deepseek_provider,
|
||||
)
|
||||
from .index import build_deepseek_plugin_entry, plugin_entry, register_deepseek_plugin
|
||||
|
||||
__all__ = [
|
||||
"DEEPSEEK_BASE_URL",
|
||||
"DEEPSEEK_MODEL_CATALOG",
|
||||
"build_deepseek_model_definition",
|
||||
"build_deepseek_plugin_entry",
|
||||
"build_deepseek_provider",
|
||||
"plugin_entry",
|
||||
"register_deepseek_plugin",
|
||||
]
|
||||
21
extensions/deepseek/api.py
Normal file
21
extensions/deepseek/api.py
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
from __future__ import annotations
|
||||
|
||||
DEEPSEEK_BASE_URL = "https://api.deepseek.com"
|
||||
DEEPSEEK_MODEL_CATALOG = (
|
||||
{"id": "deepseek-chat", "name": "DeepSeek Chat", "reasoning": False},
|
||||
{"id": "deepseek-reasoner", "name": "DeepSeek Reasoner", "reasoning": True},
|
||||
)
|
||||
|
||||
|
||||
def build_deepseek_model_definition(model: dict) -> dict:
|
||||
out = dict(model)
|
||||
out["api"] = "openai-completions"
|
||||
return out
|
||||
|
||||
|
||||
def build_deepseek_provider() -> dict:
|
||||
return {
|
||||
"base_url": DEEPSEEK_BASE_URL,
|
||||
"api": "openai-completions",
|
||||
"models": [build_deepseek_model_definition(m) for m in DEEPSEEK_MODEL_CATALOG],
|
||||
}
|
||||
29
extensions/deepseek/index.py
Normal file
29
extensions/deepseek/index.py
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
from __future__ import annotations
|
||||
|
||||
from .api import build_deepseek_provider
|
||||
from oclaw.extensions.plugin_api import PluginEntry, define_plugin_entry
|
||||
|
||||
PROVIDER_ID = "deepseek"
|
||||
|
||||
|
||||
def register_deepseek_plugin(api) -> None:
|
||||
if hasattr(api, "register_provider"):
|
||||
api.register_provider(
|
||||
{
|
||||
"id": PROVIDER_ID,
|
||||
"label": "DeepSeek",
|
||||
"provider": build_deepseek_provider(),
|
||||
}
|
||||
)
|
||||
|
||||
|
||||
def build_deepseek_plugin_entry() -> PluginEntry:
|
||||
return define_plugin_entry(
|
||||
id=PROVIDER_ID,
|
||||
name="DeepSeek Provider",
|
||||
description="Bundled DeepSeek provider plugin",
|
||||
register=register_deepseek_plugin,
|
||||
)
|
||||
|
||||
|
||||
plugin_entry = build_deepseek_plugin_entry()
|
||||
Loading…
Add table
Add a link
Reference in a new issue