让 DeepSeek Harness 按照 AlphaSolve 的流程研究数学问题:尝试证明、独立检查、反复修改。
36.2/100
综合分
5
GitHub 星标
27
npm 周下载
—/5
用户评分
数据截至 2026/11/3 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:engines.node 要求 >=24.9.0,不满足 Node 22.19.0。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add dxww123/dsh-alphasolve该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · market
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 3 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装engines.node 要求 >=24.9.0,不满足 Node 22.19.0
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-alphasolve @ 0.4.0
✗Node 引擎要求 >=24.9.0 · 基线 Node 22.19 不满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/1 20:26:35
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件
查看扫描证据(共 324 处,展示前 119 条)
- 读取本地文件lib/index.js:147
text = await readFile(path, "utf8"); - 读取本地文件lib/index.js:373
canonical = await realpath(cwd); - 读取本地文件lib/index.js:374
if (!(await stat(canonical)).isDirectory()) throw new WorkspaceError("session cwd is not a directory", cwd); - 读取本地文件lib/index.js:386
await lstat(cursor); - 读取本地文件lib/index.js:403
canonicalRoot = await realpath(root); - 读取本地文件lib/index.js:404
if (!(await stat(canonicalRoot)).isDirectory()) throw new WorkspaceError("workspace root is not a directory", root); - 写入本地文件lib/index.js:488
await mkdir(path, { - 写入本地文件lib/index.js:827
await mkdir(mutationDirectory, { - 写入本地文件lib/index.js:1119
await mkdir(resolved.absolute, { mode: 448 }); - 写入本地文件lib/index.js:1250
async mkdir(relativePath) { - 写入本地文件lib/index.js:1268
async rename(directory, oldName, newName) { - 写入本地文件lib/index.js:1294
await rename(currentSource.absolute, currentTarget.absolute); - 删除本地文件lib/index.js:1414
await unlink(createdPath); - 删除本地文件lib/index.js:1452
await rmdir(current.absolute); - 删除本地文件lib/index.js:1457
else if (info.isFile()) await unlink(current.absolute); - 删除本地文件lib/index.js:2214
await unlink(lockPath); - 删除本地文件lib/index.js:2227
await unlink(claimPath); - 删除本地文件lib/index.js:2276
await unlink(lockPath); - 删除本地文件lib/python.js:201
else await rm(directory, { - 删除本地文件lib/python.js:215
await rm(kernel.directory, { - 读取本地文件src/atomic.ts:32
text = await readFile(path, 'utf8') - 读取本地文件src/config.ts:39
info = await lstat(path) - 读取本地文件src/config.ts:48
canonical = await realpath(path) - 读取本地文件src/config.ts:56
text = await readFile(path, 'utf8') - 读取本地文件src/curator-session.ts:21
const info = await lstat(file) - 读取本地文件src/curator-session.ts:23
return identitySchema.parse(JSON.parse(await readFile(file, 'utf8'))) - 写入本地文件src/curator-session.ts:38
await mkdir(directory, { recursive: true, mode: 0o700 }) - 读取本地文件src/curator-session.ts:39
if (await realpath(directory) !== path.join(workspace, '.alphasolve', 'curator')) { - 读取本地文件src/curator-tools.ts:396
realpath(knowledgeRoot), - 读取本地文件src/curator-tools.ts:397
realpath(referencesRoot), - 读取本地文件src/curator-tools.ts:400
stat(canonicalKnowledge), - 读取本地文件src/curator-tools.ts:401
stat(canonicalReferences), - 写入本地文件src/curator-tools.ts:410
await mkdir(mutationDirectory, { recursive: true, mode: 0o700 }) - 读取本地文件src/curator-tools.ts:411
const canonicalMutationDirectory = await realpath(mutationDirectory) - 读取本地文件src/curator-tools.ts:418
const info = await lstat(journalPath) - 写入本地文件src/curator-tools.ts:780
await mkdir(resolved.absolute, { mode: 0o700 }) - 写入本地文件src/curator-tools.ts:947
async mkdir(relativePath: string): Promise<{ readonly path: string }> { - 写入本地文件src/curator-tools.ts:999
await renameFile(currentSource.absolute, currentTarget.absolute) - 写入本地文件src/curator-tools.ts:1062
await renameFile(currentSource.absolute, currentTarget.absolute) - 删除本地文件src/curator-tools.ts:1153
try { await unlink(createdPath) } catch { } - 删除本地文件src/curator-tools.ts:1199
await rmdir(current.absolute) - 删除本地文件src/curator-tools.ts:1207
await unlink(current.absolute) - 读取本地文件src/curator.ts:177
const canonicalTraces = await realpath(tracesDirectory) - 读取本地文件src/curator.ts:185
info = await lstat(absolute) - 读取本地文件src/curator.ts:192
const canonical = await realpath(absolute) - 读取本地文件src/curator.ts:222
info = await lstat(queuePath) - 读取本地文件src/curator.ts:230
const canonicalQueue = await realpath(queuePath) - 写入本地文件src/curator.ts:301
await mkdir(curatorDirectory, { recursive: true, mode: 0o700 }) - 读取本地文件src/curator.ts:302
const canonicalDirectory = await realpath(curatorDirectory) - 读取本地文件src/lock.ts:119
info = await lstat(path) - 读取本地文件src/lock.ts:126
return parseLock(await readFile(path, 'utf8'), path) - 读取本地文件src/lock.ts:173
const stat = parseProcStat(readFileSync(`/proc/${pid}/stat`, 'utf8'), pid) - 读取本地文件src/lock.ts:174
const status = readFileSync(`/proc/${pid}/status`, 'utf8') - 读取本地文件src/lock.ts:180
bootId = readFileSync('/proc/sys/kernel/random/boot_id', 'utf8').trim() || undefined - 读取本地文件src/lock.ts:225
lstat(firstPath, { bigint: true }), - 删除本地文件src/lock.ts:276
await unlink(lockPath) - 写入本地文件src/lock.ts:282
await rename(claimPath, stalePath) - 删除本地文件src/lock.ts:292
await unlink(claimPath) - 删除本地文件src/lock.ts:360
await unlink(lockPath) - 删除本地文件src/lock.ts:371
await unlink(lockPath) - 读取本地文件src/permissions.ts:391
const canonicalAncestor = await realpath(cursor) - 读取本地文件src/permissions.ts:396
const entry = await lstat(cursor) - 读取本地文件src/project-tools.ts:189
lstat(knowledgePath), - 读取本地文件src/project-tools.ts:190
lstat(referencesPath), - 读取本地文件src/project-tools.ts:191
lstat(verifiedPath), - 读取本地文件src/project-tools.ts:197
realpath(knowledgePath), - 读取本地文件src/project-tools.ts:198
realpath(referencesPath), - 读取本地文件src/project-tools.ts:199
realpath(verifiedPath), - 写入本地文件src/project-tools.ts:333
await mkdir(resolved.absolute, { mode: 0o700 }) - 写入本地文件src/project-tools.ts:346
async mkdir(relativePath: string): Promise<{ readonly path: string }> { - 写入本地文件src/project-tools.ts:437
await renamePath(target.absolute, source.absolute) - 写入本地文件src/project-tools.ts:507
await renamePath(source.absolute, target.absolute) - 读取本地文件src/prompts.ts:26
return readFileSync(new URL(`../prompts/${name}.md`, import.meta.url), "utf8").trim() - 删除本地文件递归src/python-runtime.ts:197
else await rm(directory, { recursive: true, force: true }) - 删除本地文件递归src/python-runtime.ts:209
await rm(kernel.directory, { recursive: true, force: true, maxRetries: 3, retryDelay: 100 }) - 读取本地文件src/research-tools.ts:337
const info = await lstat(absolute) - 读取本地文件src/research-tools.ts:351
const children = await readdir(absolute, { withFileTypes: true }) - 读取本地文件src/role-service.ts:691
const decoded = JSON.parse(await readFile(tracePath, 'utf8')) as unknown - 读取本地文件src/runtime.ts:309
return await lstat(file) - 写入本地文件src/runtime.ts:360
await mkdir(backup, { mode: 0o700 }) - 写入本地文件src/runtime.ts:363
await rename(completions, path.join(backup, 'completions')) - 写入本地文件src/runtime.ts:364
await mkdir(completions, { mode: 0o700 }) - 写入本地文件src/runtime.ts:367
await rename(workers, path.join(backup, 'workers')) - 写入本地文件src/runtime.ts:368
await mkdir(workers, { mode: 0o700 }) - 写入本地文件src/runtime.ts:372
if (await optionalLstat(queue) !== undefined) await rename(queue, path.join(backup, 'curator-queue.json')) - 读取本地文件src/scoped-glob.ts:54
try { entry = await stat(path.resolve(access.cwd, root)) } catch (error) { - 读取本地文件src/scoped-glob.ts:72
const info = await stat(path.resolve(access.cwd, file)) - 读取本地文件src/solution.ts:119
rootInfo = await lstat(lexicalRoot) - 读取本地文件src/solution.ts:131
return realpath(lexicalRoot) - 读取本地文件src/solution.ts:145
canonicalPath = await realpath(lexicalPath) - 读取本地文件src/solution.ts:158
const info = await stat(canonicalPath) - 读取本地文件src/solution.ts:203
const content = await readFile(canonicalPath, "utf8") - 写入本地文件src/solution.ts:253
await mkdir(targetDirectory, { recursive: true }) - 写入本地文件src/solution.ts:254
await mkdir(tempDirectory, { recursive: true }) - 读取本地文件src/solution.ts:257
stat(targetDirectory), - 写入本地文件src/solution.ts:280
await rename(temporary, target) - 删除本地文件src/solution.ts:284
await unlink(temporary) - 删除本地文件src/solution.ts:290
await unlink(temporary).catch(() => undefined) - 读取本地文件src/store.ts:402
const info = await lstat(manifestPath) - 读取本地文件src/store.ts:423
const info = await lstat(manifestPath) - 读取本地文件src/store.ts:441
const entries = await readdir(directory, { withFileTypes: true }) - 读取本地文件src/store.ts:510
const entries = await readdir(directory, { withFileTypes: true }) - 读取本地文件src/store.ts:607
await lstat(path) - 读取本地文件src/store.ts:626
const entries = await readdir(dir, { withFileTypes: true }) - 读取本地文件src/workflow-observation.ts:45
view = parseAlphaSolveWorkflowView(JSON.parse(await readFile(file, 'utf8'))) - 读取本地文件src/workflow.ts:293
await lstat(path.join(paths.verifiedDir, filename)) - 写入本地文件src/workflow.ts:311
await mkdir(root, { recursive: false, mode: 0o700 }) - 写入本地文件src/workflow.ts:321
await copyFile(paths.propositionPath, candidatePath) - 删除本地文件递归src/workflow.ts:329
await rm(root, { recursive: true, force: true }) - 删除本地文件src/workflow.ts:477
await unlink(target) - 写入本地文件src/workflow.ts:489
await mkdir(paths.workerDirectory, { recursive: false, mode: 0o700 }) - 删除本地文件递归src/workflow.ts:604
await rm(candidateView.root, { recursive: true, force: true }) - 读取本地文件src/workspace.ts:68
canonical = await realpath(cwd) - 读取本地文件src/workspace.ts:69
const info = await stat(canonical) - 读取本地文件src/workspace.ts:83
await lstat(cursor) - 读取本地文件src/workspace.ts:105
canonicalRoot = await realpath(root) - 读取本地文件src/workspace.ts:106
if (!(await stat(canonicalRoot)).isDirectory()) throw new WorkspaceError('workspace root is not a directory', root) - 读取本地文件src/workspace.ts:116
const canonical = await realpath(target) - 写入本地文件src/workspace.ts:201
await mkdir(path, { recursive: true, mode: 0o700 })
扫描于 2026/11/3(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/cordis-plugin-loader@deepseek-ai/dsh-agent@deepseek-ai/dsh-agent-loop@deepseek-ai/dsh-agent-loop-testkit@deepseek-ai/dsh-agent-preset@deepseek-ai/dsh-agent-preset-registry@deepseek-ai/dsh-api-gateway@deepseek-ai/dsh-api-remotes@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-api-workspace-files给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 按流程研究数学问题
- 尝试证明与独立检查
- 反复修改
DeepSeek Harness 的会话级 AlphaSolve 工作流
README
由 DeepSeek 最新模型翻译生成AlphaSolve for DSH
让 DeepSeek Harness 按照 AlphaSolve 的流程研究数学问题:尝试证明、独立检查、反复修改。
安装
以下 npm 安装步骤适用于已发布的 dsh-alphasolve@0.4.0 和 DSH 0.2.0-rc.2。当前源码面向 DSH 0.2.2-alpha.2,对应兼容性说明记录的源码提交;相关改动尚未发布到 npm。请使用 Node.js 24.9 或更新版本和 native 工具执行器,并从源码构建两个仓库后本地安装。
1. 安装 DeepSeek Harness 官方桌面端 0.2.0-rc.2,配置好可用的模型。
2. 在插件管理中选择「添加插件」,输入 dsh-alphasolve 并安装,选择「立即启用」,按提示重启。
3. 按照首次计算环境准备配置 Python/SymPy。桌面端自带 Python,但安装插件不会自动安装 SymPy。
npm 安装不需要 GitHub 账号,也不需要下载源码、自己编译。已安装旧包 @dsh-external/dsh-alphasolve 的用户,请先按升级说明替换旧包。
开始求解
1. 新建一个文件夹,把题目写进 problem.md;如有思路、参考资料或想尝试的方法,可另外写进 hint.md。
展开完整文档(README 剩余 1 节)
AlphaSolve for DSH 让 DeepSeek Harness 按照 AlphaSolve 的流程研究数学问题:尝试证明、独立检查、反复修改。 安装 以下 npm 安装步骤适用于已发布的 dsh-alphasolve@0.4.0 和 DSH 0.2.0-rc.2。当前源码面向 DSH 0.2.2-alpha.2,对应兼容性说明记录的源码提交;相关改动尚未发布到 npm。请使用 Node.js 24.9 或更新版本和 native 工具执行器,并从源码构建两个仓库后本地安装。 1. 安装 DeepSeek Harness 官方桌面端 0.2.0-rc.2,配置好可用的模型。 2. 在插件管理中选择「添加插件」,输入 dsh-alphasolve 并安装,选择「立即启用」,按提示重启。 3. 按照首次计算环境准备配置 Python/SymPy。桌面端自带 Python,但安装插件不会自动安装 SymPy。 npm 安装不需要 GitHub 账号,也不需要下载源码、自己编译。已安装旧包 @dsh-external/dsh-alphasolve 的用户,请先按升级说明替换旧包。 开始求解 1. 新建一个文件夹,把题目写进 problem.md;如有思路、参考资料或想尝试的方法,可另外写进 hint.md。 2. 在 DSH 中打开这个文件夹作为工作区,使用 standard 模式新建对话。 3. 发送: 用 AlphaSolve 求解 problem.md 中的问题。 点击对话顶部的 AlphaSolve,可以查看进度和各个参与者的具体工作记录。工作流确认得到解答后,会把结果写入文件夹中的 solution.md。 建议先用一道小题试试。多轮检查可能耗时很长、产生较多模型费用;默认同时运行两个求解任务。自动检查不能保证证明正确,结果仍需人工核验。 npm 包 · 进阶使用与开发 · 兼容性说明 · 反馈问题
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
dxww123/dsh-alphasolve
让 DeepSeek Harness 按照 AlphaSolve 的流程研究数学问题:尝试证明、独立检查、反复修改。
相关插件 · 市场 / 管理
插件精选列表awesome-dsh-plugin/awesome-dsh-plugin
DeepSeek Harness(dsh)插件精选列表
★ 22,025未汉化DSH
73.6
新词雷达zhuyansen/new-term-radar
new-term-radar新词雷达
★ 2,049已汉化MCP
72.8
插件生态导航0xsline/awesome-deepseek-harness
安装 贡献指南 DeepSeek Docs 公开插件目录 Issues
★ 1,188已汉化DSH
72.6
技能注册中心iflytek/skillhub
企业级开源智能体技能注册中心——发布、发现并管理组织内可复用的技能包。
★ 5,358已汉化DSH
71.9
插件市场目录imsai-sh/awesome-deepseek-harness-plugins
面向 DeepSeek Harnessdsh生态的社区插件目录,共收录 13938 个插件含 PR 收录与…
★ 350已汉化DSH
71.8
插件精选清单Anil-matcha/awesome-dsh-plugin
DeepSeek Harnessdsh精选指南——DeepSeek…
★ 1,013已汉化DSH
71.7
这是你的仓库?认领条目