让智能体记住证据而非文本,任务重启不丢
30.8/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/9 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查有告警:npm 同名包「credence」归属 npm/deprecate-holder,装到的可能不是本插件。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add MajidAsghariTabrizi/credence该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · chat
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 25 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查⚠ 装前注意npm 同名包「credence」归属 npm/deprecate-holder,装到的可能不是本插件
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包credence @ 2.0.0
✓Node 引擎要求 >=22.6 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/10 21:29:25
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。
可执行外部命令读写/删除本地文件
查看扫描证据(共 14 处,展示前 14 条)
- 执行外部命令来自配置/变量bin/credence.mjs:9
const result = spawnSync(process.execPath, ['--experimental-strip-types', cli, ...process.argv.slice(2)], { stdio: 'inherit' }) - 写入本地文件src/kernel/keel.ts:14
mkdirSync(missionsDir, { recursive: true }) - 读取本地文件src/kernel/keel.ts:19
if (!existsSync(this.file)) return [] - 读取本地文件src/kernel/keel.ts:21
for (const line of readFileSync(this.file, 'utf8').split('\n')) { - 写入本地文件src/kernel/keel.ts:28
appendFileSync(this.file, JSON.stringify(e) + '\n', 'utf8') - 写入本地文件src/kernel/packs.ts:21
mkdirSync(packsDir, { recursive: true }) - 读取本地文件src/kernel/packs.ts:26
if (!existsSync(file)) return null - 读取本地文件src/kernel/packs.ts:27
return JSON.parse(readFileSync(file, 'utf8')) as PackMeta - 读取本地文件src/kernel/packs.ts:41
if (!existsSync(this.packsDir)) return [] - 读取本地文件src/kernel/packs.ts:42
return readdirSync(this.packsDir, { withFileTypes: true }).filter(d => d.isDirectory()).map(d => d.name) - 写入本地文件src/kernel/store.ts:15
mkdirSync(storeDir, { recursive: true }) - 读取本地文件src/kernel/store.ts:17
if (existsSync(this.file)) { - 读取本地文件src/kernel/store.ts:18
for (const line of readFileSync(this.file, 'utf8').split('\n')) { - 写入本地文件src/kernel/store.ts:27
appendFileSync(this.file, JSON.stringify(event) + '\n', 'utf8')
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 证据优先记忆
- 不可变信念历史
- 任务重启不丢失
证据优先的智能体记忆与持久任务运行时——UNKNOWN 状态、不可变信念历史、受治理的学习,以及能扛住 kill -9 的任务。零依赖 TypeScript 内核。
README
由 DeepSeek 最新模型翻译生成credence
MOST AGENTS REMEMBER TEXT. THIS ONE REMEMBERS EVIDENCE.
credence 是证据优先的智能体记忆与持久任务运行时。它不是向量库,不是 RAG 流水线,也不是编排器——它是这些组件底下那一层:一份只追加的知识账本,每条信念都带着自己的证据,每次修正都保留历史,每次学习都要过权限闸门,每个任务都能扛过进程重启。
- 什么时候需要它:你的智能体要跑几小时甚至几天,而现在的「记忆」只是往上下文窗口里塞文本。
- 它不一样在哪:这里的知识有认识论:分级支持度、证据链接、取代链,以及一个显式的 UNKNOWN 状态。由 credence 驱动的智能体能回答:「我不知道——但这是我最接近的已知信息,以及它为什么不够格。」
KILL THE AGENT. THE MISSION CONTINUES.
(这是真实 npm run demo:kill 运行的定时回放——里面是实际捕获的输出行和 PID,不是模拟。往下看,你可以自己跑一遍。)
30 秒跑起来
需要 Node ≥ 22.6。不用安装,不用 API key,不用模型——整个 demo 都是确定性的,本地就能跑。
展开完整文档(README 剩余 1 节)
credence MOST AGENTS REMEMBER TEXT. THIS ONE REMEMBERS EVIDENCE. credence 是证据优先的智能体记忆与持久任务运行时。它不是向量库,不是 RAG 流水线,也不是编排器——它是这些组件底下那一层:一份只追加的知识账本,每条信念都带着自己的证据,每次修正都保留历史,每次学习都要过权限闸门,每个任务都能扛过进程重启。 - 什么时候需要它:你的智能体要跑几小时甚至几天,而现在的「记忆」只是往上下文窗口里塞文本。 - 它不一样在哪:这里的知识有认识论:分级支持度、证据链接、取代链,以及一个显式的 UNKNOWN 状态。由 credence 驱动的智能体能回答:「我不知道——但这是我最接近的已知信息,以及它为什么不够格。」 KILL THE AGENT. THE MISSION CONTINUES. (这是真实 npm run demo:kill 运行的定时回放——里面是实际捕获的输出行和 PID,不是模拟。往下看,你可以自己跑一遍。) 30 秒跑起来 需要 Node ≥ 22.6。不用安装,不用 API key,不用模型——整个 demo 都是确定性的,本地就能跑。 git clone https://github.com/MajidAsghariTabrizi/credence cd credence npm run demo:kill 刚才这个 kill-and-resume 只是四个招牌时刻之一。你也可以一个一个跑: | 时刻 | 命令 | 你会看到什么 | | I DON'T KNOW | npm run demo:unknown | 一个问题只有传闻、没有证据 → UNKNOWN,并给出原因。不猜。 | | I CHANGED MY MIND | npm run demo:contradiction | 新校准与旧信念冲突 → 旧主张被取代,绝不删除,整条链可查。 | | I LEARNED — BUT NOT BY MYSELF | npm run demo:governed | 工作智能体提交知识 → DENIED。所有者提交。之后工作智能体复用了它无权自学的那部分知识。 | 或者一次跑完:npm run demo。 这份 README 里每一条核心主张背后都有测试、命令或 fixture——见 PROOF, NOT PROMISES。 这个仓库拥有的五个理念 1. 带认知论的内存 一条主张不是向量里的一串字符,而是一条记录: claim c_e21f0106 text "star tracker drifts 0.02°/sol after firmware 2.1 recalibration" support measured (measured > inferred > reported) basis "post-firmware-2.1 calibration run GC-CAL-0051" evidence e_cal0051 — 21-sol drift series, slope 0.019, r²=0.99 state active (active | superseded | disputed) supersededBy [] (grows — never rewrites) 2. UNKNOWN 是一项特性 只要覆盖率低于阈值,或者证据缺失,ask 就返回 unknown —— 连同原因和最近被拒的候选一起返回。检索规则 → src/kernel/ask.ts · 演示 → npm run demo:unknown 3. 历史不可变 更正会取代旧内容。旧主张永远可读,链接到它的替代者,两者之间的冲突事件也一并保留。折叠 → src/kernel/store.ts · 演示 → npm run demo:contradiction 4. 任务比进程活得久 任务状态是磁盘上的追加式日志(keel)。杀掉进程,新进程折叠日志后继续。任务状态是运行状态 —— 它永远不会自动成为可信知识。src/kernel/keel.ts · 演示 → npm run demo:kill 5. 学习需要权限 智能体可以探索、可以提议。只有 owner/lead 能提交持久知识。被拒的提交会记入日志,不会丢失 —— 提议等待复核。src/kernel/learn.ts · 演示 → npm run demo:governed 拿证据说话,不空口承诺 | 主张 | 运行这个 | 读这个 | | 「它会说我不知道」 | npm run demo:unknown | test/kernel.test.ts · unknown | | 「它会改变想法,但不删除过去」 | npm run demo:contradiction | store.ts · supersession fold | | 「Worker 无法提交」 | npm run demo:governed | learn.ts · authority gate | | 「任务能挺过进程死亡」 | npm run demo:kill | keel.ts · durable resume | | 「检索质量可测量」 | npm run bench | bench/ · fixtures + runner | | 「零依赖」 | cat package.json | — | 基准测试是合成的、带种子的(确定性)、诚实的 —— 最新结果基于这个内核本身:unknown 检出 1.00,无法回答时的幻觉 0,复述召回 0.65(token 覆盖率检索,无嵌入),200 条主张时 ask 延迟 p95 ~1.3 ms。难看的数字照样公开。 架构 Agents worker · lead · watcher · operator (propose, never commit) Harness lifecycle · tools · keel missions (durable operational state) Brain ask · explain · investigate · learn · pulse Packs ground-control/ … each an events.jsonl (append-only, one fold away) 一个进程,一个目录,零依赖。事件日志就是数据库——不用迁移,不用服务器。深入阅读 → docs/ARCHITECTURE.md。 深挖细节 Brain 不知道答案时会怎样? ask 会给每条活跃断言打分,依据是查询覆盖率(你的问题里有多少内容 token 出现在这条断言中),再按支持等级加权。低于 0.45——或者最佳匹配没有任何证据——你会得到 state: unknown,附带 why 和被拒绝的 nearest 候选。接下来你可以 investigate:收集器汇总发现,分成持久候选(通过 learn 提交)和临时观察(永不提交——今天测出的值明天就错了)。 新证据和旧证据冲突时会怎样? supersede 增量会写入两个事件:contradiction-raised(两个 id 加备注)和 claim-superseded(旧 → 新)。折叠时把旧断言标记为 superseded,并追加后继 id。explain <claimId> 会走完整条链。什么都不删除;日志只增不减。 到底谁有权限 learn? 调用方身份是一个角色:owner、lead:、agent:、watcher。propose() 把增量记为待处理提案;agent/watcher 的提交会被拒绝,并写入 learning-denied 事件——拒绝本身也是历史的一部分。owner/lead 用 commitProposal 批准。私有断言(sensitivity: private)在存储层就被过滤掉,智能体读不到。 进程死掉后什么能活下来? 被杀之前追加的一切:断言、证据、提案、任务步骤。keel 在每一步完成之后才写入,所以中途被杀会重放那一步——不跳过,不重复。mission-resumed 事件用来统计中断次数。 真实状态 | 能力 | 状态 | | 只追加断言账本、取代、溯源 | 可用 + 已测试 | | UNKNOWN 检测(覆盖率 + 证据门限) | 可用 + 已度量 | | 权限模型(propose/deny/commit) | 可用 + 已测试 | | 持久任务、杀掉再恢复 | 可用 + 已测试(单进程命令行规模) | | Packs(领域存储) | 可用(注册表还很简陋) | | Token 覆盖检索 | 可用 + 已实测 —— 刻意保持简单;暂时没有嵌入 | | 反射 / 系统 1 层 | 未实现 | | 由 LLM 驱动的采集器 | 未实现(采集器是确定性函数 —— 自带模型) | | DeepSeek Harness 集成 | 实验性 —— integrations/deepseek-harness/ | 这是 v0.1.0:一个小而完整、诚实的核心 —— 不是平台。上面这些缺口就是路线图。 DeepSeek Harness 集成 Credence 是集成目标,不是依赖。这个适配器通过内核的编程 API,把 ask / learn / pulse 暴露给 DeepSeek Harness 智能体会话 —— 智能体可以查询账本、提交学习提案(如果它想自行提交,会被正确地拒绝)。与 DeepSeek 无隶属关系;harness 只是个好宿主。 参与贡献 欢迎提 issue 和 PR —— good first issues 已标记。请阅读 CONTRIBUTING.md。内核刻意写成约 700 行无依赖的 TypeScript:扩展它之前,先一口气读完。 许可证 MIT · © 2026 Majid Asghari Tabrizi。合成演示域(探测器 MNEMOSYNE-7)纯属虚构;若与真实航天器遥测数据雷同,那是标定误差。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
MajidAsghariTabrizi/credence
让智能体记住证据而非文本,任务重启不丢
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,487已汉化DSH
73
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,894已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,379已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
DS Bot 是一个基于 DeepSeek Harness简称 dsh的 bot 插件,插件将 dsh 改造为 bot…
★ 5,084已汉化DSH
71.1
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,778已汉化DSH
71.1
这是你的仓库?认领条目