在浏览器里创建和管理 AI 智能体工作空间
35/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
该插件未发布到 npm,按作者文档从 GitHub 源安装即可(静态检查只覆盖 npm 路径,不代表插件不可用)。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add GrgChain/deepseek-harness-cloud该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · browser
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 8 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/27) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装engines.node 要求 >=24 <25,不满足 Node 22.19.0;安装清单取自 infrastructure/plugins/mem0/package.json
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包@harness-cloud/dsh-mem0-memory(未发布到 npm,仅可源码安装)
✗Node 引擎要求 >=24 <25 · 基线 Node 22.19 不满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/3 19:28:39
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 17 处,展示前 17 条)
- 发起网络请求apps/tooling/local-access.test.ts:21
const stream = session.request({ ':path': '/' }); let body = ''; let cookies: unknown; - 读取本地文件apps/tooling/pdf-assets.ts:8
const { version } = JSON.parse(readFileSync(new URL('package.json', directory), 'utf8')) as { version: string }; - 读取本地文件apps/tooling/pdf-assets.ts:10
readdirSync(new URL(`${folder}/`, directory)).map(name => ({ - 读取本地文件apps/tooling/pdf-assets.ts:12
source: readFileSync(fileURLToPath(new URL(`${folder}/${name}`, directory))), - 执行外部命令固定命令infrastructure/network/docker-integration.test.mjs:13
const child = spawn('docker', ['run', '--rm', '-i', '--network', 'host', '--cap-drop', 'ALL', '--cap-add', 'NET_ADMIN', '--read-only', process.env.HC_ - 执行外部命令固定命令infrastructure/network/docker-integration.test.mjs:39
const child=spawn('docker',['run','--rm','-i','--network','host','--cap-drop','ALL','--cap-add','NET_ADMIN','--read-only',process.env.HC_NETWORK_IMAGE - 发起网络请求infrastructure/runtime/external-model.mjs:51
request = https.get(config.endpoint + '/v1/models?scope=provider-account', { agent, signal: AbortSignal.timeout(10000), headers: { Authorization: 'Bea - 发起网络请求infrastructure/runtime/external-model.mjs:85
request = https.request(config.endpoint + '/v1/messages?scope=provider-account', { method: 'POST', agent, signal, headers: { Authorization: 'Bearer ' - 写入本地文件infrastructure/runtime/private-file.mjs:13
try { await rename(temp, path); const parent = await open(dirname(path), 'r'); try { await parent.sync(); } finally { await parent.close(); } } catch - 删除本地文件infrastructure/runtime/private-file.mjs:13
try { await rename(temp, path); const parent = await open(dirname(path), 'r'); try { await parent.sync(); } finally { await parent.close(); } } catch - 读取本地文件infrastructure/runtime/private-file.mjs:15
export async function privateDirectory(path) { const info = await lstat(path); if (!info.isDirectory() || info.isSymbolicLink() || (info.mode & 0o077) - 写入本地文件infrastructure/runtime/start.mjs:16
await mkdir(join(dataDirectory, 'workspace'), { recursive: true, mode: 0o700 }); - 写入本地文件infrastructure/runtime/start.mjs:17
await mkdir(join(dataDirectory, 'dsh'), { recursive: true, mode: 0o700 }); - 删除本地文件infrastructure/runtime/start.mjs:20
await unlink(join(runDirectory, 'native.json')).catch(error => { if (error.code !== 'ENOENT') throw error; }); - 执行外部命令来自配置/变量infrastructure/runtime/start.mjs:33
const child = spawn(process.execPath, [cli, 'web', '--patch', prepared.patchPath, '--host', addresses[0].address, '--port', '3080', '--no-open', '--pu - 执行外部命令固定命令infrastructure/storage/docker-integration.test.mjs:19
const child = spawn('docker', ['run', '--rm', '-i', '--network', 'none', '--privileged', '--read-only', '--tmpfs', '/mnt:rw,nosuid,nodev,size=1m', '-- - 删除本地文件递归infrastructure/storage/docker-integration.test.mjs:31
await rm(root, { recursive: true, force: true });
扫描于 2026/11/2(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
自托管平台,用于 DeepSeek Harness,提供基于浏览器的 AI 智能体工作区、模型管理、技能、记忆、知识库和 MCP 连接器。
README
由 DeepSeek 最新模型翻译生成DeepSeek Harness Cloud
通过浏览器创建和使用 DeepSeek Harness 工作空间,统一管理模型、资源和持久数据。
当前版本 V0.1,面向单组织、可信内部团队,使用 Docker 单机部署。验收进度见测试验收。
功能概览 · 本地开发 · 工程结构 · 文档入口
功能概览
- 工作空间:选择 CPU、内存、存储和模型服务商,支持创建、进入、启停及删除。
- 模型管理:管理个人服务商账号、密钥、允许使用的模型及默认模型,通过 Go 模型网关接入官方或兼容服务。
- 工作数据:保留工作目录与 DSH 数据,浏览 /data/workspace 和 /data/dsh,支持文件预览、Office / PDF 预览及下载;已删除工作空间的数据可单独永久释放。
- 技能包:工作台个人技能库,支持编辑、Markdown / ZIP 导入导出和公开链接同步。
- 记忆与知识库:在工作台维护、迁移和检索个人内容,外接 OpenViking / Mem0 / Graphiti 与 Milvus / Weaviate / Qdrant。独立服务部署。
- 连接器:管理个人 MCP 连接、OAuth 授权、工具选择及手动调用;企查查完整聚合与真实厂商验收进度见实施说明。
- 原生扩展:启停内置插件、安装第三方 DSH 组合包、保存智能体预设。
展开完整文档(README 剩余 1 节)
DeepSeek Harness Cloud 通过浏览器创建和使用 DeepSeek Harness 工作空间,统一管理模型、资源和持久数据。 当前版本 V0.1,面向单组织、可信内部团队,使用 Docker 单机部署。验收进度见测试验收。 功能概览 · 本地开发 · 工程结构 · 文档入口 功能概览 - 工作空间:选择 CPU、内存、存储和模型服务商,支持创建、进入、启停及删除。 - 模型管理:管理个人服务商账号、密钥、允许使用的模型及默认模型,通过 Go 模型网关接入官方或兼容服务。 - 工作数据:保留工作目录与 DSH 数据,浏览 /data/workspace 和 /data/dsh,支持文件预览、Office / PDF 预览及下载;已删除工作空间的数据可单独永久释放。 - 技能包:工作台个人技能库,支持编辑、Markdown / ZIP 导入导出和公开链接同步。 - 记忆与知识库:在工作台维护、迁移和检索个人内容,外接 OpenViking / Mem0 / Graphiti 与 Milvus / Weaviate / Qdrant。独立服务部署。 - 连接器:管理个人 MCP 连接、OAuth 授权、工具选择及手动调用;企查查完整聚合与真实厂商验收进度见实施说明。 - 原生扩展:启停内置插件、安装第三方 DSH 组合包、保存智能体预设。 - 平台管理:内置登录与账号管理、角色权限、实例 / CPU / 内存 / 存储四类额度及操作日志。 停止释放计算资源,停止或软删除仍保留数据并计入存储额度。备份、恢复和回收规则见存储数据管理。 本地开发 环境准备 需要 Go 1.27.2、Node.js 24.x、npm、Docker Engine 和 Docker Compose。 在仓库根目录执行,初始化本地依赖并启动 API 与内置身份服务: npm ci --prefix apps make dev-init make auth-init make infra-up make migrate make auth-apply make run-auth 在另一终端启动控制台: make portal 打开控制台登录。API 默认监听 http://127.0.0.1:18080,健康检查为 /livez 和 /readyz。 | 本地账号 | 密码文件 | | admin@harness.local | .local/auth/admin-password | | member@harness.local | .local/auth/member-password | 随机密码、密钥和本机配置保存在忽略提交的 .local/。初始化命令拒绝覆盖已有文件;make infra-stop 停止数据库与 Redis 并保留数据卷。 启用工作空间 以上步骤启动控制台与身份服务。创建和进入工作空间,还需配置运行镜像、Terraform 模板、持久存储、Worker、访问入口和模型网关,完整步骤见部署运维。 启用实例访问入口后,控制台地址为 portal.harness.localhost:42013。本地开发需信任 .local/auth/cert.pem,以访问新建实例的独立站点。 配置完成后,管理员在「平台配置」设置默认资源和系统上限,成员在「模型服务商」添加账号并完成校验,即可创建工作空间。 常用命令 | 命令 | 用途 | | make portal | 启动前端开发服务 | | make check | 格式、静态检查与 TypeScript 类型检查 | | make test | 运行单元测试与 Go 竞态检查 | | make build | 构建后端与控制台 | | make ci | 依次执行检查、测试与构建 | | make portal-preview | 预览已构建的控制台,需先执行 make build | 数据库集成测试、浏览器测试和真实运行验收见测试验收。 工程结构 后端采用 Go、PostgreSQL、Redis;前端采用 React、TypeScript、Vite 和 Ant Design。 apps/ 浏览器控制台与前端测试 services/ API、Worker、访问网关、模型网关及 hcctl 运维工具 infrastructure/ DSH 运行适配、Terraform 模板、存储与网络执行器 db/ 数据结构与版本化迁移 deploy/ 本地依赖部署配置 docs/ 需求、架构、部署与验收文档 文档入口 文档总览提供阅读顺序和各文档的维护范围。 | 主题 | 文档 | | 产品与流程 | 功能需求 | | 架构与实现 | 系统设计 · 后端 · 前端 | | 接口与数据 | 接口说明 · OpenAPI · 数据设计 | | 部署与安全 | 部署运维 · 安全设计 | | 验证与决策 | 测试验收 · 架构决策 | | 记忆与知识库 | 实施记录 · 独立服务部署 | | 连接器与 OAuth | 实施说明 · 部署与复验 · 实网检查 | 许可证 原有代码的许可见 LICENSE。含 Coder 衍生代码的组合程序适用 AGPL-3.0-only,复用范围与许可边界见 ADR-01。发布网络服务时,应提供对应源码及构建安装材料。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
GrgChain/deepseek-harness-cloud
在浏览器里创建和管理 AI 智能体工作空间
相关插件 · 浏览器
智能体插件框架deepseek-ai/deepseek-harness
DeepSeek Harnessdsh是由 DeepSeek AI 开发的开源 agent harness智能体框架。
★ 270,422已汉化DSH
71.9
多设备 Agent 看板YaoApp/yao
✨ 所有 Agent 和工作区集中管理,覆盖你的每一台设备。任务看板追踪进度,桌面端、移动端、浏览器、API…
★ 8,147已汉化DSH
71.2
可扩展侧边栏工作台omdsh-dev/DSH-better-sidebar
DSH 的双工作台:原生右侧栏 + 自绘底部面板,并把 ctx.betterSidebar 服务开放给所有插件
★ 4,761已汉化DSH
71.1
浏览器自动化桥Tencent/BrowserSkill
你的 Agent。你的浏览器。连接,就能协作。
★ 9,928已汉化DSH
71
AI 小说创作工作台EthanYoQ/AI-Novel-Writer
AI 小说作家 / AI Novel Writer
★ 1,591已汉化DSH
70.7
智能体浏览器引擎platonai/Browser4
DeepSeek Harness 集成
★ 1,175已汉化DSH
70.4
这是你的仓库?认领条目