Tenon 是一个微内核,用于在 BEAM 上组合长期运行的智能体系统。该内核是一个 Erlang…
29.3/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/31 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
自动兼容检查未通过:缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装;安装清单取自 bridge/dsh/profile/package.json。以下命令仍可尝试,但可能失败。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add harry-ma-qiang/tenon该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:需留意
是什么
dsh 原生插件 · other
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 18 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
⚠︎ 实装验证未通过(unknown · 2026/10/15) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查需源码安装缺少 main/exports/bin 入口声明;仓库 package.json 标记 private,未发布到 npm,需从源码安装;安装清单取自 bridge/dsh/profile/package.json
展开查看检查明细 ↓
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✗npm 包dsh-profile-tenon(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明
源码安装时若 pnpm 拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑。
验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/11 22:21:03
安全扫描自动 · 静态分析源码v2.7.0🟢 扫描:未发现敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。
扫描于 2026/11/4(0 天前) · 范围 全包扫描 · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
功能亮点
- 微内核智能体运行时
- 支持热插拔
- 高韧性
Tenon(榫)是 DeepSeek Harness(Cordis)的移植版,一个微内核智能体运行时,支持热插拔,韧性高。
README
由 DeepSeek 最新模型翻译生成Tenon
Tenon 是一个微内核,用于在 BEAM 上组合长期运行的智能体系统。该内核是一个 Erlang 模块:一个插件、服务和钩子的注册表,具备生命周期、依赖门控、事件分发和效果处置,外加一个线协议,使插件可以是任何语言的进程。其他一切——配置加载器、YAML 方言、DSH 桥接、语言 SDK、CLI——都是内核之外的插件或调用者。
一个运行中的系统是一棵纤程(fiber)树。每个纤程拥有一个插件实例。插件发布服务并注册钩子;VM 外的插件使用线协议(4 字节长度 + fd 3/4 上的 JSON 帧)通信,并通过句柄(handle)传递批量数据,绝不作为帧传递。当一个纤程死亡时,无论干净还是暴力,它注册的任何东西都不会存活。
设计参考:Cordis(MIT),见 NOTICE。决策、阶段计划和状态:NOTES.md。
状态:P4 完成(P4.0-4.8;P4.3 热段有意推迟到 P5),2026-08-20 独立 QA:所有门禁通过(beam 51,Rust 单元测试 101 + P4 集成门禁),在单文件发布二进制上用真实模型端到端验证(bus/kv/timer、tenon run、ingress、webhook、双向 MCP、备份/恢复重放、tenon doctor),发现并修复了五个 P4.4 环境隔离缺陷,密钥扫描干净。
展开完整文档(README 剩余 1 节)
Tenon Tenon 是一个微内核,用于在 BEAM 上组合长期运行的智能体系统。该内核是一个 Erlang 模块:一个插件、服务和钩子的注册表,具备生命周期、依赖门控、事件分发和效果处置,外加一个线协议,使插件可以是任何语言的进程。其他一切——配置加载器、YAML 方言、DSH 桥接、语言 SDK、CLI——都是内核之外的插件或调用者。 一个运行中的系统是一棵纤程(fiber)树。每个纤程拥有一个插件实例。插件发布服务并注册钩子;VM 外的插件使用线协议(4 字节长度 + fd 3/4 上的 JSON 帧)通信,并通过句柄(handle)传递批量数据,绝不作为帧传递。当一个纤程死亡时,无论干净还是暴力,它注册的任何东西都不会存活。 设计参考:Cordis(MIT),见 NOTICE。决策、阶段计划和状态:NOTES.md。 状态:P4 完成(P4.0-4.8;P4.3 热段有意推迟到 P5),2026-08-20 独立 QA:所有门禁通过(beam 51,Rust 单元测试 101 + P4 集成门禁),在单文件发布二进制上用真实模型端到端验证(bus/kv/timer、tenon run、ingress、webhook、双向 MCP、备份/恢复重放、tenon doctor),发现并修复了五个 P4.4 环境隔离缺陷,密钥扫描干净。性能远在每项 RFC 预算之内(总线扇出 282k msg/s,发布->订阅者 p99 1.3 µs;查询文本 p99 0.48 ms,在 100 万事件时扫描 p99 70 ms)。证据和如何审查:REVIEW-P4.md。P3 的早期通过:REVIEW-P3.md。下一步:P5 内存 + 导航器。 布局 | 路径 | 内容 | 语言 | | kernel/ | 原子内核,src/tenon.erl,零依赖 | Erlang | | loader/ | 配置树插件:yml 层、补丁、组、DSH 折叠 | Elixir | | cli/ | tenon escript:start / dump / check | Elixir | | beam/ | tenon_beam:节点发布,链接 + 守护插件 | Elixir | | rs/ | tenon 二进制和骨架:基础、存储、沙箱、角色 | Rust | | sdk/ | 线协议 SDK py/、ts/、rs/ + test/ 一致性套件 | Python、TS、Rust | | bridge/dsh/ | tenon-bridge:整个 DeepSeek Harness 作为一个插件 | TypeScript | | plugins/term/ | tenon-term:进程运行器,完整的句柄示例 | Rust | | playground/ | 临时插件和一个 DSH 主目录,被 git 忽略 | — | 快速开始 一个文件。tenon 是一个单一二进制文件,包含整个 BEAM 发布——ERTS、内核、加载器、守护和网关——作为有效载荷嵌入,并在首次运行时解压到 ~/.tenon/erts/。使用它无需安装其他任何东西:不需要 Erlang,不需要 Elixir,不需要容器引擎(会检测沙箱后端,骨架在没有沙箱的情况下也能启动)。 curl -fsSLO https://github.com//tenon/releases/latest/download/tenon-linux-x86_64 sha256sum -c tenon-linux-x86_64.sha256 && chmod +x tenon-linux-x86_64 && mv tenon-linux-x86_64 ~/bin/tenon tenon start # 基础 + 守护节点 G + 根环境 tenon status # 哪些在运行、使用哪个沙箱后端、哪个版本 tenon run "summarise this repo" # 一个任务,从会话日志中流式输出 tenon attach --ui # 内置的 ASCII UI tenon stop 先把它指向一个模型 —— ~/.tenon/profiles/root/harness.yml 保存了提供商、模型以及你的密钥所在环境变量的名称;密钥永远不会进入沙箱。rs/README.md 是主目录布局、角色和沙箱后端的参考文档,deploy/README.md 则介绍了如何在 systemd 或 launchd 下运行它。 要自己构建那个二进制文件,或者参与 Tenon 的开发: scripts/build-release.sh --verify # -> dist/tenon-- + .sha256 为此以及以下所有内容所需的工具链:OTP 27 和 Elixir 1.18 (mise use -g erlang@27 elixir@1.18-otp-27)外加一个稳定的 rust 工具链;node 22+ 配合 pnpm 用于 TypeScript 部分,python3 用于 sdk/py。仅内核本身只需要前一对。 cd cli && mix escript.build # -> cli/tenon,下面的配置树 CLI 从配置树运行一个 python 插件。两个文件,均相对于 cli/: yaml demo/cordis.yml - id: calc name: py:calculator demo/registry.yml "py:calculator": cmd: /usr/bin/python3 args: ["../playground/plugins/math_calculator.py"] ./tenon check demo/cordis.yml --registry demo/registry.yml # 任何错误行都会以退出码 1 结束 ./tenon dump demo/cordis.yml --registry demo/registry.yml # 行和解析后的类型 ./tenon start demo/cordis.yml --registry demo/registry.yml # 挂载并保持运行 start 会打印树并保持运行:SIGHUP 重新读取各层并应用差异, SIGTERM 卸载并停止。通过添加 @deepseek-ai/dsh- 行并将 collapse 指向一个 DSH 检出,即可将 DSH 作为单个插件运行: ./tenon start demo/cordis.yml --dsh-home ~/.dsh --dsh-root ../../deepseek-harness \ --dsh-bridge ../bridge/dsh/dist/plugin.js 该命令行的前提条件:一个已完成 pnpm install、pnpm run build:lib:host 和 build:lib:client 的 DSH 检出,以及 cd bridge/dsh && pnpm install && pnpm run build。 DSH 兼容性 L1 —— 配置文件。 cordis.yml、cordis.patch.yml、profiles 和 bundles 原样接受,并组合成同一棵树(loader/)。 * L2 —— TS 插件。 DSH 插件未经修改即可在单个 Node 进程中的真实 Cordis 上运行,作为一个 Tenon fiber 挂载(bridge/dsh/)。 * L3 —— 共享总线。 选定的 DSH 服务和事件通过清单镜像到 Tenon 总线上,因此任何语言的插件都可以拒绝 DSH 工具调用。 门禁 每次提交,在你所触及的每个项目中: | 项目 | 门禁 | | kernel/ | mix compile(erlc 警告视为错误)、mix format --check-formatted、mix test | | loader/、cli/ | 同上,外加 mix credo --strict | | sdk/test/、bridge/dsh/test/ | mix test | | beam/ | loader 门禁,外加 MIX_ENV=prod mix release | | rs/ | cargo build --release、cargo clippy --all-targets --all-features -- -D warnings、cargo fmt --check、cargo test --all-features(需设置 TENON_RELEASE_DIR;对抗性测试套件单独运行) | | sdk/rs/、plugins/term/ | cargo build --release、cargo clippy --all-targets -- -D warnings、cargo fmt --check | | sdk/ts/、bridge/dsh/ | pnpm exec tsc --noEmit | 每次推送和拉取请求都会运行相同的门禁(.github/workflows/ci.yml);v* 标签会构建并发布适用于 linux-x86_64、linux-aarch64 和 macos-arm64 的单一二进制文件(.github/workflows/release.yml)。 面向智能体和人类的编码规则:AGENTS.md。 AI 自我进化 Tenon 刻意保持小巧:一个机器可以阅读、理解并改进的内核。为了验证这一点,我们放出了一个现成的 CLI 编码智能体——在沙箱中运行、限流并全程审计——让它从源码阅读内核并提出改进建议,而绝不触碰真实代码树。仅通过阅读源码,它就发现了内核中一个真实且未修补的拒绝服务漏洞(通过线路提供的字符串导致原子表耗尽),以及消息总线中一处真实的规范与实现偏差;两者均经人工验证。完整的记录、方法、结论和可复现性说明:docs/ai-self-evolution.md。 许可证 MIT,参见 LICENSE。Tenon 是 Cordis 内核概念的功能性移植;此处未复制或再分发任何 Cordis 源代码,参见 NOTICE。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
harry-ma-qiang/tenon
Tenon 是一个微内核,用于在 BEAM 上组合长期运行的智能体系统。该内核是一个 Erlang…
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,269已汉化DSH
70.8
这是你的仓库?认领条目