dsh-sekaisync-connect:在 DSH 中直连本地 SekaiSync 知识库

前言

在 DeepSeek Harness(DSH)里做带长期上下文的智能体时,模型往往缺少可核对、可更新的本地事实源。把 SekaiSync 这类已同步的知识库接到运行时,通常要自行维护 HTTP 客户端、配置路径,并在对话里控制检索粒度与 token 消耗。社区插件 dsh-sekaisync-connect(维护者 omoinoki)把 SekaiSync 作为 DSH 直连模块:由插件拉起或复用本地 sekaisync HTTP 服务,并暴露 10 个只读工具;在 Web profile 下还可在插件面板里选择部署路径,而不必手改 JSON。下面介绍它的定位、能力与安装配置方式。

这是什么

dsh-sekaisync-connect 是 SekaiSync 知识库的 DeepSeek Harness 直连插件:无第三方 npm 依赖、免构建,设计上强调低 token 占用。它面向已用 sekaisync init / sync 得到 store(含 kb/)的环境,在 DSH 进程内连接回环地址上的 SekaiSync 服务,供模型按工具契约查询实体、事实、用语与公告等。

DSH 生态的理念是「一切皆插件」;SkillHub 等为独立社区目录,安装前仍应自行查看源码与许可证。

核心功能

十个只读工具

插件向模型注册 10 个紧凑工具,均对本地知识库只读(名称与用途以仓库中文 README 为准):

工具 用途概要
sekai_probe 判定话题是否属于《世界计划》,并建议下一步工具
sekai_lookup 多语言名称匹配实体(角色、活动、卡片、卡池、曲目、区域等),含跨服名称与活动简称
sekai_fact 按实体 id 取紧凑事实包(如 character:1)
sekai_resolve 专有名词解析为官方本地化名称
sekai_term 游戏内用语与跨语言译名,含 tags、weight 与证据
sekai_penetrate 单点用语跨语言穿透(耗时较长)
sekai_alias 活动简称与官方活动名解析
sekai_web 已爬取剧情全文检索
sekai_news 五服官方公告过滤查询
sekai_status 知识库就绪、新鲜度与各服覆盖

HTTP 仅连接 loopback,拒绝重定向;成功响应有字节预算(默认 128 MiB,可通过 SEKAISYNC_MAX_RESPONSE_BYTES 或配置中的 maxResponseBytes 调整,上限 1 GiB)。

Web 插件面板(可选)

在提供 Web 客户端的 profile 下,侧边栏 插件 → 已安装 → dsh-sekaisync-connect 可出现 配置 页:输入路径并用 检查 分类 store / 仓库根 / kb/,保存并生效 写入 profile 的 cordis.patch.yml(经官方 settings 服务),测试连接 对选定部署请求 /health。纯 CLI 组合无面板时,10 个工具仍可用,文件与环境变量配置方式不变。

面板刻意不可从界面编辑 python 可执行路径;不提供目录浏览器,路径需手动输入。

DSH 运行时版本门控

插件对 DSH 运行时版本做显式放行/拒绝:例如 0.1.x 与未验证的 0.3.0 / 0.3.0-rc.1 / 1.0.0 会被 DENY;0.2.0-rc.1 起至 0.2.x 为 allow。不兼容时整包拒绝加载(工具消失、面板不加载),而非半加载崩溃。若必须在未验证版本上运行,README 提到可使用 dsh plugin allow-version。

安装与启用

环境前提(README 原文要求):

  • Python ≥ 3.10,且能执行 python -m sekaisync(SekaiSync 侧零第三方依赖)
  • 已有同步完成的 store(sekaisync init / sync 产物)

在目标 profile 下安装指定版本:

# 从 Git 安装本版本:
dsh plugin --profile web add github:omoinoki/dsh-sekaisync-connect#v0.3.9-alpha.1

# 或从本地检出的目录安装:
dsh plugin --profile web add ./dsh-sekaisync-connect

请将 --profile web 换成你实际使用的 profile 名。安装后按下一节解析 store / 根目录;若运行时版本不在放行范围内,需升级 DSH 或使用文档中的 allow-version 流程。

配置要点

配置优先级(高到低):环境变量 > profile 行 config > SEKAISYNC_CONFIG 文件 > 插件目录 config.local.json > config.json > 自动发现。

常用项:

配置项 说明
SEKAISYNC_STORE 含 kb/ 的 store 目录
SEKAISYNC_ROOT SekaiSync 仓库根(python -m sekaisync 的工作目录)
SEKAISYNC_PYTHON Python 可执行文件,默认 python
SEKAISYNC_PORT 探测已有服务的端口,默认 8787;0 表示跳过外部探测、直接启动托管服务
SEKAISYNC_MAX_RESPONSE_BYTES 单次成功 HTTP 响应字节上限,默认 134217728

在 profile patch 中覆盖示例(注意行 id 必须为 sekaisync-connect,与面板写入键一致):

- id: sekaisync-connect
  name: 'dsh-sekaisync-connect'
  config:
    store: 'D:\\sekaisync\\store'
    python: 'py'

若端口 8787 上已有就绪的 SekaiSync,插件会复用该实例;/health 不携带 store 标识,需自行确认端口对应的是目标知识库。

典型用法

README 中的 使用建议(token 纪律) 可作为对话策略参考,摘要如下:

  1. 生成本地化文本前先 sekai_resolve;精确事实用 sekai_fact,避免模型凭记忆作答。
  2. 不确定是否与世界计划相关时先 sekai_probe,再按返回的 next_tool 继续。
  3. 时效性问题(活动、卡池、维护)先 sekai_status 看新鲜度与覆盖率。
  4. 核对译名语境:sekai_term 确证用语 → 必要时 sekai_penetrate(较慢)。
  5. 引用剧情原文再用 sekai_web;平时优先 sekai_lookup / sekai_term。
  6. 活动简称或箱活名可直接自然语言提问,sekai_lookup / sekai_alias 负责解析。

区服相关事实示例(sekai_fact 可选 region):

{"entity_id":"character_profile:18","language":"en","region":"jp"}

结果会披露实际区服与正文语言;旧后端忽略 region 时会提示升级,而不是静默返回未过滤数据。

适用场景与注意

适合谁:已在本地维护 SekaiSync store、希望在 DSH 对话中稳定调用同一知识库的开发者;分类上社区目录将其标为「记忆」类插件,适合把结构化游戏/项目事实接入智能体工具链。

使用前注意:

  • 插件在 当前 DSH 进程权限 下运行,会按配置启动或连接本地 Python 服务;安装前应阅读仓库源码与 MIT 许可证,并确认 store 路径与端口不指向非预期实例。
  • 依赖 Python 与 Node 双运行时;SekaiSync 后端升级不会自动补全旧库已缺失字段,需按上游说明同步或重建后再验正文。
  • 社区目录页显示该仓库约 2 stars(以站点/GitHub 当时数据为准),属早期社区组件;版本为 alpha,生产环境请自行验收工具延迟与数据新鲜度。

常见故障 README 有专节:如找不到 store、无法启动 python -m sekaisync、服务器冷却、面板 forbidden 等与 Host/Origin/cookie 栅栏相关项,可按文档逐项对照。

结尾

dsh-sekaisync-connect 把 SekaiSync 的 HTTP 能力与 DSH 工具面接在一起:10 个只读工具覆盖探测、检索、事实、用语与状态,Web profile 下还可图形化保存 store/root。若你已在用 SekaiSync 做本地知识库,可按上文安装命令与配置优先级接入;细节以仓库 README 与 CHANGELOG 为准。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜