S
SanvioLabs/sanvio-factory
The smallest useful agent harness: instructions, a skill, a gate, a hook and a review agent
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · HTTP 200 · 打开的是厂商自己的官网
- ★ 数取值
- 4 ★ · SanvioLabs/sanvio-factory · 取自 GitHub 搜索 API · (2026-11-13 20:00:50 核对)
- 来源明细
- 从该仓库的 GitHub 页面直接读取 · 条目类型:开源项目
- 收录与活跃
- 收录于 2026-11-10 · 最近见到 2026-11-14 · 共见到 5 次 · 被 1 个来源列出
- 评分构成
- 综合分 103 · 4 ★ · 1 个来源 · repo
常见问题(答案都来自我们的记录)
它适合谁 / 用来做什么?
我们把它归在这些标签下: 开源项目。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库
SanvioLabs/sanvio-factory;我们收录于 2026-11-10;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。# Sanvio Factory
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Built and maintained by Sanvio Labs. Free under MIT.
Sanvio Factory takes issues in and turns out reviewed work. You label an issue
for the loop. An agent plans it, builds it in a checkout of its own and runs
the tests, a second agent reviews the pull request, the checks run, and you
decide whether it merges. The loop never merges a pull request. What it writes
is branches, pull requests, comments and labels on GitHub, and it spends model
tokens as it works. Nothing here sends email or makes a payment.
Two layers do that. The harness is what one agent session works inside: the
rules it reads, the procedures it follows, the checks that stop it, and the
other agents it hands work to. The factory is everything between sessions: the
queue of issues, the loop that works them, and the review and the gates between
a pull request and a merge. The model is the engine. The harness holds one run
to your rules and checks, and the factory turns many runs into pull requests you
review. Set up says where the guard stops, and
What makes it a factory has the rest.
The first two pictures are the harness: what one session inside the factory
works in. The third is the factory: one issue through the loop to a pull
request you review.
This repo is the smallest factory that still does the job. The harness at its
root is generic: rules, skills, a reviewer, the checks, and a place for your
company and your code. One worked job sits in examples/proposal/, drafting client
proposals, because a proposal is where the cheap mistakes live: a placeholder
left in, a rate somebody made up, a total that doesn't add up. None of those are
hard. All of them ship anyway when the process lives in your head. You read
the example, then build your own job the same way at the root. For code,
examples/typescript/ is a TypeScript project the loop can test with Node
alone.
The rules, skills and gates work in Claude Code, Codex and Kiro. The guard, the
mods and bin/factory need Claude Code.
At the Humanbulb talk on 15 October 2026? The slides are here,
as a PDF, a PowerPoint and an offline web page.
## Set up
bash
git clone my-factory && cd my-factory
git config core.hooksPath .githooks
python3 scripts/check_setup.py
Don't skip the middle line. Git won't run the hook in .githooks/ unless
you point it there, and the setting doesn't travel with a clone. Skip it and
every check in the hook silently does nothing. That exact line was missing from
a real harness for months, and nobody noticed because nothing failed.
You need Python 3.9 or newer and no packages.
In Claude Code, start it from the repo's root and say yes when it asks
whether you trust the folder. A line then sits above the prompt:
◆ harness steering: 3 always on skill: none yet gate: none run guard: no refusals review: none yet
That's the harness lens. It names each layer as it acts on your session, and
/lens lists everything it did. No line? Your Claude Code may be older than
the version it was tested on (2.1.295), or the folder isn't trusted.
examples/mods/harness-lens/ has the two commands that install it from inside a
session. Codex and Kiro don't show it: neither has mods.
Trusting the folder also switches on Stelliad, an MIT-licensed set of
Sanvio Factory takes issues in and turns out reviewed work. You label an issue
for the loop. An agent plans it, builds it in a checkout of its own and runs
the tests, a second agent reviews the pull request, the checks run, and you
decide whether it merges. The loop never merges a pull request. What it writes
is branches, pull requests, comments and labels on GitHub, and it spends model
tokens as it works. Nothing here sends email or makes a payment.
Two layers do that. The harness is what one agent session works inside: the
rules it reads, the procedures it follows, the checks that stop it, and the
other agents it hands work to. The factory is everything between sessions: the
queue of issues, the loop that works them, and the review and the gates between
a pull request and a merge. The model is the engine. The harness holds one run
to your rules and checks, and the factory turns many runs into pull requests you
review. Set up says where the guard stops, and
What makes it a factory has the rest.
The first two pictures are the harness: what one session inside the factory
works in. The third is the factory: one issue through the loop to a pull
request you review.
This repo is the smallest factory that still does the job. The harness at its
root is generic: rules, skills, a reviewer, the checks, and a place for your
company and your code. One worked job sits in examples/proposal/, drafting client
proposals, because a proposal is where the cheap mistakes live: a placeholder
left in, a rate somebody made up, a total that doesn't add up. None of those are
hard. All of them ship anyway when the process lives in your head. You read
the example, then build your own job the same way at the root. For code,
examples/typescript/ is a TypeScript project the loop can test with Node
alone.
The rules, skills and gates work in Claude Code, Codex and Kiro. The guard, the
mods and bin/factory need Claude Code.
At the Humanbulb talk on 15 October 2026? The slides are here,
as a PDF, a PowerPoint and an offline web page.
## Set up
bash
git clone my-factory && cd my-factory
git config core.hooksPath .githooks
python3 scripts/check_setup.py
Don't skip the middle line. Git won't run the hook in .githooks/ unless
you point it there, and the setting doesn't travel with a clone. Skip it and
every check in the hook silently does nothing. That exact line was missing from
a real harness for months, and nobody noticed because nothing failed.
You need Python 3.9 or newer and no packages.
In Claude Code, start it from the repo's root and say yes when it asks
whether you trust the folder. A line then sits above the prompt:
◆ harness steering: 3 always on skill: none yet gate: none run guard: no refusals review: none yet
That's the harness lens. It names each layer as it acts on your session, and
/lens lists everything it did. No line? Your Claude Code may be older than
the version it was tested on (2.1.295), or the folder isn't trusted.
examples/mods/harness-lens/ has the two commands that install it from inside a
session. Codex and Kiro don't show it: neither has mods.
Trusting the folder also switches on Stelliad, an MIT-licensed set of
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[](https://anclum.com/zh/s/sanviolabs-sanvio-factory/)
- 来源
- github · https://github.com/SanvioLabs/sanvio-factory
- 按领域浏览
- 开源项目
- Traction
- 4 ★
- 收录于
- 今天
同类推荐
所属领域与标签
每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。