在仓库里写下一个目标,然后走开。回来时,收到一个已通过验证的 pull request。
59.9/100
综合分
126
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/30 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add jigjoy-ai/baro该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:已验证
是什么
dsh 原生插件 · security
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 6 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包baro @ 0.0.15
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/29 17:40:47
🔴 安全扫描发现高危能力自动 · 静态分析源码
v2.7.0🔴 扫描:高危尚无人工评估
静态扫描发现安装期即执行代码,或命令参数由运行时变量拼接(参数来源无法静态判定,从严处理)。
命令参数由运行时变量拼接读写/删除本地文件读取剪贴板或密钥环境变量
查看扫描证据(共 40 处,展示前 38 条)
- 写入本地文件packages/baro-memory/src/vectra-store.ts:76
mkdirSync(sessionPath, { recursive: true }) - 写入本地文件packages/baro-memory/src/vectra-store.ts:79
mkdirSync(indexPath, { recursive: true }) - 读取本地文件packages/baro-memory/src/vectra-store.ts:125
if (!existsSync(sessionsDir)) return - 读取本地文件packages/baro-memory/src/vectra-store.ts:127
for (const entry of readdirSync(sessionsDir)) { - 读取本地文件packages/baro-memory/src/vectra-store.ts:131
const stat = lstatSync(entryPath) - 删除本地文件递归packages/baro-memory/src/vectra-store.ts:134
rmSync(entryPath, { recursive: true, force: true }) - 读取本地文件packages/baro-memory/src/vectra-store.ts:192
if (!existsSync(this.indexFilePath)) return - 读取本地文件packages/baro-memory/src/vectra-store.ts:193
const mtimeMs = statSync(this.indexFilePath).mtimeMs - 删除本地文件packages/baro-memory/src/vectra-store.ts:391
try { rmSync(this.lockPath, { force: true }) } catch {} - 读取本地文件packages/baro-memory/src/vectra-store.ts:434
if (existsSync(this.cachePath)) { - 写入本地文件packages/baro-memory/src/vectra-store.ts:453
writeFileSync(this.lockPath, String(process.pid), 'utf-8') - 写入本地文件packages/baro-memory/src/vectra-store.ts:456
writeFileSync(tmp, JSON.stringify(cache), 'utf-8') - 写入本地文件packages/baro-memory/src/vectra-store.ts:457
renameSync(tmp, this.cachePath) - 写入本地文件packages/baro-memory/src/vectra-store.ts:461
writeFileSync(this.cachePath, JSON.stringify(cache), 'utf-8') - 删除本地文件packages/baro-memory/src/vectra-store.ts:464
try { if (existsSync(this.lockPath)) rmSync(this.lockPath) } catch {} - 写入本地文件packages/baro-memory/test-integration.mjs:64
writeFileSync(queryScript, ` - 执行外部命令运行时拼接packages/baro-memory/test-integration.mjs:74
const output = execSync(`node ${queryScript}`, { - 写入本地文件packages/baro-memory/test-integration.mjs:91
writeFileSync(writeScript, ` - 执行外部命令运行时拼接packages/baro-memory/test-integration.mjs:106
const writeOutput = execSync(`node ${writeScript}`, { - 删除本地文件递归packages/baro-memory/test-integration.mjs:146
rmSync(sessionPath, { recursive: true }) - 读取本地文件packages/baro-orchestrator/src/gateway-credentials.ts:48
raw = readFileSync(path) - 写入本地文件packages/baro-orchestrator/src/orchestrate.ts:681
mkdirSync(dirname(config.auditLogPath), { recursive: true }) - 读取本地文件packages/baro-orchestrator/src/orchestrate.ts:996
commandPath: existsSync(bundledCollaborationCommand) - 读取密钥环境变量packages/baro-orchestrator/src/orchestrate.ts:1058
defaultApiKey: process.env.OPENAI_API_KEY, - 读取密钥环境变量packages/baro-orchestrator/src/orchestrate.ts:1745
defaultApiKey: process.env.OPENAI_API_KEY, - 删除本地文件递归packages/baro-orchestrator/src/orchestrate.ts:2226
rmSync(dialogueRuntimeCwd, { recursive: true, force: true }) - 删除本地文件递归packages/baro-orchestrator/src/orchestrate.ts:2229
rmSync(goalReviewRuntimeCwd, { recursive: true, force: true }) - 读取本地文件packages/baro-orchestrator/src/prd.ts:232
const raw = readFileSync(path, "utf8") - 写入本地文件packages/baro-orchestrator/src/prd.ts:238
writeFileSync(path, JSON.stringify(prd, null, 2) + "\n") - 写入本地文件packages/baro-orchestrator/src/prd.ts:253
writeFileSync(temporary, JSON.stringify(value, null, 2) + "\n", { - 写入本地文件packages/baro-orchestrator/src/prd.ts:256
renameSync(temporary, path) - 删除本地文件packages/baro-orchestrator/src/prd.ts:259
unlinkSync(temporary) - 读取本地文件packages/baro-orchestrator/src/prd.ts:293
const parsed: unknown = JSON.parse(readFileSync(path, "utf8")) - 读取本地文件packages/baro-orchestrator/src/provider-ownership-manifest.ts:66
const stat = lstatSync(path) - 读取本地文件packages/baro-orchestrator/src/provider-ownership-manifest.ts:70
const bootstrap = JSON.parse(readFileSync(path, "utf8")) as { - 写入本地文件packages/baro-orchestrator/src/provider-ownership-manifest.ts:146
writeFileSync(fd, body, "utf8") - 写入本地文件packages/baro-orchestrator/src/provider-ownership-manifest.ts:149
renameSync(temporaryPath, config.path) - 删除本地文件packages/baro-orchestrator/src/provider-ownership-manifest.ts:161
unlinkSync(temporaryPath)
扫描于 2026/11/3(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
1 张 · 点击查看大图功能亮点
- 沙箱测试并发智能体
- 基于Mozaik运行时
一个命令行工具,把目标变成 pull request,也是沙箱,用来在 Mozaik 运行时上测试并发 AI 编程智能体。
README
由 DeepSeek 最新模型翻译生成baro
在仓库里写下一个目标,然后走开。回来时,收到一个已通过验证的 pull request。
baro 是一座自主软件工厂。它把你的目标编译成一份机器可校验的契约,拆成由多个 story 组成的 DAG,在相互隔离的 git worktree 里并行构建,再用 fail-closed 闸门挡住每一次合并——声明的测试、构建、证据评审、写入面归属。你审的是一个闸门已经放行的 PR。
一条提示词 → 33 个 story 的计划 → 808 个通过的测试 → 一个 PR,用时 71 分钟。
看一次真实运行。
安装
npm install -g baro-ai
需要 Node 20+、git,以及至少一个后端:claude CLI(默认)、codex,或任意 OpenAI 兼容端点。baro --doctor 检查你的环境。
使用
cd your-repo
baro "Add JWT authentication with role-based access control"
这会打开 TUI:intake 只问关键问题,你确认计划,fleet 开始跑。
展开完整文档(README 剩余 1 节)
baro 在仓库里写下一个目标,然后走开。回来时,收到一个已通过验证的 pull request。 baro 是一座自主软件工厂。它把你的目标编译成一份机器可校验的契约,拆成由多个 story 组成的 DAG,在相互隔离的 git worktree 里并行构建,再用 fail-closed 闸门挡住每一次合并——声明的测试、构建、证据评审、写入面归属。你审的是一个闸门已经放行的 PR。 一条提示词 → 33 个 story 的计划 → 808 个通过的测试 → 一个 PR,用时 71 分钟。 看一次真实运行。 安装 npm install -g baro-ai 需要 Node 20+、git,以及至少一个后端:claude CLI(默认)、codex,或任意 OpenAI 兼容端点。baro --doctor 检查你的环境。 使用 cd your-repo baro "Add JWT authentication with role-based access control" 这会打开 TUI:intake 只问关键问题,你确认计划,fleet 开始跑。 要做自动化,就脱离终端,从任何地方跟进: baro --headless --detach --goal-file goal.txt # prints a run id, returns immediately baro watch <run-id> # follow milestone events baro logs <run-id> --follow # tail the raw log baro runs # list live runs baro stop <run-id> # stop one 命令 | 命令 | 作用 | | baro "<goal>" | 在当前仓库跑一个目标(TUI) | | baro --goal-file <path> | 从文件读取目标 | | baro --headless --detach ... | 后台运行,供 CI/自动化使用;打印 run id | | baro watch <run-id> | 跟进一次实时运行的里程碑 | | baro logs <run-id> [--follow] | 打印或跟踪一次运行的日志 | | baro runs / baro stop <id> | 列出 / 停止实时运行 | | baro --resume | 从 prd.json 恢复中断的运行——绝不重新规划 | | baro --continue | 在当前分支上做后续——总是重新规划 | | baro --doctor | 自诊断:后端、认证、gh、权限 | | baro login | 浏览器登录 baro cloud | | baro connect [--install-service] | 把本机接入为云端 runner | 关键参数 --llm claude|codex|openai|opencode|pi|devin|hybrid|jigjoy # backend for all phases -m opus|sonnet|haiku # model override (verbatim pass-through on other backends) --effort low..max # thinking per turn (default: high) --parallel N # max parallel story agents (0 = unlimited) --mode focused|sequential|parallel # force an execution mode (default: intake proposes) --quick # trivial goals: one story, no architect/critic/surgeon --local-only # 不推送、不提 PR——硬隔离 --shell-budget <seconds> # story shell 工具的每条命令预算 --openai-base-url <url> # 任意 OpenAI 兼容服务商(OpenRouter、vLLM、Ollama…) --tier-map "light=openai:MiniMax-M3,heavy=claude:opus" # 按 story 层级混用后端 按阶段覆盖(--architect-llm、--story-model 等)、.barorc,以及其他所有内容:docs.baro.rs 工作原理 baro 架构——Rust TUI 宿主,TypeScript 编排器,其限界上下文在 mozaik 事件总线上会合,每次合并前都有机器门禁 - 契约先行。 架构师把目标转成不变量与义务,二者都可机器校验——这一切发生在写任何代码之前。 - 是集体,不是协调者。 Story 智能体是事件总线上的对等节点:它们只看到与自己相关的事件,互相交换笔记,并因彼此的工作而挂起或恢复。不存在一个所有东西都必须挤过去的单一上下文窗口。 - 靠门禁,不靠感觉。 声明的测试、提交前构建、评判捕获命令输出的证据评审员,以及写入面归属——失败即关闭,拦截每一次合并。人类评审的 PR,门禁已经先接受了。 - 活的计划。 计划是一张 DAG,运行过程会与它协商:运行时重新规划会在运行中途新增并重连 story,失败的闸门可以生成自己的补救 story。 用 Claude Code 驱动它 baro 很适合让编码智能体坐在驾驶位。在你的仓库里,把下面这段粘贴进 Claude Code: text Install baro (npm install -g baro-ai) and run baro --doctor to verify the setup. Then drive it for me: 1. Write my task as an evidence-rich goal file: name the exact files and line numbers the change touches, state the constraints, and say which tests must prove it. 2. Launch it detached: baro --headless --detach --goal-file goal.txt, note the run id. 3. Follow it with baro watch <run-id>; if it stalls, read baro logs <run-id>. 4. When the pull request opens, review the diff against the goal, run the project's test suite yourself, and report back: what shipped, what the gates proved, and anything that needs my eyes. Merge only if everything is green. Keep goals narrow — one concern per run. If the run fails, read why, tighten the goal with the new evidence, and launch again. 云端 没有机器,或者没有 Claude/Codex 订阅?在 app.baro.jigjoy.ai 上运行同一套机群——无需安装,隔离沙箱,用我们的密钥。或者把你自己的硬件留在池子里:baro login,然后 baro connect --install-service。 文档:docs.baro.rs · 问题反馈:github.com/jigjoy-ai/baro/issues · Twitter:@lotus_sbc
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
jigjoy-ai/baro
在仓库里写下一个目标,然后走开。回来时,收到一个已通过验证的 pull request。
相关插件 · 安全 / 权限
智能体逆向工程morluto/rea
用智能体逆向工程任何东西,从应用行为到原生二进制。
★ 422,036已汉化DSH
73.3
智能体集群框架ruvnet/ruflo
面向 Claude Code 与 Codex 的智能体元基座meta-harness。
★ 80,619已汉化MCP
71.8
WorkBuddy 模型接入corrinehu/dsh-workbuddy-connect
2026 年 10 月 20 日起,WorkBuddy…
★ 1,604已汉化DSH
71.7
主动编码智能体deepseek-ai/dsh-superagent-prototype
研究原型,仅供参考,不是 DeepSeek 官方产品。…
★ 15,535已汉化DSH
71.6
破甲一键通z91772524-ai/pojia-next
十五个 AI…
★ 1,004已汉化DSH
71.6
Agent 操作层agentic-os-org/ANOLISA
ANOLISA(Agentic Nexus Operating Layer & Interface System Architecture)|智能体操作系统,带运行时、安全、可观测性,以及 Tokenless 响应压缩,降低 token 用量与成本。
★ 653已汉化DSH
70.7
这是你的仓库?认领条目