🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

免 Token 桌面客户端 hyqibot/DeepSeek-Harness-Token-Free

DeepSeek Harness
hyqibot71 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。

39.4/100
综合分
18
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add hyqibot/DeepSeek-Harness-Token-Free
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · market
装得上吗
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 71 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装

缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装

展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包DeepSeek-Harness-Token-Free(未发布到 npm,仅可源码安装)
✓Node 引擎要求 ^22.19.0 || >=24.0.0 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/30 06:17:15

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 78 处,展示前 78 条)
  • 读取本地文件
    dsh-plugin-desktop/src/bin.ts:36
    const manifest = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')) as { version?: unknown }
  • 执行外部命令来自配置/变量
    dsh-plugin-desktop/src/bin.ts:48
    const child = spawn(electronPath, [mainPath], {
  • 读取本地文件
    dsh-plugin-desktop/src/channel-mobile-http.ts:77
    const html = await readFile(pagePath, 'utf8')
  • 读取本地文件
    dsh-plugin-desktop/src/channel-store.ts:149
    return parseChannelState(await readFile(path, 'utf8'))
  • 读取本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:90
    return lstatSync(filename)
  • 写入本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:99
    mkdirSync(directory, { recursive: true, mode: DIRECTORY_MODE })
  • 读取本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:100
    const stat = lstatSync(directory)
  • 写入本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:104
    chmodSync(directory, DIRECTORY_MODE)
  • 读取本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:109
    const unexpected = readdirSync(directory).filter(entry => !allowed.includes(entry))
  • 读取本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:121
    for (const entry of readdirSync(directory)) {
  • 读取本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:126
    const stat = lstatSync(filename)
  • 删除本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:130
    unlinkSync(filename)
  • 删除本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:137
    unlinkSync(filename)
  • 写入本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:151
    writeFileSync(temporary, contents, { encoding: 'utf8', flag: 'wx', mode })
  • 写入本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:152
    chmodSync(temporary, mode)
  • 写入本地文件
    dsh-plugin-desktop/src/desktop-runtime-environment.ts:153
    renameSync(temporary, filename)
  • 删除本地文件
    dsh-plugin-desktop/src/desktop-terminal.ts:188
    unlinkSync(filename)
  • 写入本地文件
    dsh-plugin-desktop/src/desktop-terminal.ts:198
    writeFileSync(temporary, contents, { encoding: 'utf8', flag: 'wx', mode })
  • 写入本地文件
    dsh-plugin-desktop/src/desktop-terminal.ts:199
    chmodSync(temporary, mode)
  • 写入本地文件
    dsh-plugin-desktop/src/desktop-terminal.ts:200
    renameSync(temporary, filename)
  • 写入本地文件
    dsh-plugin-desktop/src/desktop-terminal.ts:208
    mkdirSync(stateDir, { recursive: true, mode: STATE_DIRECTORY_MODE })
  • 读取本地文件
    dsh-plugin-desktop/src/desktop-terminal.ts:209
    const stat = lstatSync(stateDir)
  • 写入本地文件
    dsh-plugin-desktop/src/desktop-terminal.ts:213
    chmodSync(stateDir, STATE_DIRECTORY_MODE)
  • 读取本地文件
    dsh-plugin-desktop/src/directory-picker-browse.ts:123
    return (await stat(path)).isDirectory()
  • 读取本地文件
    dsh-plugin-desktop/src/electron-runtime.ts:57
    const value: unknown = JSON.parse(readFileSync(new URL('../package.json', moduleUrl), 'utf8'))
  • 发起网络请求
    dsh-plugin-desktop/src/electron-runtime.ts:74
    request: (url, init) => net.fetch(url, init),
  • 发起网络请求
    dsh-plugin-desktop/src/electron-runtime.ts:353
    request: (url, init) => net.fetch(url, init),
  • 执行外部命令来自配置/变量
    dsh-plugin-desktop/src/electron-runtime.ts:399
    child = spawn(installerPath, ['--updated', '--force-run'], {
  • 读取本地文件
    dsh-plugin-desktop/src/hyqi-local-open.ts:148
    if (existsSync(candidate)) return candidate
  • 发起网络请求
    dsh-plugin-desktop/src/main.ts:83
    await shutdown.request(0)
  • 发起网络请求
    dsh-plugin-desktop/src/main.ts:96
    const requestQuit = (code: number): void => { void shutdown.request(code) }
  • 发起网络请求
    dsh-plugin-desktop/src/main.ts:229
    await shutdown.request(exitCode)
  • 发起网络请求
    dsh-plugin-desktop/src/marketplace.ts:97
    const response = await fetch(parsed)
  • 读取本地文件
    dsh-plugin-desktop/src/plugin-toggles.ts:74
    text = await readFile(path, 'utf8')
  • 读取本地文件
    dsh-plugin-desktop/src/profile-manager.ts:176
    for (const entry of readdirSync(profilesDir, { withFileTypes: true })) {
  • 读取本地文件
    dsh-plugin-desktop/src/profile-manager.ts:184
    if (!existsSync(join(dir, PROFILE_MANIFEST_FILENAME))) continue
  • 读取本地文件
    dsh-plugin-desktop/src/profile-manager.ts:248
    return readFileSync(descriptor, 'utf8')
  • 读取本地文件
    dsh-plugin-desktop/src/profile-manager.ts:258
    if (lstatSync(statePath).isSymbolicLink()) {
  • 删除本地文件
    dsh-plugin-desktop/src/profile-manager.ts:281
    unlinkSync(filename)
  • 写入本地文件
    dsh-plugin-desktop/src/profile-manager.ts:290
    mkdirSync(stateDir, { recursive: true, mode: STATE_DIRECTORY_MODE })
  • 读取本地文件
    dsh-plugin-desktop/src/profile-manager.ts:291
    const directoryStat = lstatSync(stateDir)
  • 写入本地文件
    dsh-plugin-desktop/src/profile-manager.ts:295
    chmodSync(stateDir, STATE_DIRECTORY_MODE)
  • 写入本地文件
    dsh-plugin-desktop/src/profile-manager.ts:298
    writeFileSync(temporary, `${JSON.stringify(state, undefined, 2)}\n`, {
  • 写入本地文件
    dsh-plugin-desktop/src/profile-manager.ts:303
    chmodSync(temporary, STATE_FILE_MODE)
  • 写入本地文件
    dsh-plugin-desktop/src/profile-manager.ts:304
    renameSync(temporary, statePath)
  • 读取本地文件
    dsh-plugin-desktop/src/profile.ts:100
    text = readFileSync(spec.filename, 'utf8')
  • 读取本地文件
    dsh-plugin-desktop/src/profile.ts:165
    if (!existsSync(join(dir, 'package.json'))) initProfile(dir, REQUIRED_BUNDLES)
  • 写入本地文件
    dsh-plugin-desktop/src/profile.ts:237
    writeFileSync(rootConfig, '[]\n')
  • 发起网络请求
    dsh-plugin-desktop/src/update-checker.ts:136
    return globalThis.fetch(url, init)
  • 发起网络请求
    dsh-plugin-desktop/src/update-download.ts:113
    response = await options.request(desktopDownloadUrl(platform, version), {
  • 写入本地文件
    dsh-plugin-desktop/src/update-download.ts:142
    await rename(paths.temporary, paths.completed)
  • 读取本地文件
    dsh-plugin-desktop/src/update-download.ts:184
    const userDataStat = await lstat(userDataPath)
  • 删除本地文件
    dsh-plugin-desktop/src/update-download.ts:206
    await unlink(completed)
  • 写入本地文件
    dsh-plugin-desktop/src/update-download.ts:217
    await mkdir(directory, { recursive: true, mode: PRIVATE_DIRECTORY_MODE })
  • 读取本地文件
    dsh-plugin-desktop/src/update-download.ts:218
    const stat = await lstat(directory)
  • 写入本地文件
    dsh-plugin-desktop/src/update-download.ts:222
    await chmod(directory, PRIVATE_DIRECTORY_MODE)
  • 读取本地文件
    dsh-plugin-desktop/src/update-download.ts:227
    return await lstat(filename)
  • 删除本地文件
    dsh-plugin-desktop/src/update-download.ts:357
    await unlink(filename)
  • 执行外部命令固定命令
    dsh-plugin-desktop/src/zero-token-copaw-network.ts:91
    const stdout = execFileSync(
  • 读取本地文件
    dsh-plugin-desktop/src/zero-token-copaw.ts:54
    if (existsSync(beside)) return beside
  • 读取密钥环境变量
    dsh-plugin-desktop/src/zero-token-copaw.ts:63
    const explicit = process.env.CC_HAHA_WEBAUTH_NODE?.trim() || process.env.DSH_ZERO_TOKEN_NODE?.trim()
  • 读取本地文件
    dsh-plugin-desktop/src/zero-token-copaw.ts:70
    if (!existsSync(candidate)) continue
  • 读取本地文件
    dsh-plugin-desktop/src/zero-token-copaw.ts:179
    if (existsSync(shimPath)) args.unshift('--import', pathToFileURL(shimPath).href)
  • 读取密钥环境变量
    dsh-plugin-desktop/src/zero-token-copaw.ts:209
    const explicit = process.env.COPAW_ZERO_TOKEN_PYTHON?.trim()
  • 读取本地文件
    dsh-plugin-desktop/src/zero-token-copaw.ts:216
    if (existsSync(candidate)) return candidate
  • 读取本地文件
    dsh-plugin-desktop/src/zero-token-copaw.ts:572
    await access(path, fsConstants.F_OK)
  • 读取本地文件
    dsh-plugin-desktop/src/zero-token-license.ts:290
    const parsed = JSON.parse(readFileSync(licenseSessionPath(profileDir), 'utf8')) as LicenseSession
  • 删除本地文件
    dsh-plugin-desktop/src/zero-token-license.ts:306
    try { unlinkSync(path) } catch { }
  • 写入本地文件
    dsh-plugin-desktop/src/zero-token-license.ts:310
    mkdirSync(dirname(path), { recursive: true })
  • 写入本地文件
    dsh-plugin-desktop/src/zero-token-license.ts:311
    writeFileSync(path, `${JSON.stringify(session, null, 2)}\n`, 'utf8')
  • 写入本地文件
    dsh-plugin-desktop/src/zero-token-license.ts:321
    mkdirSync(dirname(path), { recursive: true })
  • 写入本地文件
    dsh-plugin-desktop/src/zero-token-license.ts:322
    writeFileSync(path, JSON.stringify({
  • 删除本地文件
    dsh-plugin-desktop/src/zero-token-license.ts:335
    try { unlinkSync(licenseSealPath(profileDir)) } catch { }
  • 读取本地文件
    dsh-plugin-desktop/src/zero-token-webauth.ts:353
    const raw = (await readFile(pidFile, 'utf8')).trim()
  • 写入本地文件
    dsh-plugin-desktop/src/zero-token-webauth.ts:367
    await mkdir(dirname(pidFile), { recursive: true })
  • 写入本地文件
    dsh-plugin-desktop/src/zero-token-webauth.ts:368
    await writeFile(pidFile, `${String(pid)}\n`, 'utf8')
  • 删除本地文件
    dsh-plugin-desktop/src/zero-token-webauth.ts:376
    await rm(pidFile, { force: true }).catch(() => undefined)
  • 读取密钥环境变量
    dsh-plugin-desktop/src/zero-token.ts:485
    } else if (process.env.COPAW_ZERO_TOKEN_KEEPALIVE === '0') {
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

界面预览

1 张 · 点击查看大图

功能亮点

  • 生图生视频免Token
  • 无需API
展开完整介绍(157 字)↓

为 DeepSeek Harness(DSH)生态打造的桌面客户端,完全免 token 费,极简好用,enjoy!内置多模态与顶尖工具链能力的大模型 HYQi(Flash / Image / Video):生图、生视频都免 token 费,无需 API。有疑问可扫 Readme 里的二维码进社区交流,需实名钉钉。

README

由 DeepSeek 最新模型翻译生成
DeepSeek Harness DeepSeek Harness(dsh)是由 DeepSeek AI 开发的开源 agent harness(智能体框架)。 它采用一切皆插件的架构,并由 Cordis 驱动,其设计参见论文 _A Programming Paradigm for Spatiotemporal Composability_。 开发者预览 DeepSeek Harness 目前处于 _开发者预览_ 阶段,正在快速迭代。未来将出现破坏兼容性的变更。 运行 通过 npm 运行 安装 Node.js,然后运行: npx @deepseek-ai/dsh web 该命令会启动 Web UI,默认地址为 http://127.0.0.1:3080。详见 Web UI 指南。 从源码运行 如需从仓库源码运行: git clone https://github.com/deepseek-ai/deepseek-harness.git cd deepseek-harness pnpm install pnpm run build pnpm dsh web 社区与支持 - 欢迎通过 GitHub Discussions 提交反馈或 bug 报告。 - 为你的插件仓库添加 dsh-plugin 话题,便于被发现。
展开完整文档(README 剩余 1 节)
DeepSeek Harness

DeepSeek Harness(dsh)是由 DeepSeek AI 开发的开源 agent harness(智能体框架)。

它采用一切皆插件的架构,并由 Cordis 驱动,其设计参见论文 _A Programming Paradigm for Spatiotemporal Composability_。

开发者预览

DeepSeek Harness 目前处于 _开发者预览_ 阶段,正在快速迭代。未来将出现破坏兼容性的变更。

运行

通过 npm 运行

安装 Node.js,然后运行:

npx @deepseek-ai/dsh web

该命令会启动 Web UI,默认地址为 http://127.0.0.1:3080。详见 Web UI 指南。

从源码运行

如需从仓库源码运行:

git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

社区与支持

- 欢迎通过 GitHub Discussions 提交反馈或 bug 报告。
- 为你的插件仓库添加 dsh-plugin 话题,便于被发现。
- 欢迎加入 DeepSeek Harness 企微群:扫码添加企微小助手并填写入群问卷,完成后小助手会邀请你入群。

企微小助手入群问卷微信公众号

参与贡献

参见 CONTRIBUTING.md。

开发

请先阅读开发指南与架构文档。

面向 agent:请遵循 AGENTS.md。

许可证

MIT

第三方依赖及其许可证见 THIRD_PARTY_NOTICES.md。
预览分享卡片长什么样 ↓hyqibot/DeepSeek-Harness-Token-Free
分享 · DeepSeek Harness Hub
hyqibot/DeepSeek-Harness-Token-Free

DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。

回到顶部