FEATURED · 精选文章

Hindsight 0.5.1 发布解析:CLI 全端点覆盖、Cloudflare OAuth 代理、默认银行模板与 SiliconFlow Reranker

发布时间 / 2026/9/14 20:07:29
来源 / 创域科博编辑部
栏目 / 资讯中心
Hindsight 0.5.1 发布解析:CLI 全端点覆盖、Cloudflare OAuth 代理、默认银行模板与 SiliconFlow Reranker Hindsight 0.5.1 发布解析CLI 全端点覆盖、Cloudflare OAuth 代理、默认银行模板与 SiliconFlow Reranker【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsightHindsight 0.5.1 是一个聚焦打磨polish的发布版本它把hindsightCLI 扩展到覆盖 OpenAPI 全部端点为自托管部署引入 Cloudflare OAuth 代理与可一键下发的默认 Bank 模板新增 SiliconFlow reranker 提供者并推出面向 Node 生态的vectorize-io/hindsight-all守护进程生命周期包同时对 retain、recall、consolidation worker 和嵌入式 daemon 做了一批可靠性修复。读完本文你将了解 0.5.1 每项特性的实际用法、对应配置环境变量以及各修复项在源码中的落点可直接用于升级评估与自托管部署调优。该版本是 0.5.0 的 drop-in replacement核心 API 无破坏性变更。CLI 全端点覆盖0.5.1 中hindsightCLIRust 实现位于 hindsight-cli/src/main.rs扩展到覆盖 OpenAPI 规范中的每一个端点和每一个请求体参数——此前 CLI 尚未实现的操作只能退回到curl手动调用。从源码结构看命令子模块组织在 hindsight-cli/src/commands/ 下本次补全并完善了webhook、audit、operation、memory-history等子命令的文档与实现对应模块文件 webhook.rs、audit.rs、operation.rs 均在命令树中注册见 mod.rs 的pub mod audit;、pub mod operation;、pub mod webhook;声明其余如bank、document、entity、memory、mental_model、directive、tag、chunk、knowledge_base、explore、health等子命令也保持完整可用。错误输出方面也有两处可感知的改进API 错误现在会直接展示 HTTP 响应体response body便于定位服务端拒绝的具体原因而不是只看到一个笼统的状态码memory list命令现在正确标注 fact type修复了此前每一行都显示[UNKNOWN]的问题。Cloudflare OAuth 代理自托管 Hindsight 的 OAuth 前门自托管 Hindsight 常常位于私有网络或 Cloudflare Tunnel 之后而云端 MCP 客户端如 claude.ai、Claude Code、Codex要求远程 MCP 服务器走 OAuth 2.1 流程。0.5.1 新增的 Cloudflare OAuth 代理hindsight-integrations/cloudflare-oauth-proxy/是一个 Cloudflare Worker它把 OAuth 握手放在公网域名上完成用一个简单的密码门认证用户然后把带认证的 MCP 流量经 Cloudflare Tunnel 转发到后端 Hindsight 实例。其架构在 README 中描述为Cloud MCP Client (claude.ai, Claude Code, Codex) | | HTTPS OAuth 2.1 v Cloudflare Worker (this proxy) - OAuth 2.1 authorization server - Dynamic client registration (RFC 7591) - PKCE (S256 only) - CORS restricted to allowlisted origins | | HTTPS Cloudflare Tunnel v Self-hosted Hindsight (Docker)部署步骤前置条件一个带域名的 Cloudflare 账号、一个运行中的自托管 Hindsight 实例、一条暴露该实例的 Cloudflare Tunnel、以及 Node.js v18。安装依赖cd hindsight-integrations/cloudflare-oauth-proxy npm install配置 wrangler.toml将HINDSIGHT_ORIGIN指向你的 Cloudflare Tunnel 源地址通过npx wrangler kv namespace create OAUTH_KV创建 KV 命名空间并把 ID 填入kv_namespaces.id把routes.pattern/routes.zone_name改为代理对外的公共域名。设置四个密钥npx wrangler secret put SESSION_SECRET # 登录页密码 npx wrangler secret put PROXY_SECRET # X-Proxy-Secret 头须与源站 WAF 规则一致 npx wrangler secret put HINDSIGHT_API_TOKEN # 访问 Hindsight API 的 Bearer token npx wrangler secret put ALLOWED_EMAIL # 你的邮箱作为 OAuth 用户身份Secret用途SESSION_SECRET登录页上用于授权会话的密码PROXY_SECRET作为X-Proxy-Secret头发给源站供 WAF 校验HINDSIGHT_API_TOKEN认证 Hindsight API 的 Bearer tokenALLOWED_EMAIL你的邮箱地址用作 OAuth 用户身份执行npm run deploy部署。加固源站在 Cloudflare Tunnel 的源主机名上加一条 WAF 规则拦截不携带正确X-Proxy-Secret头的请求确保只有该 Worker 能触达你的 Hindsight 实例。部署完成后把 Worker URL 作为远程 MCP 服务器添加到客户端例如 Claude Codeclaude mcp add hindsight-remote https://hindsight.yourdomain.com/mcp --transport http。首次连接会跳转到登录页输入SESSION_SECRET密码完成授权此后每个 OAuth 会话只需一次。安全设计要点从 README 的 Security notes 看该代理是单用户设计知道SESSION_SECRET的人会被授权为ALLOWED_EMAIL务必使用高熵密钥。CORS 默认限制到claude.ai源支持其他客户端需修改src/cors.ts中的ALLOWED_ORIGINS授权服务器元数据被改写为仅声明code_challenge_methods_supported [S256]即仅 PKCE S256登录页密码比对采用基于 SHA-256 的恒定时间比较以抵御时序攻击OAuth state 存入 Cloudflare KV 并带 5 分钟 TTL、消费后即删除代理还会剥离客户端的Authorization头与任何X-Proxy-Secret尝试替换为服务端配置值后转发并对上游响应头做白名单过滤content-type、cache-control、mcp-session-id等防止源站 cookie 或自身 CORS 头经代理泄漏。项目自带 vitest 测试vitest.config.tsWorkers 专属模块隔离在src/index.ts可测单元在纯 Node 环境下运行。默认 Bank 模板一个环境变量统一下发银行配置0.5.1 新增HINDSIGHT_API_DEFAULT_BANK_TEMPLATE环境变量把一份模板清单template manifest应用到每一个新创建的 bank从而无需改应用代码或写后配置钩子即可在整个部署中标准化 bank 配置——retain mission、observations、mental models、directives 等。它与 0.5.0 引入的 Bank Template Hub 组合使用导出一份已知良好的 bank之后所有新 bank 自动获得同一基线。源码实现链路配置解析在 config.pyENV_DEFAULT_BANK_TEMPLATE HINDSIGHT_API_DEFAULT_BANK_TEMPLATEL657声明了环境变量名_parse_default_bank_templateL2659负责把原始值解析为 JSON 对象——空串/空白返回None非法 JSON 或非对象类型如数组、字符串会抛出携带变量名的ValueError这些行为由 test_bank_templates.py 中test_parse_default_bank_template_*系列用例逐一固化例如_parse_default_bank_template({version: 1, bank: {disposition_empathy: 4}})解析成功、not-json抛错。应用链路在 memory_engine.py 的_apply_default_bank_templateL13878bank 创建路径ensure_bank_exists等见 L13332、L13386 及 L16073/L18234/L20322/L21069 多处调用点会先经 http.py 的load_default_bank_template_manifest()L3836加载清单并做 schema 与语义校验再调用apply_default_bank_template_resourcesL4008落地资源。从源码注释L13321看该钩子是 best-effort模板解析或应用失败只记录 error 日志不会阻塞 bank 创建本身。测试侧 test_ensure_bank_exists_optimization.py 与 test_http_api_integration.py如test_legacy_bank_writes_apply_default_bank_template验证了含旧路径 bank 写入在内的各创建入口都会触发该钩子。使用方式将导出的 bank 模板 JSON 整体设为环境变量值即可例如HINDSIGHT_API_DEFAULT_BANK_TEMPLATE{version: 1, bank: {disposition_empathy: 4}}SiliconFlow Reranker新的重排提供者SiliconFlow 现在作为受支持的 reranker 提供者加入与既有选项并列为自托管和成本敏感型部署多一个托管 reranker 选择配置方式与其他 provider 完全一致通过HINDSIGHT_API_RERANKER_PROVIDER指定。从源码看cross_encoder.py 中 SiliconFlow 走 Cohere 兼容的/rerank接口注释见 L858provider 工厂在 L1932 处按provider siliconflow分发读取siliconflow_api_key、siliconflow_model、siliconflow_base_url、siliconflow_timeout等成员配置缺少 API key 时会给出明确报错L1976 的错误信息列出了全部支持的 providerlocal, tei, cohere, zeroentropy, siliconflow, alibaba, google, flashrank, litellm, litellm-sdk, rrf, jina-mlx。config.py 中该变量的默认值为localL1220 的DEFAULT_RERANKER_PROVIDER即不配置时行为不变。守护进程生命周期包vectorize-io/hindsight-allvectorize-io/hindsight-all是一个新的 npm 包仓库目录 hindsight-all-npm/实现见 server.ts、command.ts管理一体化守护进程的完整生命周期——启动、停止、健康检查——让 Node 应用无需自行 spawn 子进程即可在本地拉起/关闭 Hindsight适合本地开发、嵌入式部署以及每次运行都需要全新 Hindsight 实例的测试框架。要点摘自 README它刻意不内置 HTTP clientdaemon 起来后配合vectorize-io/hindsight-client指向server.getBaseUrl()使用。两个包各司其职——一个管进程一个管 HTTP API 面。要求 Node.js 22使用全局fetch与AbortSignal.timeout且PATH上有uv/uvx首次使用时用于下载并运行底层hindsight-embeddaemon。HindsightServerOptions采用开放配置env接受任意Recordstring, string每个键值都会导出到 daemon 进程并经--env KEYVALUE写入 profile 配置extraProfileCreateArgs/extraDaemonStartArgs可追加原始参数。因此底层 daemon 新增任何环境变量或 CLI flag 都不必等 wrapper 发版。典型用法import { HindsightServer, consoleLogger } from vectorize-io/hindsight-all; import { HindsightClient } from vectorize-io/hindsight-client; const server new HindsightServer({ profile: my-app, port: 9077, env: { HINDSIGHT_API_LLM_PROVIDER: anthropic, HINDSIGHT_API_LLM_API_KEY: process.env.ANTHROPIC_API_KEY, HINDSIGHT_API_LLM_MODEL: claude-sonnet-4-20250514, }, logger: consoleLogger, }); await server.start(); const client new HindsightClient({ baseUrl: server.getBaseUrl() }); await client.retain(user-123, User prefers dark mode and concise answers., { documentId: pref-2026-04-01, }); const recall await client.recall(user-123, what are the user preferences?); await server.stop();API 面为HindsightServerstart、stop、checkHealth、getBaseUrl、getProfile、Logger接口silentLogger默认、consoleLogger以及低层助手getEmbedCommand(opts)。Python 侧对应的嵌入式包见 hindsight-all/ 与 hindsight-embed/。可靠性修复清单0.5.1 集中修复了一批生产环境中暴露的边界情况Recall RRF 排序reranker 配置为 passthrough 时RRF 排序现在端到端保留不再被静默替换。异步查询嵌入recall 对查询向量改用异步批量嵌入路径移除了事件循环上的一次阻塞调用。retain chunk 插入幂等chunk 插入在完整性错误integrity error下不再重试消除了并发 retain 场景下一类重复插入循环。ANN 种子表入事务retain 的 ANN seeds 临时表现在在其事务内创建修复了并发负载下间歇性的 relation does not exist。Consolidation 槽位记账worker 现在在配置的max_slots内预留 consolidation 槽位不再偶发超配。嵌入式 daemon 生命周期daemon 启动与停止被串行化启动新实例不会再中途杀掉一个健康实例对应本仓库 hindsight-all-slim/ 与 hindsight-all/ 的 daemon 管理路径。macOS 本地嵌入/reranker恢复了 macOS 上本地嵌入与 reranker 的FORCE_CPU默认值——此前的回归会导致部分 Apple Silicon 机器 GPU 初始化失败。这与 config.py L3763 附近对 local embeddings/reranker 的本地推理设备判断逻辑相关。Reranker 错误透出reranker 初始化现在暴露真实的 import 错误而非泛化失败并绕开了 jina-mlx 路径中 Transformers 5.x 的一个竞态。推理模型与 Azure OpenAILLM 调用对 reasoning 模型和 Azure OpenAI 改为发送max_completion_tokens替代max_tokens修复了近期 OpenAI reasoning 系列模型的请求失败。reflect 子调用计费reflect 内部发起的 recall 调用现在标记为 internal不再对调用方重复计费。文档配套更新Mental model 标签过滤文档澄清 tags 过滤的是 refresh 期间使用的源记忆。Audit logging 明确文档化为默认关闭。retain 的update_mode参数获得完整文档。CLI 参考新增 webhook、audit、operation、memory history 子命令文档对应上文 hindsight-cli/src/commands/ 中新增的子命令模块。升级说明Hindsight 0.5.1 是 0.5.0 的 drop-in replacement核心 API 无破坏性变更现有 retain/recall/reflect 调用方无需改动即可升级。变更重点集中在 CLI 覆盖度、自托管身份接入Cloudflare OAuth 代理、部署标准化HINDSIGHT_API_DEFAULT_BANK_TEMPLATE、reranker 可选面SiliconFlow与 Node 生态嵌入vectorize-io/hindsight-all建议正在自托管运行 Hindsight 的团队关注 Cloudflare 代理与默认 bank 模板两项能力它们直接降低自托管的接入与配置成本。【免费下载链接】hindsightHindsight: Agent Memory That Learns项目地址: https://gitcode.com/GitHub_Trending/hindsight2/hindsight创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED — 相关阅读

相关资讯

LATEST — 最新资讯

最新发布

TODAY — 本日精选

新闻

WEEKLY — 本周精选

新闻

MONTHLY — 本月精选

新闻