{"full_name":"volcengine/OpenViking","owner":"volcengine","name":"OpenViking","url":"https://github.com/volcengine/OpenViking","description":"Self-evolving Context Database for AI Agents. Unify Agent Memory, Knowledge RAG and Skills.","homepage":"https://openviking.ai","topics":[],"language":"Python","license":"AGPL-3.0","avatar":"https://avatars.githubusercontent.com/u/67365215?v=4","created_at":"2026-01-05T07:11:17Z","pushed_at":"2026-11-10T09:37:49Z","metrics":{"stars":41910,"forks":3429,"watchers":109,"issues":1681,"prs":5419,"releases":105,"issues_open":null,"issues_closed":null,"prs_open":null,"prs_closed":null,"prs_merged":null,"discussions":107},"growth":{"day":{"stars":66,"forks":9,"base_day":"2026-11-09"},"week":{"stars":529,"forks":67,"base_day":"2026-11-03"}},"history":{"dates":["2026-10-26","2026-10-27","2026-10-28","2026-10-29","2026-10-30","2026-10-31","2026-11-01","2026-11-02","2026-11-03","2026-11-04","2026-11-09","2026-11-10"],"stars":[40654,40681,40744,40888,40960,41055,41138,41196,41381,41452,41844,41910],"forks":[3283,3290,3298,3314,3319,3328,3336,3343,3362,3376,3420,3429],"watchers":[113,113,108,108,108,110,109,110,111,110,109,109],"issues_open":[null,null,null,null,null,null,null,null,null,null,null,null],"prs_open":[null,null,null,null,null,null,null,null,null,null,null,null]},"boards":{"weekly":196},"same_owner":[{"full_name":"volcengine/MineContext","name":"MineContext","boards":{}}],"issues":[{"number":5038,"title":"[Question]: Performance bottlenecks in Agent execution & file processing + Questions on Bulk URL uploads & PDF page tracking","comments":9,"created_at":"2026-09-15T03:19:08Z"},{"number":4612,"title":"[Bug]: v0.4.17.1 L0 directory abstracts not generated — Lock error wrapping + missing parent rollup","comments":9,"created_at":"2026-09-02T15:38:58Z"},{"number":4043,"title":"[Bug]: preferences 按 LLM 推断的 user 字段分裂成多个用户名子目录","comments":9,"created_at":"2026-08-16T20:32:36Z"},{"number":3508,"title":"[Bug]: memory extraction fails with llama.cpp when LLM returns list instead of dict (adds always empty)","comments":9,"created_at":"2026-07-24T12:32:23Z"},{"number":6262,"title":"[Feature]: Use-based lifecycle for Experiences and Session Skills (count recall exposure, archive what never gets used)","comments":8,"created_at":"2026-10-19T03:27:14Z"},{"number":4555,"title":"[Bug]: add-resource task 任务完成了，但 openviking 底层文件系统(对象存储)上没有相关文件","comments":8,"created_at":"2026-09-01T03:37:07Z"},{"number":5841,"title":"[Bug]: /mcp answers unknown methods (including the 2026-07-28 server/discover probe) with -32602, so modern MCP clients re-probe 17× before falling back","comments":7,"created_at":"2026-10-09T17:11:23Z"},{"number":5828,"title":"[Bug]: entities category guidance is language-branched and freely invented, splitting one topic into multiple category directories","comments":7,"created_at":"2026-10-09T11:10:45Z"}],"discussions":[{"number":7215,"title":"实测：给记忆系统降推理档，账本上通常不省钱（24h 观测 + 三臂对照）","comments":1,"category":"Show and tell","created_at":"2026-11-08T01:23:26Z"},{"number":7213,"title":"RFC：新增 `ov privacy run`，让 agent 默认不把密钥带进上下文","comments":1,"category":"RFC","created_at":"2026-11-07T18:32:35Z"},{"number":7098,"title":"[RFC] An explicit evidence contract for text, image hits and Ragas evaluation","comments":0,"category":"RFC","created_at":"2026-11-05T10:48:59Z"},{"number":6967,"title":"OV Web Clipper: a local-first Chrome extension for clipping webpages directly into OpenViking","comments":0,"category":"Show and tell","created_at":"2026-11-03T12:05:23Z"},{"number":6761,"title":"请问，什么时候开源最近宣传  step 3d 模型格式的支持？","comments":0,"category":"Q&A","created_at":"2026-10-29T09:17:24Z"},{"number":6317,"title":"auth_mode=trusted模式下怎么配置才能正常compile？","comments":1,"category":"Q&A","created_at":"2026-10-20T02:02:12Z"},{"number":6280,"title":"从远程git仓库上传文件的时候，openviking不能上传图片","comments":0,"category":"RFC","created_at":"2026-10-19T08:19:36Z"},{"number":6277,"title":"从远程git仓库上传文件的时候，openviking不能上传图片","comments":0,"category":"RFC","created_at":"2026-10-19T07:46:38Z"}],"latest_release":{"name":"v0.5.3","tag":"v0.5.3","published_at":"2026-11-02T06:33:38Z","body":"# OpenViking v0.5.3\n\n## 中文\n\nOpenViking v0.5.3 在 v0.5.2.1 之上合入 98 个提交，重点是 Rules（Beta）、存储与路径锁可靠性、鉴权与账户管理、Gateway 多副本、Compile 加固和 Agent 插件改进。本版本包含少量管理接口与旧 Session 兼容的破坏性变更，升级前请阅读下方说明。配套发布 `python-sdk@0.1.18`。\n\n### 重点更新\n\n- **Rules（Beta）**：新增 Rule 服务，并向 Agent 暴露 `openviking_rule_search` 工具，附中英文指南与 API 参考（#6364、#6613）。\n- **存储与路径锁**：新增事务型 SQLite path lock、按 scope 批量刷新 Redis 租约、拒绝跨 scope 的 Tree 锁与路径别名绕过、令牌丢失后撤销租约授权、Provider 迁移后恢复持久化交接；修复递归删除导致 PathLock 提前失效、中文路径旧锁交接恢复；新增可选 Redis 目录 TTL、多写 IOPS 优化（#6679、#6665、#6685、#6687、#6704、#6745、#6631、#6620、#6392、#6646）。\n- **鉴权与账户**：支持用户自助轮换 API Key；管理员列表只显示调用者自己的 user key；校验身份角色；支持角色降级与大小写不敏感输入；Group 成员改为批量添加（#6649、#6610、#6752、#6714、#6796）。\n- **Gateway**：独立 Gateway 可基于 Redis 多副本运行；Session 过期按秒配置；Responses 中 `tools: null` 正常透传；内嵌 Gateway 数据存放在 `storage.workspace` 下（#6513、#6651、#6309、#6800）。\n- **Compile / 检索**：加固目标版本与定时更新、拒绝 system 命名空间作为输入/输出、支持图片源；context 模式可选 rerank 并解耦 `rerank.threshold`；在线检索绕过入库并发限制；新增 L2 chunk size 配置（#6615、#6634、#6794、#6719、#6605、#6730、#6660）。\n- **Agent 插件与连接器**：新增 CodeBuddy Code CLI 适配、DeepSeek Harness Desktop、钉钉连接器 OAuth、安装后 Agent onboarding 与历史导入脚本；修复 Codex/pi/opencode/Hermes/MAF 等插件的捕获、提交与去重问题（#5860、#6626、#6609、#6003、#6597、#6598、#6032、#6020、#6799、#6230）。\n- **Studio / CLI**：改进 Compile 首次使用流程、终端文件系统操作命令、会话面板与指标自适应；CLI 新增 OVPack 进度反馈，`add-resource --wait` 轮询任务状态（#6491、#6729、#6675、#6487）。\n\n### 破坏性变更与升级说明\n\n- **旧 Session 路径兼容移除**（#6642）：日常读写只访问 `viking://user/{user_id}/sessions/...`；旧 `viking://session/...` URI 返回 `INVALID_URI`，仅存在于旧目录的 Session 视为不存在。\n- **旧会话迁移退役**（#6746）：`POST /api/v1/admin/migrate` 现在返回 `400 INVALID_ARGUMENT`；`ov admin migrate` 及 Python/TypeScript/Go SDK 对应方法已移除。仍有 0.3.x 遗留会话的部署请在旧版本完成迁移后再升级。\n- **Group 成员批量接口**（#6796）：`PUT /api/v1/admin/accounts/{account_id}/groups/{group_id}/members` 接收 `{\"user_ids\": [...]}`（1–1000 个）；旧的 `PUT /members/{user_id}` 已移除，单个用户请传单元素数组。\n- **身份校验收紧**（#6752）：未知角色和缺失的注册身份会被拒绝。\n\n### 兼容性与验证\n\n- 发布目标：`178a8cdfb41b51e7d24c4bf79a13cc54981e0ee8`。\n- 配套 SDK：`openviking-sdk` 0.1.18（`python-sdk@0.1.18`）。\n- 完整变更范围：[v0.5.2.1...v0.5.3](https://github.com/volcengine/OpenViking/compare/v0.5.2.1...v0.5.3)。v0.5.2.1 分支上的热修复均已包含在本版本中。\n\n### 首次贡献者\n\n感谢以下首次贡献者：[@caozeal](https://github.com/caozeal)、[@zhanglistar](https://github.com/zhanglistar)、[@Huxc2020](https://github.com/Huxc2020)、[@wang2-lat](https://github.com/wang2-lat)、[@vriebge](https://github.com/vriebge)、[@DURUII](https://github.com/DURUII)、[@lvheyang](https://github.com/lvheyang)。\n\n## English\n\nOpenViking v0.5.3 adds 98 commits on top of v0.5.2.1. The main areas are Rules (Beta), storage and path-lock reliability, auth and account management, multi-replica Gateway, Compile hardening, and agent plugin improvements. A few admin APIs and legacy Session paths change incompatibly; review the notes below before upgrading. Ships alongside `python-sdk@0.1.18`.\n\n### Highlights\n\n- **Rules (Beta)**: new Rule service and an `openviking_rule_search` tool for agents, with English and Chinese guides and API reference (#6364, #6613).\n- **Storage and path locks**: transactional SQLite path locks, batched Redis lease refresh per scope, rejection of cross-scope Tree locks and path-alias bypasses, lease revocation after token loss, and durable handoff recovery after provider migration. Fixes early PathLock expiry during recursive delete and legacy lock handoff for Chinese paths. Also adds an opt-in Redis directory TTL and multi-write IOPS optimizations (#6679, #6665, #6685, #6687, #6704, #6745, #6631, #6620, #6392, #6646).\n- **Auth and accounts**: self-service user API key rotation, admin listings that reveal only the caller's own user key, identity role validation, role demotion with case-insensitive input, and batch group-member additions (#6649, #6610, #6752, #6714, #6796).\n- **Gateway**: the standalone gateway can run as a multi-replica service on Redis. Session expiry is configured in seconds, a null `tools` field in Responses replies is relayed instead of failing, and embedded gateway data lives under `storage.w"},"readme":true,"readme_zh":false,"news":[{"title":"Show HN: We Build Shareable Context Layer for Agent Teams","url":"https://github.com/volcengine/OpenViking","hn":"https://news.ycombinator.com/item?id=50410477","source":"Hacker News","lang":"en","date":"2026-11-08","points":2,"comments":1},{"title":"OpenViking 记忆插件共享库深度解析：工作区 Peer 身份、召回隔离与分层配置","url":"https://blog.csdn.net/gitblog_00662/article/details/164884238","source":"blog.csdn","lang":"zh","date":"2026-09-10"},{"title":"为 OpenClaw 安装 OpenViking 插件：长期记忆、知识库检索与 RAG 上下文完整接入指南","url":"https://blog.csdn.net/gitblog_00645/article/details/164885106","source":"blog.csdn","lang":"zh","date":"2026-09-10"},{"title":"OpenViking：Agent 的记忆、RAG 与 Skills 为什么要合成一层","url":"https://www.bilibili.com/zh-Hant/video/BV1BP846JEdW/","source":"bilibili","lang":"zh","date":"2026-08-23"},{"title":"GitHub 趨勢周報 Vol.29：代理記憶與程式碼圖譜補上長期脈絡，資安技能庫規模化","url":"https://cyberq.tw/2026/08/22/github-trends-weekly-report-vol-29/","source":"cyberq","lang":"zh","date":"2026-08-21"},{"title":"OpenViking 实战教程：搭建多仓库代码语义检索系统，赋能 AI 助手 & OpenClaw 记忆插件 2.0 升级","url":"https://www.51cto.com/article/839190.html","source":"51CTO","lang":"zh","date":"2026-03-27"},{"title":"给“龙虾”AI Agent装上记忆功能！字节开源了AI 上下文数据库：OpenViking","url":"https://news.qq.com/rain/a/20260314A01PSH00","source":"腾讯网","lang":"zh","date":"2026-03-13"},{"title":"重磅！OpenClaw+OpenViking 正式登陆鲲鹏，打造端到端AI Agent最佳实践","url":"https://www.csdn.net/article/2026-03-11/158930115","source":"csdn","lang":"zh","date":"2026-03-11"},{"title":"DeepSeek Harness不可错过的12款神器！还有崔添翼推荐的","url":"https://news.google.com/rss/articles/CBMi-gFBVV95cUxQTUN2enpSeTlFTDZadTdLc2l1NTJWRElIREY3eWlZN3VmZEVjTThQZEpxdDF6NjRFU21vc2dQenhLTC16bXVhdGUxT2N5WkM4TG5HNEh5SFprQXFvMEM5U3BqbjJ5ZTFZWlFDY3Y2QnRVWm0zM3RjSm1VWXZKcUpXNjc4aWpOWElNUUxITzFDanpzdkpkdkFLTW1fZ1AxZ1B6a0x2dEQzNERuZzVlUjJoQXdvRXBodlpPaWtEUGwxcV9ETThsYVlUTGdyT1VnWWVFVk1oODhJTG1JdHNFaEhVd2tNM0FhN2xjM3h1WkJLbEZSNWx2NmdaajFB?oc=5","source":"新浪新闻_手机新浪网","lang":"zh","date":"2026-10-21"},{"title":"10 GitHub Repositories for Modern Database Systems and Tools","url":"https://news.google.com/rss/articles/CBMijwFBVV95cUxQaS1SUlFrNHBHNVVFRWV1YUZmbWdoMFlLZ2dGM1JmUHdsUE90UlhUSkFXTWl6azVLekN6UlRGTEpWR2VMb0VoUFFrVmN5cUU5SHBXekdLeVdoUElNcUllR0tHYWROei1NT2ZEbGFXaTlDR01MWk9pYjgzVF9kVnc0R040djdrVjZIcFhLOVpqZw?oc=5","source":"KDnuggets","lang":"en","date":"2026-06-02"},{"title":"OpenViking x OpenClaw：开箱即用，解决 Agent 的长期记忆困局","url":"https://news.google.com/rss/articles/CBMiXkFVX3lxTE5tckdkUFdZY3U2clRQbmxXd25HYndzRlJILTdUZkF0WXhxY3N1N3BoRkNUSTE5emd5RFJoV3dkSzZ0VXEtTzBGR3B1czAySi00ZUEwd2c0WkRJZjRtd3c?oc=5","source":"InfoQ.cn","lang":"zh","date":"2026-03-17"},{"title":"OpenViking 深度解析：字节跳动如何用\"文件系统\"思维重新定义 AI Agent 的记忆","url":"https://news.google.com/rss/articles/CBMiekFVX3lxTE1HZnBqWFlZWWF2OGNGY1V5MzFtaUJ1SHlydUFTYnJkTWgyMURoX1pVZXJfRTZWWEM0ekhJb3NiTFl1WVpwNkZVdlNqZDVHelZfU3FidTBhMFJKOXJpRFFIajE0UEJhS1BjNGJETjFfek80dlQ1MndGZHhn?oc=5","source":"www.80aj.com","lang":"zh","date":"2026-02-20"},{"title":"OpenViking：面向 Agent 的上下文数据库","url":"https://news.google.com/rss/articles/CBMiXkFVX3lxTE9adHNKX0pzN0s5QmlidzZzemdvS3lnTmczYy1oYms0Ul93TFBfbzZIMEN0VXBSVExPa01oUWNVWFJORXNDTTFCcEJKeG9VOVZqV2pFV1JFb1poN2pZSnc?oc=5","source":"InfoQ.cn","lang":"zh","date":"2026-02-05"}],"stale":false,"snapshot_at":"2026-11-10T09:35:25Z","history_start":"2026-09-06"}