内嵌多莉
Dolly 是一个像 POSIX 的用于 wasm64 的用户空间, 它运行在浏览器标签: a Wasm
内核、 私人怀斯姆记忆中的程序, 以及连接到
浏览器。 这些 npm 包将其放入自己的一页. 他们的第一个用途是
替换网络前端的代理( e)docs/agent-frontend.md 页:1.
| 软件包 | 它所持有的 |
|---|---|
@daugasauron/dolly | 运行时间 : boot(),内核,进程运行时间,其图像构建器,以及作为自身机械的主机模块(runtime, (中文(简体) ), http, (中文(简体) ), threads, (中文(简体) ), dso, (中文(简体) ), stack, (中文(简体) ), nena, (中文(简体) ), snapshot, (中文(简体) ), packages(中文(简体) ) |
@daugasauron/dolly-host-NAME | 每个设备主机模块: display (Ghostty的终端和程序的帧), input, (中文(简体) ), gpu, (中文(简体) ), audio, (中文(简体) ), microphone, (中文(简体) ), touch, (中文(简体) ), download (截至 dolly-host-save: npm 不使用新名称的单词, upload, (中文(简体) ), html, (中文(简体) ), sockets, (中文(简体) ), pty |
@daugasauron/dolly-image-NAME | 图像目录 boot()数字 : default (外壳,它的文本工具,终端,卷曲, amy, (中文(简体) ), nena, (中文(简体) ), ps, (中文(简体) ), html, (中文(简体) ), pi-minimal (用 JavaScript 的 Pi 编码代理, 外壳, POSIX 工具, 卷曲, riggrep 和 fd, 打开 display, (中文(简体) ), input, (中文(简体) ), download 财务报告和审定财务报表 html 单是:README的"Pi with npm","活活活活活活", python-data (单位:千美元)default 与Python 3.14,pip, C编译器,NumPy,熊猫,Matplotlib和海生. 它的README给安装线和 FROM 一行的食谱建在它上面。 内容 amy-index.txt 列出图像持有的软件包, 所以 amy list 财务报告和审定财务报表 amy info 描述他们 |
@daugasauron/dolly-package-NAME | 用于您自己图像的软件包 : git (有diff和补丁), cc (带有 Make 的 C 和 C++ 编译器), python (3.14 有管道;它带来 libffi 财务报告和审定财务报表 cc, (中文(简体) ), numpy, (中文(简体) ), pandas, (中文(简体) ), matplotlib, (中文(简体) ), seaborn 财务报告和审定财务报表 python-dateutil它的目录保存着它的目录,元数据,包和食谱,就像一个图像一样,没有什么可以启动的;它取决于它安装的软件包,所以npm用它安装它们 |
@daugasauron/dolly-build | 这个 dolly-build 命令:带有自己图像的工程, FROM pi-minimal 带着包裹 INSTALLs, 在浏览器中建入静态主机服务站点( 下方“ 您自己的图像 ) |
npm install @daugasauron/dolly @daugasauron/dolly-image-default \
@daugasauron/dolly-host-display @daugasauron/dolly-host-input @daugasauron/dolly-host-save \
@daugasauron/dolly-host-upload @daugasauron/dolly-host-html
每个主机模块和图像都取决于运行时间本身的版本,以及
在它安装的软件包上也有一个软件包。 图像或软件包不依赖于
它所声明的主机模块:用它安装它们( 它们的README 命名它们), 所以
并肩并肩躺着 node_modules/@daugasauron/。 。 。 .
不,不,不,不,不,不,不,不。 亚伦2号,后期需要 nodeLinker: node-modules
内 .yarnrc.yml: Plig'n'Play 没有文件可供服务.
一页
<!doctype html>
<meta charset="utf-8">
<main id="dolly" style="position:fixed;inset:0"></main>
<script type="module">
import { boot } from "./node_modules/@daugasauron/dolly/src/browser.mjs";
import { images, image, modules } from "./node_modules/@daugasauron/dolly-image-default/index.mjs";
const dolly = await boot(document.querySelector("#dolly"), { images, image, modules });
</script>
boot(element, options) 运行图像在 element,页面大小。 这个
一旦图像程序启动, 即可解析到会话上的页面控件
(单位:千美元)hostModules, (中文(简体) ), visibleTerminalText(), (中文(简体) ), waitForInteractiveTerminal(pattern), (中文(简体) ),
接下来 submit(command) 和每个模块添加的东西)
显示元素中的失败。 多莉所显示的 模块的按钮,
相互间的对话和指标,留在里面 element及其样式
仅选择此位置; 输入到页外的自控键中
页面的.
| 选项 | 含义 |
|---|---|
images | 图像目录的 URL : dist/dolly-images.json图像的元数据 和包,他们的食谱,所有的数据. @daugasauron/dolly-image-default是因为 index.mjs 出口它自己。 页面有一个图像目录 。 包会读出一个图像 留在原产地的私人存储器中, 所以它会重新开始而不下载它们(src/pack-store.mjs(中文(简体) ) |
image | 要运行的图像, 名称 |
modules | 区域 URL module.json 该页面的每个主机模块。 登记簿会装入这些和没有其它的; 图像的 REQUIRES HOST 一定在他们中间 |
site | 可选:服务多利自有页面的网站的URL(session/, (中文(简体) ), sessions/, (中文(简体) ), docs/就像多莉的网站一样 鉴于已保存的会话名称本身在标签的 URL 作为网站的会话路由和模块链接到这些页面 |
http | 可选 { policy, relays } 用于HTTP经纪人,该页面是一个网络边缘(docs/http.md). 没有策略, 程序可能获取 HTTPS URL |
files | 可选 { "/absolute/path": text or Uint8Array },在程序启动前在图像上写入: 皮的指示和技能(docs/agent-frontend.md),开始脚本. 程序可以读取;它们不是为了秘密 |
session | 可选: 此浏览器中保存的会话名称, 当它被保存为新开始时打开( S)files 绝不然, 这需要 snapshot@0,其保存(Ctrl+Shift+S)在浏览器的存储中为页面的出处保存一个会话,并在没有页面的页面上保存一个会话 site在标签地址中将其命名为 ?session=NAME 给回这里的页面 |
页面,而不是图像,选择模块和策略,先于 图像运行。 一个程序只能通过它们才能到达浏览器的任何部分.
更多主机模块
default 声明 nena@0,所以一个会话可以启用页面上的模块,并且
图像不声明。 安装其软件包并添加其 module.json数字 :
npm install @daugasauron/dolly-host-gpu @daugasauron/dolly-host-microphone @daugasauron/dolly-host-pty
const gpu = new URL("./node_modules/@daugasauron/dolly-host-gpu/module.json", location.href).href;
const dolly = await boot(element, { images, image, modules: [...modules, gpu] });
nena enable gpu 然后给出 GPU 程序,或者,如果浏览器没有
WebGPU 适配器,无法打开的设备 ENODEV。 。 。 .
颜色
终端的颜色和弹出是页面的,而不是图像的. 设定 这些在样式表的元素(或上方)上与页面相匹配; 未确定,他们是多莉的:
#dolly {
--dolly-background: #262626; /* the terminal's and the popups' */
--dolly-color: #e8e3d7; /* their text */
--dolly-accent: #f2d45c; /* the cursor and the selection; the popups' headings, buttons, focus */
--dolly-display-palette-1: #e8e3d7; /* -0 to -15: the 16 colours programs name */
}
未设置, 16个颜色程序名称中, 有黑色(-0)是背景,黄色
和亮黄色(-3, (中文(简体) ), -11口音,明亮的黑色(-8(中文(简体) ) #77736c 财务报告和审定财务报表
其它的文本颜色,所以一个程序会像它的文本一样显示红色。 A 类
值可以是任何 CSS 颜色; 不计为未设置的颜色 。 终点站
a. 以任何规则或媒体查询方式,在启动时和在改变时使用
弹出一开.
弹出
html@0 在终端的弹出中显示一个程序的 HTML 文档
bot() 的元素: 报告,或提交字段返回到
程序( Pi ) ask_user 财务报告和审定财务报表 show_html) (中文(简体) ). 弹出取文件的文本,
标题、清单、表格和表格,没有其他内容;其外观是:
页面的:上面的颜色和这些,未设置多莉的:
#dolly {
--dolly-html-font: ui-monospace, monospace;
--dolly-html-color-scheme: dark; /* the form controls' own colours */
--dolly-html-font-file: none; /* or url(…): the font of the first family above */
}
弹出本身没有加载任何内容: 页面获取字体文件, 一次, 手
弹出它的字节; 没有一个, 系统的名称字体。 页面读取
每次弹出时属性。 多莉的网站集
"Dolly IosevkaTerm SemiBold", monospace 及其字体文件.
服务
- 服务已安装的套件, 如它们说谎: 运行时会找到自己的文件
除了自己,和
dolly-image-default是因为index.mjs查找 安装在下面的软件包node_modules/@daugasauron/。 。 。 . - 发送
Cross-Origin-Opener-Policy: same-origin财务报告和审定财务报表Cross-Origin-Embedder-Policy: require-corp与页面: Dolly 需要共享 内存,浏览器只给一个跨源孤立的页面. - 服务
.wasm作为application/wasm, (中文(简体) ),.mjs作为text/javascript财务报告和审定财务报表.json作为application/json: 浏览器导入主机模块的显示和图像 目录的目录和元数据只使用该类型. - 不需要捆绑:这些是ES模块,工人和Wasm文件.
你自己的画像
dolly-build 构建一个 Dolly 文件 (docs/dollyfile.md (储存库)
FROM 已安装 pi-minimal,带有目录为
安装在它旁边的站点上: 任何静态主机都充当它的目录
谎言。 构建在一个无头浏览器中运行, 并安装了运行时间
构建器, 随着目录图像的构建; 命令为软件包服务
它在127.0.0.1上,并写下它交回的东西。 没有它,也没有它的网站,
从网络获取的页面或图像: npm install,则
软件包按住每个文件。 构建的浏览器到达服务器和 URL
食谱本身 SOURCE 单行;其本身的要求(其供应商的更新,
时钟和自动填充)前往拒绝它们的命令的代理.
npm install @daugasauron/dolly-build @daugasauron/dolly-package-git
npx dolly-build init my-pi git
npx dolly-build Dollyfile-my-pi my-pi
dolly-build init NAME [PACKAGE…]写一个软件包所在的工程 并拒绝在文件中写入 :Dollyfile-NAME(主机模块) 联 合 国pi-minimal和每个包裹,FROMpi-minimal财务报告和审定财务报表INSTALL各笔捐款 包在已安装的针,行用于 Pi 指示,一个技能,一个扩展, 启动 Pi 的工具和脚本,以及pi-minimal是因为ENTRY和public/, (中文(简体) ), 页面文件 :index.html(策略、弹出字体和workspace/财务报告和审定财务报表theme.json页:1boot()是因为files列表中workspace.json, (中文(简体) ),theme.json(沙盒的颜色:Pi的主题,写在图像上) 靴子,它的背景,文本,口音和哑音 页面设置为终端 和弹出workspace/README.md除非项目有一个,a.gitignore页:1node_modules/和现场。 它命名了主机模块 软件包,当软件包需要一个时,该页面缺少(python是因为sockets) (中文(简体) ). 寄存器README的"Pi with npm"表示每个文件的用途.- 食谱是宣布沙盒的地方 在前面添加行
ENTRY数字 :FILE和一个文件的正体(缩入4个空格),INSTALL软件包 其目录被安装(它需要的每个软件包都随它而来,所以)python带来cc, (中文(简体) ),SLOP在构建时运行图像工具.FROM携带 base 的文件、环境和导出,但不包括主机模块或ENTRY,所以请 食谱重复这些;一个包的REQUIRES HOST菜谱里一定有排行, 而建筑名称 一个缺失。 配方最多为128个基B;/workspace实值 绝不是图像的一部分( e)boot()是因为files在每个靴子上写项目). dolly-build Dollyfile-NAME OUT写入网站OUT,替换它的一个 上面写着:public/, (中文(简体) ),workspace.json(文件编号:public/workspace/),运行时间(dolly/),设备主机模块 声明(dolly-host-NAME/, (中文(简体) ),coi-serviceworker.js财务报告和审定财务报表image/,图像的 目录作为图像包列出(其目录、元数据和包、 食谱,它是从,它的amy-index.txt还有一个index.mjs) (中文(简体) ). 页面 进口./dolly/src/browser.mjs财务报告和审定财务报表./image/index.mjs。图像此食谱 在这个运行时间的基础上构建,所以更改为public/一个人需要几秒钟.--browser chrome(默认的),chromium或者说firefox(Playwright's, afternpx playwright-core install chromium或者说firefox) (中文(简体) ). 两个命令在安装软件包的地方运行:node_modules/@daugasauron/持有(npm,pnpm和Yarn 1). 一行 , 继续 指定一个没有安装的软件包所持有的图像名称 .- 服务
OUT与任何静态文件服务器,python3 -m http.server -d OUT打开 诀竟 当主机发送隔离头(上面的"服务")时 页面是孤立的;如果没有,init页面登记册coi-serviceworker.js,将它们添加到网站的响应中,并装入 又是在它下边. - 食谱可能开始
FROM另一个已安装的图像,python-data说: 软件包的 README 给出FROM排行,食谱重复图像REQUIRES HOST列(项目自有脚本的FILE和在构建时运行的SLOP) (见a/cn.9/wg.iii/wp.83,附件).init只写 Pi 的工程; 页面输入public/index.html是一个 如上面“一页”所示,进口./dolly/src/browser.mjs财务报告和审定财务报表./image/index.mjs, (中文(简体) ), 线条init注册页coi-serviceworker.js为东道主服务 没有标题. - 为已安装的版本构建图像: 软件包更新后
平分针是其它的(
init在一个空目录中写出新的目录),它 被重新构建。 两个版本的软件包node_modules失败的建设, 命名两者.
主机模块
主机模块是一个带有 module.json;其提供者得到它
需要从运行时间到登记册,设备模块导入
其目录外无所出. host/README.md 在存储器中描述
接口.