deepseek-harness
deepseek-ai
DeepSeek Harness: Everything is a Plugin.
PROJECT TOPICS
INSTALL REFERENCE
dsh plugin --profile web add github:Justin-sky/ai-art-engine
该命令指向仓库当前默认分支;尚无绑定当前 commit 的完整验证结果。
PROJECT README
交流 QQ 群:346340389 · 647306826 · · 喜欢就点个 ⭐ Star
专业 AI 创作工具 · 短剧 · 广告 · 成片
本地工程与素材 · 分镜与节点图驱动生成 · 内置 MCP Server 可被 Claude Code 等 AI Agent 驱动
对接 OpenRouter · OpenAI · DeepSeek · 智谱 · Kimi · xAI · Google · vLLM · Ollama · LM Studio · 火山方舟 · 可灵 · MiniMax · 通义千问 · 魔塔 · ComfyUI · MagicRouter · Meshy · Tripo · Rodin(Hyper3D) · Luma AI · Lux3D · 自定义提供商(OpenAI 兼容 / Anthropic / Gemini 端点)
对象存储:火山 TOS · 阿里云 OSS · 腾讯云 COS
官网 · 使用手册 · 视频教程 · 短剧教程 · ComfyUI 教程 · MCP 接入 · bilibili · Download · GitHub · Gitee · 交流 · Features · Quick Start · English
两个仓库的 main 分支保持同步;Release 与客户端自动更新仍以 GitHub 为准。
| Platform | Package | Get it |
|---|---|---|
| Windows | .exe |
GitHub Releases |
| macOS | .dmg(x64 / arm64) |
GitHub Releases:Intel 选 x64,Apple Silicon 选 arm64(仅 arm64 时 Intel Mac 会提示不支持) |
| Linux | .AppImage |
GitHub Releases(chmod +x 后运行) |
推送 v* tag 可由 GitHub Actions 自动构建并发布多平台安装包。也可自行打包:
npm run dist:win # Windows
npm run dist:mac # macOS
npm run dist:linux # Linux
AIArtEngine 是面向短剧、广告与成片制作的专业 AI 创作工具:资产、分镜、节点图在同一桌面端完成,工程本地优先,模型调用走你自己的 API Key。
应用内聊天即可驱动全部生成与编排能力;Claude Code / Codex 等外部 AI Agent 也能直连操作你的工程。
@ 引用工程资产、让 Agent 调用 MCP 工具直接干活——生成图片 / 视频 / 3D / 语音、编辑节点图、运行工作流并查状态;多会话历史、模型可选任意已配置文本模型技能是"职业手册"——告诉 Agent 怎么做(流程、规范、输出格式);MCP 工具是"手脚"——真正动手执行。两者配合,对话才能"说到做到"。
name / description + Markdown 正文)的 .md 文件放进技能目录,下次对话自动生效;目录内一键「生成示例模板」<available_skills> 注入对话上下文,Agent 判断任务匹配时按需加载技能文件作为指令;内置技能由程序自动管理(快照 + 指纹去重),自定义技能不受影响。节点图节点也使用同一套技能定义节点行为本机 Blender 跑着,AI 就能在对话里搭场景、写材质、截图自查、导出 GLB —— 出站直连 addon,不需要 uv / Python / 子进程。
get_scene_info / get_world_state_snapshot / get_object_info 查场景与选中对象,execute_blender_code 在 Blender 进程内执行 Python(完整访问 bpy / bmesh / mathutils),get_viewport_screenshot 抓视口画面回给多模态客户端,export_scene 出 GLB / GLTF / FBX / OBJ / USD / STL(配 asset_import 一键入资产库),describe_node_type / bpy_api_lookup / get_addon_status 查节点端口、查 bpy API、查 addon 版本addon.py 与官方方案 Blender Lab「MCP Server」 扩展,在「设置 → MCP → Blender 工具集」里切换;两种后端下工具名、入参、输出结构完全一致,模型侧无感localhost:9876 监听端口;安装包 / 仓库 / 容器环境开箱即用execute_blender_code 不再做词法护栏(可使用完整 Python / bpy 能力);写入仍由 Ask / Plan 在请求级收窄。截图走一次性临时文件,画面只随 MCP 响应回给多模态客户端,不落工程也不进审计日志详细工具清单、协议细节与安全设计见 [MCP 接入指南](./docs/MCP.md#⑤- blender-工具集可选需要本机-blender) / MCP 接入教程。
.aipackage 导入导出;多选文件 / 多选目录拖拽到其它目录(磁盘搬移 + descendant asset.relativePath 写回 + 成环检测 + 同名追加 " 2" / " 3")asset.voice,TTS 配音;指令框里的文本就是要念的内容,所以不显示系统提示词)、多说话人对话(asset.dialogue,按行写 说话人: 台词,一次合成整段对白,Inspector 里逐说话人绑音色,缺音色会点名第几段哪个说话人)、音效(asset.sfx,走专用音效端点 /v1/sound-generation,描述声音本身而不是台词,可无缝循环 + 期望时长 0.5–30 秒 + 提示词影响力 0–1,落 Cache/Sfx)、音乐(asset.music,编曲 / BGM,纯音乐开关 + 歌词,落 Cache/Music)、选择声音(voice.select,从多个上游声音里挑一个)music_v2_5 等)、MiniMax(music-3.0 / music-2.6)、通义千问 · 百炼(fun-music-v1 / preview)。两个页签不会互相串味(音乐下拉不会出现 TTS 模型),升级前把音乐模型勾在「声音」页签的旧设置会自动迁移asset.spatialWorld,文本 / 1–4 张参考图 / 1 段参考视频 → 可漫游 3D 世界,World Labs Marble 四档;全景判定、按原文、随机种子;本地参考图默认上传 World Labs 托管存储,不需要配置对象存储;产物含 GLB 网格 + *.spz 高斯泼溅 + 360 全景图)、空间世界导出(spatialWorld.export,必须经过它才能把世界接给导演台 / 3D 加工 —— spatialWorld 端口严格同类型,不隐式兼容 model;网格模式(默认)出 HQ GLB 并按模型资产登记,可选带贴图 / 顶点色;高斯泼溅模式出 PLY 落在世界同目录同名文件、不登记资产。上游异步最长约 1 小时、限速 4 次/小时、单独计费)、世界元素提取 / 世界元素表格 / 世界元素生成(抽出世界里的角色 / 场景 / 道具 / 武器并逐项出图)image.portrait(图片精修分组),双击节点卡片进入 dive 编辑器:顶部 16 组工具(修复 / 磨皮 / 肤色 / 五官 / 眼睛 / 妆容 / 身形 / 光影 / 调色 / 质感 / 区域 / 背景 / 证件照 / AI 增强 / 预设 / 导出),档位是 关闭 / 轻 / 标准 / 强 / 极强 五档分段按钮,妆面 / 滤镜 / 背景处理 / 证件照规格等走具名选项;编辑器内实时提示词预览(发给模型的原话,可复制)、原图对比(按住 / 可拖中缝的分割对比)、滚轮缩放、Shift+滚轮或 [ ] 旋转视角、空格 / 中键拖拽平移(双击空白复位)与撤销重做。执行只有一条路径:参数合成提示词 → 调用你选的图片模型出图(本地不做像素滤镜),证件照再按规格精确裁切 / 5 寸相纸拼版;上游接多张图时按同一套参数逐张批量出图(上限 24 张),人脸关键点按源图指纹缓存复用,缺依赖的工具组置灰并在悬停提示与参数面板里说明差什么(7 组需要人脸关键点、背景需要实例分割、身形需要姿态模型)。「只处理对应部位」默认开启:模型整图出图后按「脸(含颈)/ 人物 / 手动区域框」的羽化蒙版贴回原图,未请求部位保持原图像素不变;换背景、证件照与调色属整图语义会自动按整图处理,缺关键点或分割模型时对应部分退回整图并在运行日志说明。检查器提供统一「输出预览」(缩略图 / 全屏 / 存资产库 / 多版本点选);编辑器里的 AI 增强(智能消除 / 换背景 / 妆容增强 / 超分)直接调图片模型,结果作为版本存回节点可回滚,下次进面板默认显示当前输出那张图Cache/Videos);方形口 out-shots / out-actions;3D 模型输入端口,dive 自动实例化到舞台;全景图输入自动设为背景;AI 白模搭场景、20+ 种基础几何体、材质贴图覆盖(基础 / 法线贴图)、着色模式与线框模式;视口操控左键选物体 · 中键平移 · 右键环视/第一人称飞行(WASD),转向 / 飞行 / 环绕 / 平移 / 缩放五项灵敏度在视口底部工具栏的浮层里调节(拖动即时生效,默认值等于旧版写死手感)music-3.0)、通义千问(DashScope,含音乐 fun-music-v1)、魔塔(ModelScope)、ComfyUI(API 2:图片 / 视频 / 声音,本机或云端 Base URL)、MagicRouter(聚合网关:文本 / 图片 / 视频)、World Labs(Marble:空间世界生成)、NewAPI(自建中转网关:文本 / 图片,按网关端点元数据自动区分)、Meshy / Tripo / Rodin(Hyper3D) / Luma AI / Lux3D(3D 模型生成,文生 3D / 图生 3D)、自定义提供商(自选 OpenAI 兼容 / Anthropic / Gemini 端点类型,填 Base URL 与 API Key 接 one-api 等中转网关;文本 + 图片,见 NewAPI 教程)POST /openapi/v1/rigging、Tripo POST /v3/animations/rig(可选骨架命名 Mixamo / Tripo 与输出 GLB / FBX);Luma AI / Lux3D 不支持蒙皮,卡片里不会出现riggable + 推荐骨架类型)、动画重定向(Tripo 预设 preset:walk / Meshy 动作库 action_id,面板内可直接拉动作库)、模型拆分(网格分割 / 智能分割,拆完列出部件名)、部件补全、重拓扑(Tripo 智能 / 基础档、Meshy remesh)、贴图(含 Meshy retexture)、格式转换(GLTF / FBX / USDZ / OBJ / STL / 3MF,可带 FBX 预设、pivot 归底、UV 打包、四边面、按部件子集导出)。能力按供应商矩阵过滤 UI:Tripo 支持 8 项、Meshy 支持 5 项,卡片下拉只列能做该动作的供应商,Inspector 按能力位隐藏对面不识的参数;部件补全只吃拆件任务 id、动画重定向只吃绑骨任务 id,task id 属于别家时自动退回「上传模型换公网 URL」err.code + err.cause.code / err.cause.message) 从 Kling 适配器抽到通用 readHttpError,覆盖全部 33 个 provider —— DNS / TCP / TLS 握手前 socket 被断等场景,UI 现在能直接看到 ECONNRESET / UND_ERR_SOCKET 这种稳定标签,便于一眼判断是防火墙断握手还是连接被拒| 类型 | 提供商 | 能力概要 |
|---|---|---|
| 模型 | OpenRouter | 文本 / 图片 / 视频 / 决策 / 语音合成 / 音乐生成(聚合目录,决策走 Decisions API;音乐为 Google Lyria 3,走 /audio/speech) |
| 模型 | OpenAI | 文本 / 图片(需可访问 api.openai.com 的网络与账号) |
| 模型 | DeepSeek | 文本(deepseek-chat / deepseek-reasoner) |
| 模型 | 智谱 | GLM 文本 / CogView 文生图 |
| 模型 | Kimi(月之暗面) | 文本(kimi-k2 系列 / moonshot-v1 系列) |
| 模型 | xAI(Grok) | 文本 / Grok Imagine 图片 / Grok Imagine Video(异步轮询) |
| 模型 | Google(Gemini) | 文本 / Nano Banana 图片 / Veo 3.1 视频(异步轮询,官方 OpenAI 兼容层) |
| 模型 | ElevenLabs | 语音合成(含多说话人对话)/ 音效生成(/v1/sound-generation)/ 音乐生成(/v1/music,music_v2_5 等);走官方 SDK |
| 模型 | vLLM | 本地文本 / 视频(Wan T2V / I2V,OpenAI 兼容,无需 API Key) |
| 模型 | Ollama / LM Studio | 本地文本(OpenAI 兼容,无需 API Key) |
| 模型 | 火山方舟 | 文本 / Seedream 图 / Seedance 视频 / 声音设计 |
| 模型 | 可灵 | 图片 / 视频(API Key) |
| 模型 | MiniMax | 文本 / 图片 / 视频 / 音色设计 / 音乐生成(music-3.0 / music-2.6) |
| 模型 | 通义千问 | 文本(兼容模式)/ 万相图 / 万相视频(含 HappyHorse 等)/ 音乐生成(fun-music-v1 / preview) |
| 模型 | 魔塔 | 文本 / 文生图(访问令牌) |
| 模型 | ComfyUI | 图片 / 视频 / 声音(API 2;本机 8189 或云端 Base URL) |
| 模型 | MagicRouter | 文本 / 图片 / 视频(OpenAI 兼容聚合网关,视频异步轮询) |
| 模型 | World Labs(Marble) | 空间世界生成(文生世界 / 图生世界 / 多图生世界 / 视频生世界,四档模型;产物含 GLB 网格 + 高斯泼溅) |
| 模型 | Meshy | 文生 3D / 图生 3D(含多图生 3D,API Key) |
| 模型 | Tripo | 文生 3D / 图生 3D(API Key) |
| 模型 | Rodin(Hyper3D) | 文生 3D / 图生 3D(API Key) |
| 模型 | Luma AI | 文生 3D / 图生 3D(API Key) |
| 模型 | NewAPI | 文本 / 图片(自建中转网关,填网关地址与令牌;按端点元数据自动区分,见 NewAPI 教程) |
| 模型 | 自定义 | 文本 / 图片(自选端点类型:OpenAI 兼容 / Anthropic / Gemini,填 Base URL 与 API Key,见 NewAPI 教程) |
| 模型 | Lux3D | 文生 3D / 图生 3D(含多图生 3D,G1 / G1-Turbo,API Key) |
| 对象存储 | 火山 TOS / 阿里云 OSS / 腾讯云 COS | 参考媒体上传与签名 URL;设置中互斥启用 |
配置入口:设置 → 模型 / 设置 → 对象存储。本机 ComfyUI 需先装 comfy-api-proxy(默认 8189),不要直连 8188。
用安装包
@ 引用资产让助手直接生成;或按 MCP 接入教程 接入 Claude Code 等外部 Agent完整操作说明见 使用手册(源码在 website/manual.html)。本机 ComfyUI 需先装 comfy-api-proxy(默认 8189),不要直连 8188。
从源码
# GitHub
git clone https://github.com/Justin-sky/ai-art-engine.git
# 或使用 Gitee 国内镜像
git clone https://gitee.com/beijing_blue_whale_era_zhangjian/ai-art-engine.git
cd ai-art-engine
npm install
npm run dev
开发构建需要 Node.js 22+(运行时已内置 Node,用户无需安装)。Electron 下载失败时可:
set ELECTRON_MIRROR=https://cdn.npmmirror.com/binaries/electron/
node node_modules/electron/install.js
npm run typecheck && npm test # 检查
npm run pack # 未封装目录,便于自测
npm run dev 走 scripts/dev-launcher.mjs,它在启动前处理两类会让窗口永不出现的问题(需要原始行为时用 npm run dev:raw):
ELECTRON_RUN_AS_NODE:本应用自带的终端 / dsh 运行时会设这个变量,继承下来会让 Electron 以「纯 Node」模式执行主进程,表现为打印完 start electron app... 就回到命令行并报 Cannot read properties of undefined (reading 'isPackaged')。Mandatory Label\Low(常见于强沙箱的 agent 宿主)时,该标签 ACE 带 (OI)(CI) 可继承标志,工作区内新建文件都会继承「低完整性」;而低完整性的 Electron 无法建立 Chromium 沙箱,会在启动阶段以 0x80000003 中止,不执行任何 JS、不打印任何错误(electron.exe --version 也一样)。启动器先修工作区根目录(Windows 会重新计算子对象的继承 ACE,整棵树一起刷新,因此不必 /T 递归),再单独确认 electron 解包目录。/setintegritylevel 在没有标签时是空操作,所以普通机器上不会改动任何东西。标签问题也可以单独修:
npm run fix:integrity # 重置工作区根目录(+ electron 解包目录)为中等完整性
npm run fix:integrity -- --check # 只查看当前标签,不做修改
两者共用 scripts/lib/integrity-label.mjs / scripts/lib/repair-integrity.mjs,避免逻辑漂移。自动重置失败(权限不足)时会打印手动命令:
icacls "<工作区根目录或 electron 解包目录>" /setintegritylevel M /T /C
# 或者把 electron 解包目录放到工作区之外,再设 ELECTRON_OVERRIDE_DIST_PATH 指向它
website/manual.html)package.json 的 version 为准(SemVer),变更记录见 CHANGELOG.md。package.json 与 CHANGELOG,提交后打 tag 并推送,例如:git tag v5.0.0
git push origin v5.0.0
CI 会校验 tag(去掉 v)与 package.json 一致,再构建并发布 GitHub Release(含 latest.yml 等更新元数据)。
npm run dev)不检查更新。欢迎 Issue 与 Pull Request。提交前建议:
npm run typecheck && npm test
讨论与缺陷跟踪可使用 GitHub Issues 或 Gitee Issues。
npm run site:deploy)publicBaseUrl)346340389 · 647306826Electron · Vue 3 · Pinia · TypeScript · Cordis · Fabric.js · electron-vite · electron-builder
GPL-3.0 — 修改并再分发时,衍生作品需以相同协议开源。
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。当前命中: 无有效分类标签。