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

企业智能体平台 picoaide/picoaide-harness

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

PicoAide Harness:企业级 DeepSeek Harness 一体化平台。桌面客户端 + 本地智能体引擎…

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · dev
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 16 天前
档位由哪些信号合成

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

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

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

展开查看检查明细 ↓

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

✗npm 包picoaide-harness(未发布到 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 04:31:52

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

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

可执行外部命令读写/删除本地文件发起外部网络请求
查看扫描证据(共 67 处,展示前 51 条)
  • 读取本地文件
    integration-tests/electron-shots/electron-shots.mjs:309
    if (!existsSync(APP)) {
  • 读取本地文件
    integration-tests/electron-shots/electron-shots.mjs:321
    const usable = socket !== undefined && existsSync(socket) && statSync(socket).isSocket()
  • 读取本地文件
    integration-tests/electron-shots/electron-shots.mjs:321
    const usable = socket !== undefined && existsSync(socket) && statSync(socket).isSocket()
  • 发起网络请求
    integration-tests/electron-shots/electron-shots.mjs:333
    const response = await fetch(new URL('/healthz', SERVER), { signal: AbortSignal.timeout(5000) })
  • 写入本地文件
    integration-tests/electron-shots/electron-shots.mjs:357
    mkdirSync(RUN_HOME, { recursive: true })
  • 写入本地文件
    integration-tests/electron-shots/electron-shots.mjs:365
    mkdirSync(SHOTS, { recursive: true })
  • 读取本地文件
    integration-tests/electron-shots/electron-shots.mjs:370
    const manifest = JSON.parse(readFileSync(join(PACKAGE_ROOT, 'node_modules', 'electron', 'package.json'), 'utf8'))
  • 发起网络请求
    integration-tests/electron-shots/electron-shots.mjs:438
    observed = await (await fetch(`http://127.0.0.1:${port}/json/list`, { signal: AbortSignal.timeout(5000) })).json()
  • 读取本地文件
    integration-tests/electron-shots/electron-shots.mjs:470
    try { entries = readdirSync(homeDir, { recursive: true, withFileTypes: true }) } catch { return undefined }
  • 读取本地文件
    integration-tests/electron-shots/electron-shots.mjs:475
    const [portLine, browserPath] = readFileSync(file, 'utf8').split('\n')
  • 删除本地文件递归
    integration-tests/electron-shots/electron-shots.mjs:496
    try { rmSync(RUN_HOME, { recursive: true, force: true }) } catch { }
  • 删除本地文件递归
    integration-tests/electron-shots/electron-shots.mjs:509
    try { rmSync(RUN_HOME, { recursive: true, force: true }) } catch { }
  • 写入本地文件
    integration-tests/electron-shots/electron-shots.mjs:516
    writeFileSync(file, Buffer.from(data, 'base64'))
  • 写入本地文件
    integration-tests/electron-shots/electron-shots.mjs:639
    appendFileSync(APP_LOG, `[channel] 找不到 app.asar(候选: ${candidates.join(', ')})—— 包内渠道配置读不出来\n`)
  • 写入本地文件
    integration-tests/electron-shots/electron-shots.mjs:658
    appendFileSync(APP_LOG, `[channel] 读包内渠道配置失败: ${message}\n`)
  • 发起网络请求
    integration-tests/electron-shots/electron-shots.mjs:669
    const response = await fetch(new URL('/api/client/v2/channel', SERVER), { signal: AbortSignal.timeout(5000) })
  • 发起网络请求
    integration-tests/electron-shots/electron-shots.mjs:694
    const response = await fetch(new URL('/api/client/v2/auth/methods', SERVER), { signal: AbortSignal.timeout(5000) })
  • 发起网络请求
    integration-tests/electron-shots/electron-shots.mjs:760
    const version = await (await fetch(`http://127.0.0.1:${port}/json/version`, { signal: AbortSignal.timeout(5000) })).json()
  • 执行外部命令来自配置/变量
    integration-tests/electron-shots/electron-shots.mjs:834
    const app = spawn(APP, ['--no-sandbox', `--remote-debugging-port=${REQUESTED_CDP_PORT}`], {
  • 写入本地文件
    integration-tests/electron-shots/electron-shots.mjs:858
    try { appendFileSync(APP_LOG, text) } catch { }
  • 读取本地文件
    server/webadmin/src/api-type-disclosure.test.ts:45
    const apiSource = readFileSync(resolve(here, 'api.ts'), 'utf8')
  • 发起网络请求
    server/webadmin/src/api.ts:89
    const res = await fetch(`${ADMIN_API}/me`, { headers: { accept: 'application/json' } })
  • 发起网络请求
    server/webadmin/src/api.ts:133
    const res = await fetch(path, { ...init, headers })
  • 发起网络请求
    server/webadmin/src/api.ts:188
    const res = await fetch(`${ADMIN_API}/login`, {
  • 发起网络请求
    server/webadmin/src/api.ts:207
    const res = await fetch(`${ADMIN_API}/login/mfa`, {
  • 读取本地文件
    server/webadmin/src/lib/capability-endpoints.spec.ts:61
    if (existsSync(join(dir, 'internal', 'router', 'router.go'))) return dir
  • 读取本地文件
    server/webadmin/src/lib/capability-endpoints.spec.ts:62
    if (existsSync(join(dir, 'server', 'internal', 'router', 'router.go'))) return join(dir, 'server')
  • 读取本地文件
    server/webadmin/src/lib/capability-endpoints.spec.ts:83
    if (!existsSync(f)) {
  • 读取本地文件
    server/webadmin/src/lib/capability-endpoints.spec.ts:167
    const ROUTER = codeOnly(readFileSync(ROUTER_GO, 'utf8'))
  • 读取本地文件
    server/webadmin/src/lib/capability-endpoints.spec.ts:184
    const discovered = (readdirSync(ROUTER_PKG_DIR, { recursive: true }) as string[])
  • 读取本地文件
    server/webadmin/src/lib/capability-endpoints.spec.ts:189
    .filter((path) => /AdminRoute\(/u.test(codeOnly(readFileSync(join(ROUTER_PKG_DIR, path), 'utf8'))))
  • 发起网络请求
    server/webadmin/src/lib/channel.ts:47
    inflight ??= fetch(`${CLIENT_API}/channel`, { headers: { accept: 'application/json' }, cache: 'no-store' })
  • 读取本地文件
    server/webadmin/src/lib/dirsync-doc-parity.spec.ts:30
    existsSync(join(dir, 'site', 'src', 'content', 'docs', 'admin.md'))
  • 读取本地文件
    server/webadmin/src/lib/dirsync-doc-parity.spec.ts:31
    && existsSync(join(dir, 'server', 'internal', 'serverauth', 'dirsync.go'))
  • 读取本地文件
    server/webadmin/src/lib/dirsync-doc-parity.spec.ts:50
    expect(existsSync(file), `文档真源不可读:${file}`).toBe(true)
  • 读取本地文件
    server/webadmin/src/lib/dirsync-doc-parity.spec.ts:51
    const text = readFileSync(file, 'utf8')
  • 读取本地文件
    server/webadmin/src/lib/dirsync-doc-parity.spec.ts:59
    const src = readFileSync(DIRSYNC_GO, 'utf8')
  • 读取本地文件
    server/webadmin/src/lib/dsn.corpus.test.ts:47
    const parsed = JSON.parse(readFileSync(CORPUS_PATH, 'utf8')) as { cases: CorpusCase[] }
  • 读取本地文件
    server/webadmin/src/lib/features.test.ts:42
    if (existsSync(join(dir, 'src', 'App.tsx'))) return join(dir, 'src', 'App.tsx')
  • 读取本地文件
    server/webadmin/src/lib/features.test.ts:43
    if (existsSync(join(dir, 'webadmin', 'src', 'App.tsx'))) return join(dir, 'webadmin', 'src', 'App.tsx')
  • 读取本地文件
    server/webadmin/src/lib/features.test.ts:50
    const APP_SRC = readFileSync(APP_PATH, 'utf8')
  • 读取本地文件
    server/webadmin/src/lib/nav.test.ts:52
    if (existsSync(join(dir, 'internal', 'serverauth', 'rbac.go'))) {
  • 读取本地文件
    server/webadmin/src/lib/nav.test.ts:55
    if (existsSync(join(dir, 'server', 'internal', 'serverauth', 'rbac.go'))) {
  • 读取本地文件
    server/webadmin/src/lib/nav.test.ts:72
    if (existsSync(join(dir, 'src', 'lib', 'rbac.ts'))) return join(dir, 'src', 'lib', 'rbac.ts')
  • 读取本地文件
    server/webadmin/src/lib/nav.test.ts:73
    if (existsSync(join(dir, 'webadmin', 'src', 'lib', 'rbac.ts'))) {
  • 读取本地文件
    server/webadmin/src/lib/nav.test.ts:82
    const RBAC_GO = readFileSync(RBAC_GO_PATH, 'utf8')
  • 读取本地文件
    server/webadmin/src/lib/nav.test.ts:84
    const RBAC_TS = readFileSync(RBAC_TS_PATH, 'utf8')
  • 读取本地文件
    server/webadmin/src/lib/routes.test.ts:51
    if (existsSync(join(dir, 'src', 'App.tsx'))) return join(dir, 'src', 'App.tsx')
  • 读取本地文件
    server/webadmin/src/lib/routes.test.ts:52
    if (existsSync(join(dir, 'webadmin', 'src', 'App.tsx'))) return join(dir, 'webadmin', 'src', 'App.tsx')
  • 读取本地文件
    server/webadmin/src/lib/routes.test.ts:59
    const APP_SRC = readFileSync(APP_PATH, 'utf8')
  • 读取本地文件
    server/webadmin/src/lib/routes.test.ts:268
    expect(existsSync(APP_PATH), `路由真源不可读:${APP_PATH}`).toBe(true)
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库

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

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

界面预览

6 张 · 点击查看大图

功能亮点

  • 桌面客户端
  • 本地智能体引擎
  • 管理后台

README

由 DeepSeek 最新模型翻译生成
PicoAide Harness 中文入口 这是旧链接的兼容入口。当前中文产品 README 是 README.md,完整文档索引在 docs/README.md。 本文件不再复制一份独立的产品说明,也不代表上游 deepseek-harness 项目的 README;上游项目的文档位于固定的 deepseek-harness/ 子模块中。
预览分享卡片长什么样 ↓picoaide/picoaide-harness
分享 · DeepSeek Harness Hub
picoaide/picoaide-harness

PicoAide Harness:企业级 DeepSeek Harness 一体化平台。桌面客户端 + 本地智能体引擎…

这是你的仓库?认领条目

回到顶部