KossJS: 一个可嵌入的 JavaScript 运行时
KossJS: 一个可嵌入的 JavaScript 运行时KossJS 是一个基于 Rust 实现的 ECMAScript 引擎Boa构建的可嵌入式 JavaScript 运行时。它以动态链接库.dll/.so/.dylib的形式分发通过标准 C ABI 暴露接口可以被任何支持 C FFI 的编程语言调用——Python、C/C、C#、Java、Kotlin、TypeScript 等皆可集成。核心特性标准化 C ABI所有功能均通过 C 接口导出语言绑定简单可靠。已提供 Python、TypeScript 等语言的封装示例。跨平台支持提供 Windows、Linux、macOS、Android、HarmonyOS、iOS 平台的预编译动态库iOS 仅限内部测试不可用于 App Store 分发。自带标准库内置 24 个koss:*原生模块io、crypto、system、http、net、path、stream、zlib等所有 API 同步优先、基于Uint8Array、零外部依赖。Node.js 兼容层提供 25 个 Node.js 标准库模块fs、path、http、crypto、stream、zlib等支持require和 ES Module 两种导入方式底层委托koss:*模块实现。Bun / Deno 兼容层提供部分 Bun APIBun.write、Bun.file、Bun.serve等和 Deno APIDeno.readTextFile、Deno.writeTextFile、Deno.serve等方便迁移现有脚本。内置 Fetch API原生支持 HTTP/HTTPS 客户端请求基于 rustls 提供 TLS 支持。ES Module 原生支持完整支持import/export语法并自动将 CommonJS 模块包装为 ESM 格式。支持koss:协议、node:前缀和裸名导入。细粒度沙箱安全能力位Capability控制底层 API 的访问权限默认不授予任何敏感能力KOSS_CAP_SANDBOX。审核回调Audit允许在运行时动态放行或拒绝特定操作。Builtin Flags 控制 Node、Bun、Deno、Koss 原生模块的可见性与 Capability 完全解耦。模块系统KossJS 采用三层模块架构层级说明控制机制L1Rust 绑定底层原生函数绑定Capability能力位L2内部桥接层内部 JS 模块koss:internal/*始终可用用户代码不可直接访问L3用户态兼容层兼容层模块koss:node/*、koss:bun、koss:deno、koss:*Builtin FlagsBuiltin Flags实例创建时设置标志说明KOSS_BUILTIN_NODE启用 25 个 Node.js 兼容模块koss:node/fs、koss:node/path等KOSS_BUILTIN_BUN启用koss:bun命名空间Bun API 兼容层KOSS_BUILTIN_DENO启用koss:deno命名空间Deno API 兼容层KOSS_BUILTIN_KOSS启用 24 个 Koss 原生模块koss:io、koss:crypto、koss:system等最新版本重要变更默认安全策略实例创建时默认能力位为KOSS_CAP_SANDBOX即无任何文件、网络、加密等权限开发者必须显式授予所需能力。Worker 功能已移除由于实现不完善Worker 模块已被完全移除对应的能力位已释放。并行任务建议通过宿主侧多实例管理实现。安全机制能力位Capability—— 静态权限实例创建时确定运行时不可更改。未授予的能力对应的原生函数不会注册到 JS 上下文调用时直接抛出TypeError无性能损耗。已定义 27 个细粒度位涵盖文件系统、网络、加密、FFI、WASM、共享内存等。审核掩码Audit Mask—— 动态策略运行时可更改与能力位使用相同位定义语义为“该操作是否需要触发审核回调”。审核回调由宿主注册在调用受保护 API 时根据参数如文件路径动态决定放行或拒绝。稳定模式stablestableTrue默认生产模式禁用 FFI_senri_ffi功能stableFalse开发模式启用全部功能包括 FFI仅供测试使用示例Pythonfromkossjs_interfaceimportKossJS# 创建实例显式授予文件系统和网络能力kossKossJS(capabilities(KossJS.KOSS_CAP_ALL_FS|KossJS.KOSS_CAP_ALL_NET),builtins(KossJS.KOSS_BUILTIN_NODE|KossJS.KOSS_BUILTIN_KOSS))# 执行 JavaScriptresultkoss.eval(1 2)print(result)# 3# 使用 Node.js 兼容层koss.eval( const fs require(koss:node/fs); fs.writeFileSync(/tmp/test.txt, Hello from Node.js!); )# 使用 Koss 原生模块koss.eval( const io require(koss:io); const content io.readText(/tmp/test.txt); console.log(content); )# 使用 ES Modulekoss.eval( import { hash } from koss:crypto; console.log(hash(sha256, hello)); )koss.destroy()开源协议采用 GNU AGPL v3.0 协议并附带 TT23XR Studio 第 7 节附加权限《独立模块闭源组合例外》。不必被 AGPL 劝退——附加权限允许闭源使用使用官方发布的二进制库.dll/.so/.dylib不做任何修改闭源集成到自己的商业软件中是允许的仅需在用户界面中声明“本软件使用了 KossJS遵循 GNU AGPL v3.0 协议及 TT23XR Studio 的附加权限”。项目状态与社区当前版本0.1.0-dev.x 开发预览版不建议直接用于生产Rust 胶水层主要由 AI 生成需要社区 Review欢迎贡献不会 Rust可以审查src/js_shims/的 JS 兼容层代码、编写 Python 测试用例、补充文档懂 Rust欢迎审查src/runtime.rsFFI 边界 panic 保护、src/sandbox.rs审计逻辑、src/module_loader.rs路径遍历漏洞等模块相关链接源代码https://github.com/KossJS/KossJS/文档https://docss.sxxyrry.qzz.io/KossJS/项目源码完全开源欢迎所有人提 Issues 和 PR。开源的意义在于共同改进。Copyright © 2026 - present TT23XRStudio 保留所有权利

相关新闻

Ollama v0.15.4集成OpenClaw:本地AI智能体工具调用实战指南

Ollama v0.15.4集成OpenClaw:本地AI智能体工具调用实战指南

1. 从“玩具”到“生产力”:OpenClaw的正式登场意味着什么如果你最近在折腾本地大模型,尤其是用Ollama来跑各种开源模型,那对“OpenClaw”这个名字应该不陌生。在之前的版本里,它更像是一个社区里流传的“黑科技”插件&#xff0c…

2026/8/6 7:43:33 阅读更多 →
单总线CPU时序设计实战:从微程序控制器到关键路径优化

单总线CPU时序设计实战:从微程序控制器到关键路径优化

1. 项目背景与核心挑战:从“能跑”到“跑得对” 在数字逻辑与计算机组成原理的学习中,单总线CPU的设计是一个经典的实践项目。它剥离了现代CPU中复杂的多级流水线、超标量等高级特性,回归到最本质的冯诺依曼结构,让我们能够清晰地…

2026/8/6 7:43:33 阅读更多 →
本地大模型部署实战:Token效率优化与性能调优指南

本地大模型部署实战:Token效率优化与性能调优指南

1. 项目概述:当本地大模型遇上Token效率瓶颈最近在折腾本地大模型部署的朋友,估计都绕不开一个词:Token。这玩意儿就像是大模型世界的“通用货币”,你喂给它多少Token,它才能吐出多少内容。但问题来了,本地…

2026/8/6 7:43:33 阅读更多 →

最新新闻

三极管工作原理与电路设计:从拟人化比喻到工程实践

三极管工作原理与电路设计:从拟人化比喻到工程实践

这次我们来看一个非常有意思的技术话题:从“雌小鬼”这个网络热梗出发,聊聊三极管这个电子学基础元件。乍一看,标题“真的没有人觉得三极管很像雌小鬼吗?”像是一个无厘头的网络段子,但它背后其实隐藏着一种非常有效的…

2026/8/6 8:43:08 阅读更多 →
Moltbot本地AI助手部署指南:从环境配置到实战应用

Moltbot本地AI助手部署指南:从环境配置到实战应用

1. 项目缘起:为什么我们需要一个本地化的AI助手? 最近几个月,AI聊天机器人的热度有增无减。无论是处理日常文档、辅助编程,还是进行头脑风暴,一个得力的AI助手确实能极大提升效率。然而,依赖云端服务总有一…

2026/8/6 8:43:08 阅读更多 →
基于STM32与PID的直流有刷电机闭环速度控制实战指南

基于STM32与PID的直流有刷电机闭环速度控制实战指南

1. 项目概述:从零开始搞定直流有刷电机驱动 最近在做一个需要精确控制电机转速的小项目,核心就是驱动一个24V的直流有刷电机。这听起来像是电子爱好者的入门课,但真要把速度控得稳、响应快,里面门道可不少。我选择了经典的STM32F1…

2026/8/6 8:43:08 阅读更多 →
算法练习7

算法练习7

1. 字母异位词分组题目要求将互为字母异位词的字符串放入同一组。例如:["eat", "tea", "tan", "ate", "nat", "bat"]可以分为:[["eat", "tea", "ate"], [&q…

2026/8/6 8:43:08 阅读更多 →
跨境业务踩坑记:那些年被文档翻译耽误的生意

跨境业务踩坑记:那些年被文档翻译耽误的生意

去年初,一个做外贸的朋友接到一笔潜在订单。海外客户发来了一份50页的RFQ询价文件——英文和法语掺杂,涉及产品规格、交付条款、付款条件等等。朋友团队花了两天翻译和理解这份文件。等他们把报价和方案做出来回复的时候,客户说已经签了别家。…

2026/8/6 8:43:08 阅读更多 →
实训交通沙盘的基本参数

实训交通沙盘的基本参数

基本要求笔下科技的该V2X车路协同模拟无人驾驶沙盘实训平台主要包括:展台、钢化围挡、沙盘模型、景观灯光、建筑灯光、交通信号灯、信号机组件、交通设备标识牌。二、沙盘配置及技术参数沙盘外形尺寸:共计12平方。各模块具有足够的强度和刚度&#xff0c…

2026/8/6 8:42:07 阅读更多 →

日新闻

深入解析LimboAI C++内核:架构设计与性能优化实战

深入解析LimboAI C++内核:架构设计与性能优化实战

1. 项目概述:为什么我们需要深入LimboAI的C内核?如果你是一名使用Godot引擎的游戏开发者,尤其是对AI行为逻辑有较高要求的项目,那么LimboAI这个名字你大概率不会陌生。它作为Godot 4生态中一个备受瞩目的行为树与状态机插件&#…

2026/8/6 0:00:06 阅读更多 →
Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

Unity 2D游戏敌人AI系统:基于PlayMaker状态机与2D Toolkit的实战开发

1. 项目概述与核心思路大家好,我是老张,一个在游戏开发一线摸爬滚打了十多年的老码农。今天咱们接着聊《空洞骑士》风格2D动作游戏的Demo制作。上一期我们搭好了基础框架,处理了角色移动和碰撞,这一期,我们要让游戏世界…

2026/8/6 0:00:06 阅读更多 →
被动防火门市场前景发展趋势

被动防火门市场前景发展趋势

被动防火门依靠材质结构、密闭构造阻隔烟火蔓延,无需电控启动,是建筑被动消防系统核心构件,行业依托新规管控、城市更新、工业安全升级迎来稳定扩容,整体朝着合规化、专项化、低碳化、智能化方向发展。现阶段 GB12955‑2024 新版国…

2026/8/6 0:00:06 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/5 15:00:43 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/5 13:13:56 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/5 10:20:36 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/5 23:28:39 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/5 21:00:14 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/5 23:46:51 阅读更多 →