deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
PROJECT README
把最近一次 DeepSeek Harness Agent 任务变成约 30 秒的竖屏战报:可编辑预览,一键导出 1080×1920 MP4(不支持时回退 WebM)和封面 PNG。
English summary: dsh-showreel turns the latest completed DeepSeek Harness turn into an editable, privacy-redacted vertical video. It runs locally, exports a 1080×1920 MP4/WebM plus PNG cover, and never uploads your session.

要求 DeepSeek Harness 0.1.0-rc.7、Node.js ^22.19 || >=24,使用 Web profile:
dsh plugin --profile web add dsh-showreel
DSH 会安装包,并根据包内的 dsh.bundle 声明将 dsh-showreel 加入目标 profile。随后运行:
dsh web
打开任意已有完成任务的会话,点击会话标题栏的 🎬。
本地开发时可安装当前目录:
pnpm install && pnpm build
dsh plugin --profile web add /absolute/path/to/dsh-showreel
/audio/speech 配音;未配置、超时、解码失败或请求失败时静音导出。不包含自动上传、云端分享、背景音乐、横屏模板、模板市场或完整会话回放。
插件对 Session 和 workspace 全程只读。默认不会使用或展示:
所有事实先在 Host 脱敏,再进入规则文案、AI 润色和配音。编辑器会显示脱敏计数与警告,导出必须由用户主动点击。浏览器请求不能传入 TTS 地址或密钥。
在 Web profile 的 cordis.patch.yml 覆盖已经安装的 row:
- id: dsh-showreel
config:
tts:
baseUrl: https://api.openai.com/v1
model: gpt-4o-mini-tts
voice: alloy
credentialRef: DSH_SHOWREEL_TTS_API_KEY
timeoutMs: 60000
maxAudioBytes: 10485760
将实际密钥交给 DSH credentials provider(例如环境变量 DSH_SHOWREEL_TTS_API_KEY 或本机托管凭据文件)。credentialRef 只是引用;密钥仅由 Host 在每次请求时解析,不进入配置、Session、浏览器或导出文件。
baseUrl 应为带版本的服务根地址,例如 https://api.openai.com/v1。插件只会在已保存配置后追加 /audio/speech;远程地址必须使用 HTTPS,本机 localhost/loopback 可以使用 HTTP。
所有接口同源挂载在 /showreel/api,默认请求体上限 64 KiB,音频响应上限 10 MiB:
| 方法 | 路径 | 用途 |
|---|---|---|
GET |
/showreel/api/sessions |
返回可读取的会话摘要 |
POST |
/showreel/api/storyboard |
为指定 session/turn 生成故事板 |
POST |
/showreel/api/polish |
用原任务模型润色脱敏文案 |
POST |
/showreel/api/narration |
使用 Host 已保存的 TTS 配置生成音频 |
跨源浏览器请求会被拒绝,响应禁止缓存。TTS 接口忽略浏览器提交的任何 endpoint 字段。
interface ShowreelStoryboardV1 {
version: 1
sessionId: string
sourceTurn: string
title: string
scenes: ShowreelScene[]
stats: ShowreelStats
privacy: { redactionCount: number; warnings: string[] }
}
interface ShowreelScene {
id: string
kind: "goal" | "work" | "verification" | "result" | "outro"
durationMs: number
headline: string
body: string[]
enabled: boolean
}
pnpm install
pnpm test
pnpm typecheck
pnpm build
npm pack --dry-run
在 macOS + Chrome 环境可重建真实演示素材:pnpm demo。该命令直接调用生产使用的 Canvas/MediaRecorder 导出函数,而不是使用预制动画。
测试覆盖官方 rc.7 SessionEvent 结构、最后完成 Turn、正常/失败/无工具/取消/模型错误/压缩与千级事件、脱敏、工具分类、Token 汇总、故事板稳定性、AI/TTS 降级、API 同源与大小限制、路由热卸载、时间轴和 MP4/WebM 能力探测。
Host 通过 ctx.sessionQuery.readSession() 读取持久事件,纯函数生成 ShowreelStoryboardV1;它不接入或修改 Agent Loop。Web Client 只在官方 conversation.session.header.actions additive slot 注册按钮。Canvas、MediaRecorder 和 Web Audio 全部在本机浏览器运行。
0.1.0-rc.7 系列CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。