Synaplan
開源 AI 平台,供企業使用:自行託管的 AI 代理、符合 GDPR 的聊天機器人小工具、RAG 知識庫、WhatsApp 與 Outlook AI、MCP、多模型路由。Docker、Kubernetes 或託管於 Germ
AI 翻譯
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Gary: the company brain that never leaves. A FalkorDB graph agent for decision lineage, ownership, stale docs and sourced answers.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗You know the guy. He has been at the company since the early days. Ask him why the refund window is 14 days and he will tell you the whole story in two minutes: the refund abuse in July, the Slack thread where Maya approved the change, and the old Notion page you should stop trusting. Ask him who really understands the ledger and he will say "talk to Tomasz, but do it before November, he is going on leave."
Every company has one person like this. The day Gary goes on holiday, things slow down. The day he leaves, the company simply forgets.
So I built a Gary that never leaves.
Gary is an AI agent for company knowledge. It reads your Slack, Jira, Notion, meeting notes and GitHub. But instead of throwing all of that into a search index, it builds a graph in FalkorDB. People, teams, systems, projects, every record, and most importantly the decisions people made and which older decisions they replaced.
When you ask Gary something, it does not go looking for text that sounds similar to your question. It walks the graph. That is why it can tell you what is true right now, what used to be true, who decided it, why they decided it, and which docs are quietly lying to you.
Fair question. My friend asked me the exact same thing, so let me explain with one example.
In the demo company, a Notion page from February says customers can get a full refund within 30 days. In June, a pricing meeting changed the rule for annual plans. In August, the CEO cut the monthly window to 14 days in a Slack thread because people were abusing refunds. Nobody updated the Notion page. Nobody updated the support playbook. Nobody updated the public help center article.
Now a support person asks: "Can a customer get a full refund after 20 days?"
A normal document chatbot finds the pages with the right words and says yes, 30 days. Very confident. Completely wrong.
Gary sees that the August decision replaced the June one, which replaced the February one. So it says no, it has been 14 days since August 12, Maya decided it in #billing because of the refund abuse ticket. Then it adds the part nobody asked for but everybody needs: three docs still say 30 days, here are the people who wrote them, should I open tickets for them?
The app shows both answers side by side. Same records, same language model. The only difference is the graph.
| Knows what is true right now | Every decision is linked to the one it replaced, so Gary answers with the current one and tells you what changed and when. |
| Finds stale docs by itself | Any doc that still states an old decision gets flagged, along with its author. |
| Knows who actually knows | Not the org chart. The people who wrote, reviewed and worked on something recently. Asking a question counts less than answering one. |
| Spots risk early | If one person holds most of the knowledge about a system and is going on leave next month, Gary tells you and suggests backups from the graph. |
| Time machine | Ask what the policy was on July 1, or drag a timeline and watch the whole company graph rebuild itself day by day. |
| Catches you up | "I'm back from three weeks off, what did I miss?" gives you only the changes in your own part of the company. |
| Explains the real why | Usage pricing launches on December 1 because the ledger migration moved to October 28, which moved because of the SOC2 audit freeze. Three hops, and Gary walks all of them. |
| Stays current | Post a new Slack message and the graph updates in milliseconds. Old decisions get replaced, and anything Gary remembered from before is marked outdated. |
| Does the work | Click "Fix it" and Gary opens a ticket for every stale doc, assigned to the person who wrote it. |
| Says "I don't know" | If something is not in the graph, Gary tells you plainly. No guessing. |
| Works with other agents | All the same tools are available over MCP, so Claude Desktop, Claude Code or any MCP client can use Gary as its company brain. |
Honestly, this one is my favourite.
Gary never deletes a decision. When something gets replaced, the old decision stays in the graph with the date it stopped being true. That small detail means you can rewind the whole company to any day.
Open the Time machine tab and press play. You will see records appear on the day they were written, people show up when they joined (Kai only appears in October), decisions turn grey the moment they are replaced, and docs turn red on the exact day they went stale. On the side, a small card shows what Kitestring believed about the refund policy at that moment, and it rewrites itself as you scrub.
You can also just ask: "What was our refund policy on July 1?" Gary answers with what was true that day, who had decided it, what replaced it later, and which docs were already out of date. Then one click rewinds the full graph to that date.
Open the live demo and ask these in order:
If someone has messed with the demo before you, press Reset demo at the top. It rebuilds everything from the raw data in a few seconds.
These are the things Gary keeps in FalkorDB.
| Node | What it is |
|---|---|
| Person, Team | Who works here, who leads what, and when they joined or go on leave |
| System, Project, Topic | The things people work on and talk about, like ledger-db, Project Atlas or the refund policy |
| Message, Ticket, Doc, Meeting, PR | Every record from the five tools, with its author, date and link |
| Decision | A rule, plan or date someone agreed on, with the day it started and the day it was replaced |
| Finding | Gary's own memory of past answers |
And this is how they connect.
| Relationship | Meaning |
|---|---|
| MEMBER_OF, LEADS, OWNS, USES | The org chart and who owns which system or topic |
| AUTHORED, REVIEWED, ASSIGNED, ATTENDED | Who did the work on each record |
| MENTIONS, CHANGES, REFERENCES, REPLY_TO | What each record talks about, touches or points to |
| MADE, ABOUT, DECIDED_IN, BECAUSE_OF | Who made a decision, what it is about, where it was made and why |
| SUPERSEDES | A newer decision replacing an older one. This one edge is the heart of Gary |
| ASSERTS | A doc or ticket repeating a decision. When that decision is replaced, the doc is stale |
| COLLABORATES | Worked out from shared threads, tickets and meetings, used to find real teams |
| CITES | Which decisions a memory relied on, so the memory can expire |
| Feature | How the graph answers it |
|---|---|
| Decision history | Follows SUPERSEDES links up to six steps back from every decision that is still in force |
| Stale docs | Finds docs that ASSERT a decision which has since been replaced |
| Time machine | Keeps only the decisions whose start date is before the chosen day and whose replacement date is after it |
| Who knows | Weighs authored, assigned, reviewed and attended work, with older work fading over about four months |
| Risk radar | Measures how much of the knowledge about each system sits with one person, plus upcoming absences |
| Knowledge brokers | FalkorDB betweenness centrality on the collaboration graph |
| Real teams | FalkorDB label propagation, compared with the org chart |
| How is A connected to B | FalkorDB shortest path search in any direction |
| Finding things by name | FalkorDB full text indexes on names and on every record |
The exact Cypher for every one of these lives in the technical notes.
A fair test for any graph project is simple: take the graph away and see what breaks. With Gary, almost everything breaks.
The exact commands, all environment variables, and how to plug Gary into Claude Desktop over MCP are in the technical notes.
Kitestring is a made up 21 person startup that sells subscription billing software. Its 65 records across five tools are written so that the right answer always depends on how things connect. The refund policy changes twice. The ledger migration gets pushed back by a SOC2 audit. The only engineer who has run the migration checks is going on parental leave right in the middle of the cutover. A Friday deploy freeze gets lifted. Invoices get an exception to the data deletion rule.
Every person, message and ticket is synthetic. No private or scraped data is used anywhere. The decision extraction was run with an open model and then reviewed by hand, and the live feed always runs the model fresh against the current graph.
FalkorDB for the graph, Cypher, graph algorithms and full text search, hosted on FalkorDB Cloud. Next.js on Vercel for the app. Open models served by Groq (gpt oss 120b, with smaller models as automatic fallbacks). Motion, anime.js and Lenis for the animations, with a few components from Magic UI and Animate UI. The Model Context Protocol SDK for the MCP server.
Tracks entered. Track 03 Company Brain is the main one. Gary also fits Track 01, because it acts on connected data with graph algorithms as tools and is exposed over MCP, and Track 02, because its memory persists across sessions and expires when the facts change.
Everything the rules ask for. Public repo, this README with setup steps and the graph model, the exact Cypher in the technical notes, a demo video, and a live deployment.
About AI help. I built this during the hackathon with Claude Code as my pair programmer. The idea, the demo company and its stories, the design decisions and all the testing were done together, and it helped me write a lot of the code quickly. The graph model and the queries are documented so you can check every claim yourself.
Real connectors with webhooks instead of exported files, permissions that travel with every record so people only see what they are allowed to see, and one graph per company so a single FalkorDB instance can hold many teams.