项目启动器 aipieksel/deepseek-project-specific-harness-launcher
DeepSeek Harness在 macOS 上编辑并启动项目专用的 Harness 实例
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/17 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add aipieksel/deepseek-project-specific-harness-launcher该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · dev
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 15 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/17) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
读写/删除本地文件发起外部网络请求
查看扫描证据(共 27 处,展示前 27 条)
- 写入本地文件plugins/dsh-agents-pro/lib/customizations.js:12
const root=customizationRoot(input.scope,input.kind,cwd);await mkdir(root,{recursive:true}); - 读取本地文件plugins/dsh-agents-pro/lib/customizations.js:15
if(await lstat(file).then(s=>s.isSymbolicLink(),()=>false))throw new Error('Cannot overwrite a symbolic link'); - 写入本地文件plugins/dsh-agents-pro/lib/customizations.js:16
await writeFile(file,input.content,{mode:0o600}); - 读取本地文件plugins/dsh-agents-pro/lib/customizations.js:21
for(const name of await readdir(root).catch(()=>[])) { - 读取本地文件plugins/dsh-agents-pro/lib/customizations.js:23
const file=join(root,name), resolved=await realpath(file); - 读取本地文件plugins/dsh-agents-pro/lib/customizations.js:24
if(!resolved.startsWith((await realpath(root))+sep))continue; - 读取本地文件plugins/dsh-agents-pro/lib/customizations.js:25
rows.push({scope,kind,name,path:file,content:await readFile(file,'utf8')}); - 写入本地文件plugins/dsh-agents-pro/lib/customizations.js:50
if(path!==undefined){await mkdir(dir,{recursive:true});await writeFile(file,JSON.stringify({path}),{mode:0o600});} - 写入本地文件plugins/dsh-agents-pro/lib/customizations.js:50
if(path!==undefined){await mkdir(dir,{recursive:true});await writeFile(file,JSON.stringify({path}),{mode:0o600});} - 读取本地文件plugins/dsh-agents-pro/lib/customizations.js:51
return readFile(file,'utf8').then(JSON.parse).catch(()=>({path:''})); - 读取本地文件plugins/dsh-agents-pro/lib/global-skills.js:11
const resolved=await realpath(path).catch(()=>null);if(!resolved||visited.has(resolved))return; - 读取本地文件plugins/dsh-agents-pro/lib/global-skills.js:13
if((await stat(join(resolved,'SKILL.md')).catch(()=>null))?.isFile()){containers.add(dirname(resolved));return;} - 读取本地文件plugins/dsh-agents-pro/lib/global-skills.js:14
for(const entry of await readdir(resolved,{withFileTypes:true}).catch(()=>[])){ - 读取本地文件plugins/dsh-agents-pro/lib/global-skills.js:17
if(entry.isDirectory()||entry.isSymbolicLink()&&(await stat(next).catch(()=>null))?.isDirectory())await walk(next,depth+1); - 读取本地文件plugins/dsh-agents-pro/lib/global-skills.js:26
for(const name of await readdir(profile).catch(()=>[]))if(name.startsWith('codex-home-'))roots.push(join(profile,name,'skills')); - 发起网络请求plugins/dsh-agents-pro/lib/index.js:41
ctx.connection.fetch.register({path:'/api/agents-pro',methods:['GET','POST'],requestBody:'buffered',async fetch(request){ - 读取本地文件plugins/dsh-agents-pro/lib/index.js:78
else if(action==='kit')return new Response(await readFile(join(base,'../skill-integration/checklists/agents-pro-checklist-kit.zip')),{headers:{'conten - 写入本地文件plugins/dsh-agents-pro/lib/prompts.js:9
await mkdir(directory,{recursive:true,mode:0o700}); - 写入本地文件plugins/dsh-agents-pro/lib/prompts.js:11
await writeFile(temp,change.text,{mode:0o600});await rename(temp,file); - 写入本地文件plugins/dsh-agents-pro/lib/prompts.js:11
await writeFile(temp,change.text,{mode:0o600});await rename(temp,file); - 读取本地文件plugins/dsh-agents-pro/lib/prompts.js:14
for(const [dir,custom] of [[bundled,false],[directory,true]])for(const file of (await readdir(dir).catch(e=>{if(e.code==='ENOENT')return [];throw e;}) - 读取本地文件plugins/dsh-agents-pro/lib/prompts.js:16
const name=file.slice(0,-3);rows.set(name,{name,text:await readFile(join(dir,file),'utf8'),custom}); - 读取本地文件plugins/dsh-agents-pro/lib/skill-policy.js:10
const path = await realpath(cwd || process.cwd()).catch(() => resolve(cwd || process.cwd())); - 读取本地文件plugins/dsh-agents-pro/lib/skill-policy.js:15
const value = JSON.parse(await readFile(await this.file(cwd), 'utf8')); - 写入本地文件plugins/dsh-agents-pro/lib/skill-policy.js:25
await mkdir(this.directory, { recursive: true, mode: 0o700 }); - 写入本地文件plugins/dsh-agents-pro/lib/skill-policy.js:27
await writeFile(temp, JSON.stringify({ version: 1, enabled: [...names].sort() }, null, 2), { mode: 0o600 }); - 写入本地文件plugins/dsh-agents-pro/lib/skill-policy.js:28
await rename(temp, file);
扫描于 2026/10/31(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
Mac 启动器,用来启动按项目隔离的 DeepSeek Harness 实例,集成 Agents Pro、Files Explorer、Codex/Grok 命令行和语音工作流。
README
由 DeepSeek 最新模型翻译生成DeepSeek 项目专用 Harness 启动器
本地 macOS Dock 应用,用来编辑和启动项目专用的 DeepSeek Harness 浏览器实例。这个仓库包含原生 Swift 启动器、dsh-project 入口,以及两套 Harness 插件源码树。
插件能力
- Agents Pro 是 dsh-project 加载的插件。它新增已登录的 Codex CLI 和 Grok CLI 模型路由、麦克风听写、清理与已保存录音恢复、Files 预览与评论、阻塞式提问、Tasks、自定义指令、技能控制,以及 Markdown 导出。它的 CLI 适配器和语音管线放在另外两个仓库:Codex/Grok CLI 和 microphone/cleanup。详见 Agents Pro 指南。
- Files Explorer 作为独立的本地插件源码保留。它的 Files 树扩展让树在打开文件时保持可见,并提供 Open、Open in New Tab、复制路径/名称、Reveal in Finder 和默认应用操作。详见 Files Explorer 指南。启动器目前加载 Agents Pro 集成的 Files 行为,不会同时注册两个插件补丁。
浏览器 UI 必须使用 Harness 原生组件。插件源码不包含 Harness 运行时,也不包含已登录的 CLI。
展开完整文档(README 剩余 1 节)
DeepSeek 项目专用 Harness 启动器 本地 macOS Dock 应用,用来编辑和启动项目专用的 DeepSeek Harness 浏览器实例。这个仓库包含原生 Swift 启动器、dsh-project 入口,以及两套 Harness 插件源码树。 插件能力 - Agents Pro 是 dsh-project 加载的插件。它新增已登录的 Codex CLI 和 Grok CLI 模型路由、麦克风听写、清理与已保存录音恢复、Files 预览与评论、阻塞式提问、Tasks、自定义指令、技能控制,以及 Markdown 导出。它的 CLI 适配器和语音管线放在另外两个仓库:Codex/Grok CLI 和 microphone/cleanup。详见 Agents Pro 指南。 - Files Explorer 作为独立的本地插件源码保留。它的 Files 树扩展让树在打开文件时保持可见,并提供 Open、Open in New Tab、复制路径/名称、Reveal in Finder 和默认应用操作。详见 Files Explorer 指南。启动器目前加载 Agents Pro 集成的 Files 行为,不会同时注册两个插件补丁。 浏览器 UI 必须使用 Harness 原生组件。插件源码不包含 Harness 运行时,也不包含已登录的 CLI。 这份检出假定 DeepSeek Harness 安装在 ~/.local/share/deepseek-harness/runtime(或 DSH_RUNTIME)。可选的 Disable token auth 开关还依赖 runtime patches 里描述的本地运行时补丁;这个仓库不安装、也不分发那份修改过的 Harness 运行时。使用未打补丁的运行时,请保持 token auth 开启。 它读写: ~/.local/share/deepseek-harness/projects/projects.tsv 把这个仓库和上面两个同级集成仓库克隆到同一个目录,然后安装插件依赖: ./script/install-integrations.sh 在 macOS 上用 Swift 构建并启动,需要已安装 DeepSeek Harness 运行时: ./script/build_and_run.sh 打包好的应用在: dist/DeepSeek Harness Launcher.app 启动行为: - Launch 先保存注册表,再启动 ~/.local/bin/dsh-project <name> --open。 - script/install-launcher.sh 把这个入口安装为指向本检出维护的 script/dsh-project 的符号链接,并把之前的副本保留在 ~/.local/share/deepseek-harness/launcher-backups 下。应用构建会运行这个安装脚本。直接运行它,就能修复旧安装,无需重新构建或重启应用。已有项目快捷方式走同一个入口。要加载改动过的插件,请对已在运行的项目执行 Stop → Launch 重启;只刷新浏览器无法改变服务端的启动补丁。 - 浏览器 UI 启动前,dsh-project 先把项目文件夹设为默认 Harness 工作区。 - dsh-project 从已安装的入口点符号链接解析出这份 checkout,再加载本地 dsh-agents-pro 插件。启动 Harness 前,它会检查两个同级集成是否已安装。 - 每个项目在 ~/.local/share/deepseek-harness/projects/<name>/state 下保留自己的 Harness 状态。 - 应用界面中,输出 token 会被脱敏。 - Disable token auth 会在注册表里写入 no-token 列,以 --no-token 启动,并设置 DSH_DISABLE_BROWSER_TOKEN=1,这样 http://127.0.0.1:<port>/ 无需启动 token 即可访问。改完该选项后要重新启动项目;已在运行的进程仍沿用原来的鉴权。 - 启动 PATH 包含 Homebrew 和 /usr/local/bin,因此 GUI 启动时也能找到 node,尽管 Dock 应用拿到的默认 PATH 是精简过的。 在 plugins/dsh-agents-pro 下运行 npm test,在本目录下运行 swift build 做源码检查。build_and_run.sh 会安装入口点并打开应用,所以只需要构建检查时用 swift build。 插件和它的便携清单集成套件一起发布。更新插件后,重新启动项目并刷新浏览器。已有的 API 接入 DeepSeek 模型保留原生 Harness 配置和凭据。 本地运行时状态、录制内容和项目注册表留在用户主目录。源码仓库不包含这些文件,也不包含本地构建产物和任务产物。本仓库的原创代码采用 MIT License 许可。DeepSeek Harness、各命令行产品及其他第三方组件保留各自所有者的独立权利;它们的运行时和凭据不包含在此。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
aipieksel/deepseek-project-specific-harness-launcher
在 macOS 上编辑并启动项目专用的 Harness 实例
相关插件 · 开发 / 工程
隐私简历生成器reactive-resume/reactive-resume
Reactive Resume 已迁至 GitHub 上的…
★ 45,125已汉化MCP
71.7
AI 架构文档生成器sopaco/deepwiki-rs
🚀 Litho 已进化为 Terrain —— 给你的 AI 智能体一张会呼吸的代码库地图。
★ 3,157已汉化DSH
70.8
长时任务执行闭环AMAP-ML/LongHorizon-Harness
面向 Computer-Use Agent 的 Loop Engineering
★ 1,764已汉化DSH
70.5
AI 编程纪律方法包GanyuanRan/Aegis
让 AI 编程 agent 变得可信:少返工、更安全、说“完成”前先给证据。
★ 1,384已汉化DSH
69.6
多代理编排运行时Enderfga/claw-orchestrator
面向编程智能体的运行时。把 Claude Code、Codex、Antigravity、Grok…
★ 586已汉化MCP
69.4
记忆进化插件csyangwen/dsh-memory-evolve
dsh-memory-evolve 使用场景指南
★ 461已汉化DSH
67.9