W
wachterjohannes/synapse-tutorial
Tutorial series: build a second brain with Symfony AI
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · HTTP 200 · 打开的是厂商自己的官网
官方说明Tutorial series: build a second brain with Symfony AI. Agents read and write markdown notes, exposed over MCP behind OAuth. One branch per part.
- ★ 数取值
- 0 ★ · wachterjohannes/synapse-tutorial · 取自 GitHub 搜索 API · (2026-11-13 20:00:50 核对)
- 来源明细
- 从该仓库的 GitHub 页面直接读取 · 条目类型:开源项目
- 收录与活跃
- 收录于 2026-11-12 · 最近见到 2026-11-14 · 共见到 3 次 · 被 1 个来源列出
- 评分构成
- 综合分 103 · 1 个来源 · repo
常见问题(答案都来自我们的记录)
它适合谁 / 用来做什么?
我们把它归在这些标签下: 开源项目。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库
wachterjohannes/synapse-tutorial;我们收录于 2026-11-12;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。# Synapse: a second brain with Symfony AI
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
A tutorial series for the Symfony AI hackathon. We build a second brain: a folder of markdown notes in the Open Knowledge Format that agents write to and read from, that other tools reach over MCP, and that can ask a second brain for help. Everything runs on Symfony AI 1.0.0-BETA1 with Cohere as the model.
The code lives in branches. Each branch builds on the previous one and holds the finished state of its step.
| Branch | What you get | Changes |
| 01-write-agent | A capture agent that files raw material in the inbox and writes finished notes into the brain | - |
| 02-read-agent | A read agent that answers from the brain, with RAG in the background | 01-write-agent...02-read-agent |
| 03-mcp-server | The brain as an MCP server, protected by an external authorization server | 02-read-agent...03-mcp-server |
| 04-roles | Two roles: admin may write, reader may only query | 03-mcp-server...04-roles |
git diff origin/03-mcp-server origin/04-roles shows what a step changes.
## Requirements
PHP 8.4 or newer and Composer
A COHERE_API_KEY from https://dashboard.cohere.com/api-keys. A trial key is enough for this repository, because the brain is small.
Symfony AI is at 1.0.0-BETA1. The backwards compatibility promise starts with 1.0.0, so the code may need small changes when the final release ships. The project sets minimum-stability to beta for that reason.
## Start
bash
git checkout 01-write-agent
composer install
printf 'COHERE_API_KEY=...\n' > .env.local
php bin/console app:capture "Idea: a tutorial about MCP authorization"
The agent writes to notes/. notes/inbox/ holds raw material, notes/brain/ holds finished notes in OKF v0.2. The rules and the shape of each note type are in config/okf.yaml, and src/Brain/OkfValidator.php enforces the structure before anything is written to notes/brain/: path and folder, type, title, a one line description, one to four tags, sources, the heading and sections, and footnotes. Brain::assertLinksExist() checks that note links point to notes that exist. Whether a description is a good sentence is left to the model. notes/inbox/ is raw material and is not validated. Read the safety section of the first article before you give an agent write access to anything you care about, and keep notes/ in Git so every change is a diff you can review.
## The index
From step 02 the notes are searched through an index in var/brain.sqlite. It is not updated when a note is written. Run php bin/console ai:store:clear brain --force before php bin/console ai:store:index brain, because indexing twice stores every passage twice. The live run of bin/smoke drops and rebuilds this index.
The code lives in branches. Each branch builds on the previous one and holds the finished state of its step.
| Branch | What you get | Changes |
| 01-write-agent | A capture agent that files raw material in the inbox and writes finished notes into the brain | - |
| 02-read-agent | A read agent that answers from the brain, with RAG in the background | 01-write-agent...02-read-agent |
| 03-mcp-server | The brain as an MCP server, protected by an external authorization server | 02-read-agent...03-mcp-server |
| 04-roles | Two roles: admin may write, reader may only query | 03-mcp-server...04-roles |
git diff origin/03-mcp-server origin/04-roles shows what a step changes.
## Requirements
PHP 8.4 or newer and Composer
A COHERE_API_KEY from https://dashboard.cohere.com/api-keys. A trial key is enough for this repository, because the brain is small.
Symfony AI is at 1.0.0-BETA1. The backwards compatibility promise starts with 1.0.0, so the code may need small changes when the final release ships. The project sets minimum-stability to beta for that reason.
## Start
bash
git checkout 01-write-agent
composer install
printf 'COHERE_API_KEY=...\n' > .env.local
php bin/console app:capture "Idea: a tutorial about MCP authorization"
The agent writes to notes/. notes/inbox/ holds raw material, notes/brain/ holds finished notes in OKF v0.2. The rules and the shape of each note type are in config/okf.yaml, and src/Brain/OkfValidator.php enforces the structure before anything is written to notes/brain/: path and folder, type, title, a one line description, one to four tags, sources, the heading and sections, and footnotes. Brain::assertLinksExist() checks that note links point to notes that exist. Whether a description is a good sentence is left to the model. notes/inbox/ is raw material and is not validated. Read the safety section of the first article before you give an agent write access to anything you care about, and keep notes/ in Git so every change is a diff you can review.
## The index
From step 02 the notes are searched through an index in var/brain.sqlite. It is not updated when a note is written. Run php bin/console ai:store:clear brain --force before php bin/console ai:store:index brain, because indexing twice stores every passage twice. The live run of bin/smoke drops and rebuilds this index.
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[](https://anclum.com/zh/s/wachterjohannes-synapse-tutorial/)
- 来源
- github · https://github.com/wachterjohannes/synapse-tutorial
- 按领域浏览
- 开源项目
- 收录于
- 今天
同类推荐
所属领域与标签
每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。