中文EN

dsh-realtimeavatar

tools已测通过npmMIT

Realtime Avatar(realtimeavatar.ai)实时数字人工具:开发者 API key 由 harness 凭据存储保管,公开文档打包为五个按需加载的技能,rta_* 工具封装公开 REST API(余额、数字人、动作片段、会话、用量),消耗额度的操作需审批,/rta 命令引导开发者从零到一次真实的数字人通话。

下载量 / Downloads
750
依赖体积 / node_modules
0.33 MB
测试时间 / Tested
2026-11-07
DSH 版本 / Version
0.2.2-rc.1

安装

dsh plugin --profile web add dsh-realtimeavatar

沙箱测试结果

阶段结果
1 安装✓
2 列装✓
3 挂载✓
4 启动—

四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。

README

dsh-realtimeavatar

![ci](https://github.com/theinfluencecompany/dsh-realtimeavatar/actions/workflows/ci.yml)

**Realtime Avatar for the DeepSeek Harness: the developer's API key held by the harness, the public docs as on-demand skills, rta_* tools over the public REST API, and a /rta command that walks a developer from no key to a live call.**

Realtime Avatar puts a live AI character on a voice or video call. The developer surface is the realtime-avatar npm SDK (source) and a REST API at https://realtimeavatar.ai/api/v1. Driving that from a coding agent usually means pasting an API key into chat, re-explaining the documentation every session, and letting the agent call endpoints that spend credits without anyone noticing. This plugin gives the harness the avatar as a primitive instead: the key is a credential reference the harness resolves per call and the model never sees; the documentation is five skills the model loads when they are relevant; the API is eighteen typed tools behind a write-approval gate; and /rta does onboarding without the model in the loop.

Writes are enabled by default but approval-gated, and anything that spends credits always asks. readOnly:true turns every write off.

What you get

Tools

Read tools run without approval and are marked concurrency-safe, so the harness may run them in parallel. rta_docs and rta_quickstart need no key at all.

Tool · Scope · What it does

rta_status · credits:read, realtime:write · Self-check: whether a key is configured (source and live/test tag, never the value), the credit balance, live capacity, the write posture, and what to do next. Run it first when something is off.

rta_balance · credits:read · Credit balance: available, reserved and lifetime credits, with an approximate number of minutes on air (1 credit = 1 second).

rta_capacity · realtime:write · Live-call capacity snapshot: free and active slots, queue depth, whether admission is open, recommended retry delay. Informational only — it does not predict whether a mint will be granted, so never gate a mint on it; mint, and treat a queued answer as the signal.

rta_avatars · avatars:read · List the workspace's avatars with status and idleVideoStatus (most recently updated first, capped at 100).

rta_avatar · avatars:read · Fetch one avatar. The tool to poll every few seconds after rta_avatar_create until status is ready.

rta_clips · avatars:read · An avatar's motion-clip library (clipId, role, status, whenHint) plus the revision that rta_clips_set can compare against.

rta_assets · avatars:read · List uploaded assets; an image asset id is what rta_avatar_create takes as sourceAssetId.

rta_usage · usage:read · Billed sessions: trailing 30 days by default, clamped to 90, paged by cursor, narrowable to one end user. Each row carries activeSeconds (the spec field), avatarName and endUserId (taken from metadata.user_id). Only released and failed rows are settled, and the totals sum those rows only.

rta_session_release · realtime:write · Free a minted call's slot early. Free of charge and idempotent, which is why it sits in the read tier.

rta_docs · none · The current markdown of one public documentation page: the 14 doc pages plus index (llms.txt) and openapi (an operation table). Optional heading returns one section.

rta_quickstart · none · The integration page for one framework (nextjs, tanstack-start, express, hono, react) with the server-half and client-half code skeletons extracted; falls back to the shipped snapshot when offline.

Write-free tools change state but spend no credits. They ask for approval by default and run without a prompt only when writeApproval:false.

Tool · Scope · What it does

rta_asset_remote · avatars:write · Register a file the platform fetches by absolute http(s) URL as an asset (image, video or audio).

rta_avatar_update · avatars:write · Partially update an avatar: display name, default voice, llmProvider and model, persona, art direction, stylePreset, settings, metadata, anchorTimeMs. llmProvider and stylePreset are closed enums: local, gemini, openai and cinematic-founder, editorial-companion, warm-anime, luxury-realism, soft-3d, noir-avatar. A portrait swap is its own lane: pass sourceAssetId (an image asset) alone, optionally with anchorTimeMs — it is exclusive of every other field.

rta_avatar_delete · avatars:write · Soft-delete an avatar; it disappears from every read afterwards.

Write-costly tools spend credits and always ask for approval, whatever writeApproval says.

Tool · Scope · What it does

rta_avatar_create · avatars:write · Create an avatar from a portrait image asset (one generation). Returns preprocessing; poll rta_avatar until ready.

rta_loop_set · avatars:write · Re-render an avatar's resting loop from a new motion prompt (one generation). Needs a portrait on the avatar (422 loop_not_generatable otherwise); do not gate on sourceKind — a ready avatar reads video once its generated loop attaches. Sends an Idempotency-Key so a retry never renders twice.

rta_clips_set · avatars:write · Declare the full clip library: new clips render, matching ones are kept, dropped ones retire, and an empty array retires every clip. At most 12 entries; each clipId matches ^[a-z0-9][a-z0-9_-]*$ (≤64 chars), whenHint is ≤280 chars, durationSeconds is an integer 4–8, and source is { motionPrompt } or { assetId }. Idempotency-Key plus an optional compare-and-swap on `expe

…(truncated)

以上内容来自 npm 上的 README,我们只做格式化,不改内容。

版本

npm 上共发布:2,最后更新 2026-09-03

链接

GitHub · Homepage · npm

同类插件