人类与智能体共用的统一智能体记忆工作空间
64.9/100
综合分
253
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/1 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装。以下命令仍可尝试,但可能失败。
无法用 dsh 插件命令安装(仓库内无 dsh 插件清单)
git clone https://github.com/Ariestar/sivtr.git按该仓库 README 的原生方式安装;若作者另行发布了 DSH 插件包,请以其文档为准
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · search
装得上吗
作者未把包发布到 npm,只能用源码安装
插件本身没问题,是分发方式不同
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 4 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装仓库根目录及浅层子目录均无 dsh 插件清单,无法用 dsh 插件安装命令安装
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包sivtr(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/11/2 02:39:05
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 31 处,展示前 30 条)
- 执行外部命令来自配置/变量editors/vscode/src/extension.ts:81
execFile(command, ["--version"], { cwd, timeout: 5000, windowsHide: true }, (error) => { - 读取本地文件share-web/e2e/viewer.spec.ts:4
const fixture = JSON.parse(readFileSync(new URL("../tests/fixtures/rust-publication-v1.json", import.meta.url), "utf8")) as { publication_id: string; - 读取本地文件share-web/e2e/viewer.spec.ts:5
const granularFixture = JSON.parse(readFileSync(new URL("../tests/fixtures/rust-publication-v2.json", import.meta.url), "utf8")) as { publication_id: - 读取本地文件share-web/e2e/viewer.spec.ts:6
const xssFixture = JSON.parse(readFileSync(new URL("../tests/fixtures/xss-publication-v1.json", import.meta.url), "utf8")) as { publication_id: string - 写入本地文件share-web/server/self-host.mjs:59
await mkdir(dataDir, { recursive: true, mode: 0o700 }); - 写入本地文件share-web/server/self-host.mjs:128
await mkdir(publication.directory, { recursive: true, mode: 0o700 }); - 读取本地文件share-web/server/self-host.mjs:162
body = await readFile(publication.envelopePath); - 读取本地文件share-web/server/self-host.mjs:187
info = await stat(assetPath); - 读取本地文件share-web/server/self-host.mjs:194
const body = await readFile(assetPath); - 读取本地文件share-web/server/self-host.mjs:207
entries = await readdir(directory, { withFileTypes: true }); - 读取本地文件share-web/server/self-host.mjs:227
const info = await stat(path); - 读取本地文件share-web/server/self-host.mjs:251
const value = JSON.parse(await readFile(path, "utf8")); - 删除本地文件share-web/server/self-host.mjs:344
await unlink(path); - 删除本地文件递归share-web/server/self-host.test.mjs:14
await Promise.all(running.splice(0).map(({ server, root }) => new Promise((resolve) => server.close(() => resolve())).then(() => rm(root, { recursive: - 发起网络请求share-web/server/self-host.test.mjs:25
const stored = await fetch(`${fixture.base}/api/v1/publications/${ID}`); - 读取本地文件share-web/server/self-host.test.mjs:30
const metadataText = await readFile(join(fixture.dataDir, "v1", "7d", `${"c".repeat(22)}.json`), "utf8"); - 发起网络请求share-web/server/self-host.test.mjs:38
expect((await fetch(`${fixture.base}/api/v1/publications/${ID}`)).status).toBe(404); - 读取本地文件share-web/server/self-host.test.mjs:47
const metadataText = await readFile(join(fixture.dataDir, "v1", "1d", `${"d".repeat(22)}.json`), "utf8"); - 发起网络请求share-web/server/self-host.test.mjs:50
expect((await fetch(`${fixture.base}/api/v1/publications/${id}`)).status).toBe(404); - 读取本地文件share-web/server/self-host.test.mjs:51
await expect(readFile(join(fixture.dataDir, "v1", "1d", `${"d".repeat(22)}.json`))).rejects.toMatchObject({ code: "ENOENT" }); - 发起网络请求share-web/server/self-host.test.mjs:56
const response = await fetch(`${fixture.base}/s/${ID}#k=never-sent`); - 发起网络请求share-web/server/self-host.test.mjs:65
const invalidType = await fetch(`${fixture.base}/api/v1/publications/${ID}`, { - 写入本地文件share-web/server/self-host.test.mjs:83
await mkdir(distDir, { recursive: true }); - 写入本地文件share-web/server/self-host.test.mjs:84
await writeFile(join(distDir, "index.html"), "<!doctype html><title>Sivtr test viewer</title>"); - 发起网络请求share-web/server/self-host.test.mjs:100
return fetch(`${base}/api/v1/publications/${id}`, { - 发起网络请求share-web/src/worker.ts:20
async fetch(request: Request, env: Env, ctx: ExecutionContext): Promise<Response> { - 发起网络请求share-web/src/worker.ts:45
return env.ASSETS.fetch(new Request(new URL("/", request.url), request)); - 发起网络请求share-web/src/worker.ts:47
return env.ASSETS.fetch(request); - 发起网络请求share-web/viewer/src/main.ts:53
const response = await fetch(`/api/v1/publications/${encodeURIComponent(id)}`, { cache: "no-store" }); - 写入剪贴板share-web/viewer/src/main.ts:210
await navigator.clipboard.writeText(pre.innerText);
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
界面预览
5 张 · 点击查看大图功能亮点
- 统一记忆工作空间
README
由 DeepSeek 最新模型翻译生成sivtr
面向智能体和人的统一记忆空间
让智能体和终端共享同一个上下文
你的 Agent 记忆,不必是一套笨重的知识系统。
Docs
中文文档
为什么需要 sivtr?
开发者和 Agent 经常浪费时间重建已经存在的上下文:终端报错、测试输出、工具日志、之前的 AI 会话。sivtr 把这些本地工作变成可搜索的记忆,但不要求你引入一套很重的知识系统。
有了 sivtr,你可以:
- 让 Agent 修复最近一次失败,而不用自己粘贴日志;
- 几秒钟找回昨天的测试输出、构建报错或关键决策;
- 从摘要跳回当时那条命令输出或 Agent 回复;
- 把一组有用结果保存成 @failures 这样的变量,在下一条命令里继续用。
[!IMPORTANT]
Agent 工作流建议安装 sivtr CLI,用 sivtr mcp install 注册 MCP,并可选用内置 sivtr-memory skill。MCP 是 Agent 读取本地证据的主路径;skill 负责教它何时、如何调用。
特性
- MCP 优先的 Agent 记忆:一次 sivtr mcp install,Agent 直接调用 search/show/zoom/filter/status/usage/stats 工具,不用你粘贴日志。
展开完整文档(README 剩余 1 节)
sivtr 面向智能体和人的统一记忆空间 让智能体和终端共享同一个上下文 你的 Agent 记忆,不必是一套笨重的知识系统。 Docs 中文文档 为什么需要 sivtr? 开发者和 Agent 经常浪费时间重建已经存在的上下文:终端报错、测试输出、工具日志、之前的 AI 会话。sivtr 把这些本地工作变成可搜索的记忆,但不要求你引入一套很重的知识系统。 有了 sivtr,你可以: - 让 Agent 修复最近一次失败,而不用自己粘贴日志; - 几秒钟找回昨天的测试输出、构建报错或关键决策; - 从摘要跳回当时那条命令输出或 Agent 回复; - 把一组有用结果保存成 @failures 这样的变量,在下一条命令里继续用。 [!IMPORTANT] Agent 工作流建议安装 sivtr CLI,用 sivtr mcp install 注册 MCP,并可选用内置 sivtr-memory skill。MCP 是 Agent 读取本地证据的主路径;skill 负责教它何时、如何调用。 特性 - MCP 优先的 Agent 记忆:一次 sivtr mcp install,Agent 直接调用 search/show/zoom/filter/status/usage/stats 工具,不用你粘贴日志。 - 保留输出的终端捕获:记录 Bash、Zsh、PowerShell、Nushell 里的命令、stdout/stderr、退出码、目录和耗时;pipe 和 run 直接写入同一个 archive。 - 统一本地 archive:所有终端和 Agent session 先同步到一个 archive.db;provider 只负责发现和解析,搜索、筛选、导出、TUI、MCP、Web API 共用同一份记录模型。 - 40+ Agent provider:Codex / Claude Code / Cursor / Dsh / Gemini / Goose / Hermes / OpenCode / OpenClaw / Grok / Pi / Qoder / Qoder-CN / Qwen,以及更多 JSONL、SQLite、目录和容器格式——同一个 registry 和查询面。 - 精确证据,而不是摘要:每个命中都落到稳定 ref,可 show / zoom / filter,或交给下一个 Agent。 - 命名记忆变量:把结果保存成 @failures,复用 @last,管道用 @,也可 @failures[1,3..5] 取子集。 - 用量与成本:从 transcript 提取 token usage,用精确微美元整数和内置 pricing snapshot 计算成本;未知价格明确显示为 unpriced,不猜价格。 - 可选 semantic / hybrid search:配置一个 OpenAI-compatible embedding endpoint 后,用向量排序或 RRF 融合 BM25;不配置时结构化搜索仍完整可用。 - 统计、质量和可移植导入导出:stats、secret findings、starred sessions、Claude.ai/ChatGPT JSON/ZIP 导入,以及 JSON/JSONL/Markdown/HTML 导出。 - 跨设备访问:只读分享 workspace,用 desk:... ref 像读本地一样浏览另一台设备;多设备还能组成 group,成员间自动同步、一次 sync 拉齐。 - 主题可配:[theme] mode = auto|dark|light,自动跟随系统外观并检测 truecolor。 - 一键安装与诊断:sivtr setup 装 hooks + MCP;sivtr doctor --fix 自动修复。 - 人用 CLI 仍然在:search / show / filter / nav,以及 TUI 浏览器——有用,但不是主叙事。 快速开始 安装预编译 CLI(无需 Rust 工具链): cargo binstall sivtr Linux 上 cargo binstall 默认安装静态 musl 构建(不依赖系统 GLIBC 版本),与 install.sh 同源。 其它方式: cargo install sivtr # 从源码编译(需要 Rust) curl -fsSL https://raw.githubusercontent.com/Ariestar/sivtr/main/install.sh | sh # Linux/macOS/WSL 一行安装 Windows(PowerShell): irm https://raw.githubusercontent.com/Ariestar/sivtr/main/install.ps1 | iex 升级: sivtr update # 下载最新 release,SHA256 校验后原地替换 首次安装(采集 + MCP 宿主): sivtr setup # 采集 + MCP 宿主 + sivtr-memory skill(缺失时安装)或分步: sivtr init all # 或单个 shell:bash、zsh、nushell、powershell sivtr mcp install # 检测已装宿主;或 -p claude,cursor,codex,opencode,openclaw,grok,hermes,pi,qoder,qodercn,gemini,qwen,goose npx skills add Ariestar/sivtr --skill sivtr-memory -g -y sivtr doctor [!NOTE] sivtr setup 或 sivtr init 安装 shell 集成后,新开一个 shell 即可捕获命令输出,无需额外启用。升级后重新运行 init 会原位更新旧 hook。要暂停捕获,用 sivtr config edit 设置 [pty_proxy] enabled = false 并重启 shell;安装和升级都会保留这个显式关闭设置。 同步并查看 archive: sivtr sync sivtr usage daily sivtr stats [!NOTE] 在 Windows 上,如果 sivtr init powershell 提示 profile 没有加载,执行一次 Set-ExecutionPolicy -Scope CurrentUser RemoteSigned 把当前用户的执行策略调高即可。sivtr 不会修改注册表——hook 只写在你的 PowerShell profile 里。 Agent 记忆(MCP) 这是主路径。sivtr mcp install 之后,Agent 通过结构化工具读写本地终端与 AI session 记忆: | 工具 | 用途 | | sivtr_search | 找最近失败、决策、命令 | | sivtr_show | 打开命中背后的精确 record/part | | sivtr_zoom | 展开前后上下文 | | sivtr_filter | 缩小结果集 | | sivtr_status | workspace / remote / origin 状态 | | sivtr_usage | token 用量与模型成本 | | sivtr_stats | archive 活动、质量与用量统计 | 可选 skill(教 Agent 何时调用这些工具): npx skills add Ariestar/sivtr --skill sivtr-memory -g 然后直接说: 修复最近的终端报错。先用 sivtr。 Agent 应先搜本地证据、打开原文、改代码并验证——而不是让你粘贴日志。 需要自己查时,CLI 仍然可用: sivtr s terminal --status failure --latest 5 --refs sivtr s agent -m "TODO|decision|failed" --since today -f timeline 示例 更多完整玩法见 Playbooks / 玩法实例。 | 场景 | 你怎么用 | 演示 | | 修复最近的终端报错 | 对 Agent 说(MCP):修复最近的终端报错。先用 sivtr。 | | | 中断后继续 | 对 Agent 说:继续。先用 sivtr memory。 | | | 给下一个 Agent 写交接 | 对 Agent 说:给下一个 Agent 写一份带证据的交接。 | | | 生成最近工作时间线 | sivtr s agent --since today --sort oldest -f timelinesivtr s terminal --since today --sort oldest -f timeline | | | 把结果保存成变量并继续处理 | sivtr s terminal -m "panic" --save failuressivtr filter @failures --status failure --refs | | 核心概念 | 概念 | 含义 | | WorkRecord | 一个有用的工作事件:终端命令、Agent turn、工具调用或捕获输出块。 | | WorkPart | Record 里的命令、输出、assistant 回复、tool output 或 error。只想拿有用片段而不是整个事件时用它。 | | WorkRef | 某段精确记忆的稳定地址,例如 pi/<session>/3/p1。适合引用、复现和交接。 | | WorkSet | @last、@failures 这类记忆变量背后的数据:一组有顺序的 refs,可以筛选、保存、切片、管道传递、导航、扩展和展示。 | 记忆变量: | 句柄 | 用途 | | @last | 最近一次搜索或投影结果。 | | @name | 通过 --save name 或 sivtr var set name 创建的命名变量,例如 @failures。 | | @name[1,3..5] | 从已保存变量中只取几项。 | | @ | 使用管道里上一条命令传来的结果。 | 命令速查 完整命令、子命令与参数见 CLI Reference。核心命令速查: 安装与维护 sivtr setup # 一键配置:环境检测 + hooks + MCP + skill + smoke sivtr doctor --fix # 诊断并自动修复 binary/config/hooks/providers sivtr mcp install -p claude,cursor,codex # 指定宿主注册 MCP(不指定则检测已装的) sivtr update # 自更新到最新 release sivtr config show # 查看配置(init 生成默认文件 / edit 用 $EDITOR 打开) 日常使用 sivtr # TUI workspace 浏览器 sivtr run cargo test # 执行命令并捕获输出(run <COMMAND> [ARGS...]) sivtr s terminal --status failure --latest 5 --refs # 最近 5 个失败终端事件 sivtr s agent -m "panic|TODO" --since today -f timeline # 今天的 agent 决策时间线 sivtr show @last # 打开上次搜索结果内容 sivtr show desk:terminal/session_42/3 # 打开远端精确 ref sivtr copy # 复制最近命令块 sivtr copy out 2..4 # 第 2~4 块的输出 sivtr copy in --pick --regex panic # 交互挑选含 panic 的输入块 sivtr copy cmd --pick # 交互挑选命令本身 sivtr copy 3 --print # 第 3 块直接打印到 stdout sivtr usage daily --breakdown # 按天/provider/model 查看 token 与成本 sivtr usage session codex/<session-id> # 查看单个 session 的用量 sivtr export sessions --format markdown # 导出 archive 中的 session sivtr import sessions --provider chatgpt conversations.json 远程与协同 sivtr share # 交互选择 workspace 创建只读分享 sivtr share invite <share> --expires 10m # 签发单次 invite(stdout = bare key) sivtr remote add desk <invite-key> # 把队友的 share 挂成本机 remote desk sivtr group create <name> # 建组并贡献当前 workspace(如 create team) sivtr group invite <name> --expires 1d --max-uses 10 # 签发多设备 join 链接 sivtr group join <invite-key> # 加入并贡献自己的 workspacetext sivtr group members team # 组内成员与其贡献 sivtr s <peer>:terminal --status failure --latest 5 --refs # 读队友记忆像读本地 远程访问 两台装了 sivtr 的设备可以像读本地一样互相读取 workspace 的 session——用于协同开发:想看队友的终端输出或 AI 会话时,不用离开自己的机器。 ref 统一为 origin:body: text codex/4 # 本机当前 workspace docs:codex/4 # 本机另一个 workspace(按目录名) desk:terminal/... # remote add 得到的远端名 alice/sivtr:hermes/... # device/workspace 坐标 在持有 workspace 的设备上: bash sivtr share # 交互选择 workspace(Enter = 当前);只创建 share sivtr share invite <name> # 签发单次 invite(stdout = bare key) sivtr ws list # 查看本机 workspace origin 标签 在另一台设备上: bash sivtr remote add desk <invite> # 粘贴 sivtr share invite 输出的 bare key sivtr s desk:terminal --status failure --latest 5 --refs sivtr show desk:terminal/session_42/3 sivtr zoom desk:terminal/session_42/3 -C 2 sivtr nav desk:terminal/session_42/3 +1 --refs sivtr copy desk:terminal/session_42/3 --print 分享是 opt-in、只读,默认在数据离开本机前脱敏常见密钥。远程传输走加密 iroh;需要时会自动启动 daemon。未登记的 origin 会报错——用 sivtr remote add 登记 remote,或用 sivtr ws 查看本机 workspace。 群组(group) 两台以上设备要长期共享记忆时,与其各自 share 再挂载,不如组成一个群组:组内每台设备贡献自己的 workspace,成员之间自动同步、随时互相读取。 bash 组主(owner)在 A 机上: sivtr group create <name> # 建组并贡献当前 workspace sivtr group invite <name> # 签发多设备 join 链接(stdout = bare key) 成员在 B 机上: sivtr group join <invite> # 加入并贡献自己的 workspace sivtr group list # 所有组 sivtr group members <name> # 组内成员与其贡献 sivtr group sync <name> # 手动拉一次成员清单 日常使用:像本地一样读队友的记忆 sivtr s <peer>:terminal --status failure --latest 5 --refs 组由 owner 管理:rename 改名、remove <group> <peer> 踢人;owner 退出(leave)会解散整组。成员每次变更都自动同步给全组,无需手动刷新。 支持来源 | Source | 支持内容 | | Terminal | Bash、Zsh、PowerShell、Nushell shell hooks;pipe 和 run capture。 | | Codex | 本地 rollout/session JSONL files。 | | Claude Code | 本地 transcript/session files。 | | Cursor | 本地 Cursor agent transcript JSONL。 | | OpenCode | 本地 session 数据库。 | | OpenClaw | 本地 OpenClaw agent SQLite(+ legacy JSONL)。 | | Hermes | 本地 Hermes state.db(sessions/ 下 JSONL 为 residual)。 | | Grok | 本地 Grok agent sessions(~/.grok,可用 GROK_HOME)。 | | Dsh | 本地 Dsh agent sessions。 | | Gemini | 本地 Gemini CLI sessions。 | | Goose | 本地 Goose agent sessions。 | | Pi | 本地 Pi agent session logs。 | | Qoder / Qoder-CN | 本地 Qoder 与 Qoder-CN agent sessions。 | | Qwen | 本地 Qwen Code sessions。 | | 更多 provider | Amp、Aider、Antigravity、Copilot、Forge、gptme、iFlow、Kimi、Kiro、OpenHands、Poolside、RooCode、Trae、Vibe、VSCode Copilot、Windsurf、Zed、Zencoder 等。 | | Web 导入 | Claude.ai 与 ChatGPT 的 JSON/ZIP 导出,经 sivtr import sessions 写入 archive。 | 文档 - 文档:https://sivtr.pages.dev/ - 中文文档:https://sivtr.pages.dev/zh-cn/ - Playbooks:https://sivtr.pages.dev/zh-cn/playbooks/ - 命令行参考:docs-site/src/content/docs/reference/cli.md - 记忆技能:skills/sivtr-memory 开发 环境、PR 约定与编码指南见 CONTRIBUTING.md。 bash cargo fmt --all -- --check cargo clippy --workspace --all-targets -- -D warnings cargo test --workspace 文档站: bash cd docs-site bun install --frozen-lockfile bun run build 仓库结构: text crates/sivtr-core/ core model、provider parsers、archive、usage、search、config src/ CLI commands、TUI、shell hooks、hotkey integration docs-site/ Astro/Starlight documentation site editors/vscode/ AI session picker 的 VS Code bridge skills/ bundled agent skills
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
Ariestar/sivtr
人类与智能体共用的统一智能体记忆工作空间
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,379已汉化DSH
72
智能体记忆系统MemTensor/MemOS
MemOS 2.0 Stardust星尘
★ 12,228已汉化DSH
71.3
跨代理记忆库zilliztech/memsearch
跨平台语义记忆,专为 AI 编程智能体打造。
★ 2,799已汉化DSH
70.9
技能语料库EverMind-AI/SkillCorpus
SkillCorpus 能给你什么
★ 695已汉化DSH
69.8
动画花园资源检索yjl9903/AnimeGarden
動漫花園 镜像站 | 动画 BT 资源聚合站 | 动画 BT 资源开放接口
★ 1,391已汉化DSH
69.2
代码图谱记忆syncable-dev/memtrace-public
你的智能体值得拥有结构化记忆。
★ 510已汉化MCP
67.9
这是你的仓库?认领条目