C
CertaMesh/seyk
Local search for AI agents over private files: meaning, keywords and file names, with exact source locations
在 GitHub 查看 ↗链接已于 2026-11-12 核查 · HTTP 200 · 打开的是厂商自己的官网
- ★ 数取值
- 0 ★ · CertaMesh/seyk · 取自 GitHub 搜索 API · (2026-11-13 20:00:50 核对)
- 来源明细
- 从该仓库的 GitHub 页面直接读取 · 条目类型:开源项目
- 收录与活跃
- 收录于 2026-10-27 · 最近见到 2026-11-14 · 共见到 20 次 · 被 3 个来源列出
- 评分构成
- 综合分 303 · 3 个来源 · repo
常见问题(答案都来自我们的记录)
它适合谁 / 用来做什么?
我们把它归在这些标签下: 开源项目。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库
CertaMesh/seyk;我们收录于 2026-10-27;最近见到 2026-11-14。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。Seyk is local search for AI agents over private files. It finds passages by
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
meaning, keywords and file names, and returns exact source locations: a line
range, a PDF page, an audio time window. Use it alongside grep: grep finds
every exact string, Seyk finds the passage that answers a question in other
words, including in PDFs and recordings.
When you extract a passage, Seyk re-checks the file and refuses text that
changed since indexing. It never writes answers; your agent reads the evidence
and decides what it means. Seyk runs as an MCP server, a CLI, and a Rust
library (pre-1.0).
> Status: pre-1.0. Install from source for now; the model is a 0.5 GB
> download. Indexing can use several GB of memory on dense files, and a fix is
> in progress (#95).
## What you can do with it
Let an agent cite your decision records. An agent asks "why did we pick
SQLite over Postgres?", gets 0007-storage-sqlite.md:13-18, and reads
exactly those lines. Try it on the
example decision records.
Search the files grep can't read well. Ask a question of notes, PDFs or
meeting recordings and get back a line range, a page, or a time window. For
code, Seyk complements grep; it does not parse functions yet.
Embed retrieval in a Rust application. Link the library, point it at a
folder, get hits with byte ranges, with no server to run. Pre-1.0 and not on
crates.io yet; see examples/embedsearch.rs.
## See it work
Three searches over the example decision records,
run from that folder. Results are trimmed to the top hit or two:
console
$ seyk search "how do we sign someone out right away?" decisions -n 1
0.908 decisions/0015-auth-sessions.md:6-10 § 0015. Use server-side sessions instead of JWTs for the web app > Context [meaning 0.72+words]
The web app stored a signed JWT in local storage. Logging a user out, or locking an account after a password reset, could not take effect until the token expired an hour later.
$ seyk search "Sunset header" decisions -n 1
1.000 decisions/0009-api-versioning.md:12-17 § 0009. Version the public API in the URL path > Decision [meaning 0.70+words]
Every public endpoint lives under a version prefix such as /api/v2/. A breaking change creates a new version. The previous version keeps working for at least twelve months after its replacement ships, and responses from a deprecated…
$ seyk search "0015-auth-sessions.md" decisions -n 1
1.000 decisions/0015-auth-sessions.md:1-4 § 0015. Use server-side sessions instead of JWTs for the web app [meaning 0.82+words+name]
Date: 2026-08-27 Status: Accepted. Supersedes the token section of 0003.
The first question shares only the word "out" with the record it found;
meaning ranked it first. The tag in brackets shows which signals found each
hit: meaning (with its similarity), words, or the file name. The score at the
start ranks hits within one search; 1.000 means first on every signal that
found anything.
To use a hit as evidence, extract it. Seyk re-hashes the whole file first and
fails instead of returning text from a file that changed since the search:
console
$ seyk search "why did we pick SQLite over Postgres?" decisions --json -n 1 | seyk extract --from-json -
## Decision
We store tickets in a single SQLite database file in write-ahead-log mode,
range, a PDF page, an audio time window. Use it alongside grep: grep finds
every exact string, Seyk finds the passage that answers a question in other
words, including in PDFs and recordings.
When you extract a passage, Seyk re-checks the file and refuses text that
changed since indexing. It never writes answers; your agent reads the evidence
and decides what it means. Seyk runs as an MCP server, a CLI, and a Rust
library (pre-1.0).
> Status: pre-1.0. Install from source for now; the model is a 0.5 GB
> download. Indexing can use several GB of memory on dense files, and a fix is
> in progress (#95).
## What you can do with it
Let an agent cite your decision records. An agent asks "why did we pick
SQLite over Postgres?", gets 0007-storage-sqlite.md:13-18, and reads
exactly those lines. Try it on the
example decision records.
Search the files grep can't read well. Ask a question of notes, PDFs or
meeting recordings and get back a line range, a page, or a time window. For
code, Seyk complements grep; it does not parse functions yet.
Embed retrieval in a Rust application. Link the library, point it at a
folder, get hits with byte ranges, with no server to run. Pre-1.0 and not on
crates.io yet; see examples/embedsearch.rs.
## See it work
Three searches over the example decision records,
run from that folder. Results are trimmed to the top hit or two:
console
$ seyk search "how do we sign someone out right away?" decisions -n 1
0.908 decisions/0015-auth-sessions.md:6-10 § 0015. Use server-side sessions instead of JWTs for the web app > Context [meaning 0.72+words]
The web app stored a signed JWT in local storage. Logging a user out, or locking an account after a password reset, could not take effect until the token expired an hour later.
$ seyk search "Sunset header" decisions -n 1
1.000 decisions/0009-api-versioning.md:12-17 § 0009. Version the public API in the URL path > Decision [meaning 0.70+words]
Every public endpoint lives under a version prefix such as /api/v2/. A breaking change creates a new version. The previous version keeps working for at least twelve months after its replacement ships, and responses from a deprecated…
$ seyk search "0015-auth-sessions.md" decisions -n 1
1.000 decisions/0015-auth-sessions.md:1-4 § 0015. Use server-side sessions instead of JWTs for the web app [meaning 0.82+words+name]
Date: 2026-08-27 Status: Accepted. Supersedes the token section of 0003.
The first question shares only the word "out" with the record it found;
meaning ranked it first. The tag in brackets shows which signals found each
hit: meaning (with its similarity), words, or the file name. The score at the
start ranks hits within one search; 1.000 means first on every signal that
found anything.
To use a hit as evidence, extract it. Seyk re-hashes the whole file first and
fails instead of returning text from a file that changed since the search:
console
$ seyk search "why did we pick SQLite over Postgres?" decisions --json -n 1 | seyk extract --from-json -
## Decision
We store tickets in a single SQLite database file in write-ahead-log mode,
收录徽章(可选)
想把收录标记放进 README 就复制这行,可选,不影响收录。
[](https://anclum.com/zh/s/certamesh-seyk/)
- 来源
- github · https://github.com/CertaMesh/seyk
- 按领域浏览
- 开源项目
- 收录来源
- 3 个独立来源
- 收录于
- 今天
同类推荐
所属领域与标签
每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。