dsh-libtv:在 DSH 里接入 LibTV 画布与媒体生产工具

前言

在 DeepSeek Harness(DSH)里做视频、分镜或广告类工作流时,常见做法是自行对接各家生成 API、维护密钥,或在对话里反复粘贴素材链接。LibTV 本身提供画布、生成、剧本与导出等能力,并通过 Remote MCP 暴露工具;若要在 DSH 里稳定调用,还需要 OAuth 握手、令牌续期与 MCP 桥接。下面介绍的 dsh-libtv 由维护者 redkiller79 发布,分类为工作流,一次安装即可在宿主内获得 LibTV 相关 MCP 工具与三个生产向技能,首次使用通过微信扫码完成授权,无需预装 Node 或手工填写 API Key。

这是什么

dsh-libtv 是 LibTV 的 DeepSeek Harness 插件:安装后同时注册 LibTV 远端 MCP 工具(画布、图片/视频/音频生成、剧本、剪辑、导出等)以及三个技能。插件通过本地进程桥接 https://mcp.liblib.tv/mcp,凭据保存在本机 ~/.libtv/credentials.json(权限 0600),access token 约 1 小时到期,由 refresh token 自动续期。

核心功能

MCP 工具

README 说明:1 个本地工具 + 86 个 LibTV 远端工具,命名空间为 mcp__libtv__*。本地授权工具为 libtv_auth(status / start / logout)。远端工具按类别包括但不限于:

类别 代表工具
账户与画布 doctor、account_user、list_projects、target_project、read_project、create_node、update_node、manage_group
生成 search_models、get_model、generation_submit、generate_video、task_status
上传与资产 upload_ticket、upload_complete、upload_media、search_assets、apply_asset_to_canvas
剧本与分镜 create_screenplay、read_screenplay、write_screenplay、create_script_v2、edit_script_v2
音频 edit_audio、synthesize_speech、design_voice、register_voice
剪辑与导出 apply_timeline_edit、read_timeline、export_readiness、export_video、export_status、prepare_project_delivery
Agent run_agent、get_agent_status、steer_agent_run、resolve_agent_action

86 个工具的 schema 会常驻上下文;若只用部分能力,可通过环境变量 LIBTV_TOOL_FILTER 或文件 ~/.libtv/tools.allow(每行一个工具名)缩小暴露范围。

三个技能

  • libtv-to-treatment — 把画布成果整理成可翻页的导演提案
  • libtv-blender-live-action — 剧本 → Blender 白模预演 → Seedance 实拍视频
  • music-driven-product-ad — 20 秒音乐驱动产品广告

授权与安全

LibTV Remote MCP 使用 OAuth 2.1 授权码 + PKCE;令牌只能由用户本人的 LibTV 账户签发,插件无法代登录,因此首次需微信扫码。未授权时宿主仍可加载插件,工具面板仅显示 libtv_auth;授权成功后自动建立远端会话并刷新工具列表,无需重启 DSH。长任务侧:toolCallTimeoutMs 设为 20 分钟,避免视频生成/导出被误判超时。

安装与启用

在 DSH 中任选一种方式安装(命令以 README 为准):

# 1) 插件市场(dshmarket)里搜 dsh-libtv,点安装
# 2) CLI
dsh plugin add dsh-libtv

安装后无需重启:工具和技能会在当前会话内直接出现。插件以 stdio 启动(process.execPath lib/main.mjs),不依赖系统全局 Node。

社区插件目录为独立站点(如 skillhub.cn),与 DeepSeek / 幻方无官方从属关系;安装前建议自行查看源码与 MIT 许可证。插件以当前 dsh 进程权限运行,凭据仅写入本机目录。

首次使用:扫码授权

第一次让模型执行 LibTV 相关任务时,会调用 libtv_auth,默认浏览器打开 LibTV 授权页:

  1. 在浏览器中用微信扫码登录或确认授权;
  2. 看到「授权成功」后,回到 DSH 继续描述需求即可。

也可直接告诉模型:「用 libtv_auth 授权 LibTV」。换机器、删除凭据或 refresh 失效时,重复上述扫码流程。

无头或远程环境可设 LIBTV_OPEN_BROWSER=0,由日志或模型转述授权链接;或使用 CLI(等价于 libtv_auth):

npx -p dsh-libtv libtv-auth login    # 打印授权链接并等待回调
npx -p dsh-libtv libtv-auth status
npx -p dsh-libtv libtv-auth logout

可选配置

一般无需修改,通过宿主环境变量生效:

变量 作用
LIBTV_HOME 凭据目录,默认 ~/.libtv
LIBTV_OAUTH_PORT 本地回调端口,默认 8765
LIBTV_OPEN_BROWSER=0 不自动开浏览器,只输出授权链接
LIBTV_TOOL_FILTER 逗号分隔的工具白名单
LIBTV_MCP_URL / LIBTV_ISSUER 自建网关时使用

典型用法与排障

典型用法:在 DSH 对话中描述分镜、生成、剪辑或导出需求,由模型调用对应 MCP 工具;复杂流程可选用上述三个技能之一引导步骤。换账号时先 libtv_auth 的 logout,再 start 重新扫码。

现象 处理
浏览器未弹出 查看 DSH 日志中的授权链接手动打开,或设 LIBTV_OPEN_BROWSER=0
回调端口被占用 设置 LIBTV_OAUTH_PORT=8766 后重新授权
工具报尚未授权 调用 libtv_auth 的 status,必要时 start
工具过多占上下文 使用 LIBTV_TOOL_FILTER 或 ~/.libtv/tools.allow

适用场景与注意

适合已在 DSH 中编排智能体、希望把 LibTV 画布与媒体流水线(生成、剧本、时间线、导出)纳入同一对话环境的开发者。不适合期望完全离线、或不愿完成 OAuth 扫码的场景。

务必知悉:插件不读取环境变量中的 token(宿主会清洗子进程中的 *_TOKEN 类变量);令牌不出本机。星标与社区展示以目录页为准(当前资料记载 GitHub 0 stars)。

结尾

dsh-libtv 把 LibTV 的 MCP 工具集与三条生产技能打包进 DSH,用一次微信扫码替代 API Key 维护,并在本地完成 OAuth 网关与工具过滤。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。

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

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

Xiaoye