图尔图瓦( Tourtois) (@fungi.computer/tourtois(中文(简体) )
Tourtois是您的 Apps 的桌面: 发射器,平板或浮动窗口, 菜单和设置.

图尔图瓦是贝壳 牡蛎,则 打开运行在您自己的 Cloudflare 账户上的 App 主机。 当你签到一个 牡蛎,Tourtois是你看到的, 和所有其他App打开里面.
尽你所能
- 从 启动器 在桌面上或从上边栏.
- 排列窗口 铺设 或者说 浮动 从 版式 菜单:拖动, 调整大小,放大一扇窗口,尽量缩小并带回. 最小化的应用程序保存 运行,所以恢复它永远不会重新装入.
- 在上行使用焦点App自己的菜单.
- 在桌面上保留Apps的小型直播视图,例如Grove的收件箱,以及 安排桌面 以添加、移动、调整大小并删除.
- 打开 系统设置.. 从蘑菇菜单中获取 App 权限、密钥和 代理连接器.
- 在电话中,Apps打开作为桌面上的全屏表 显示 桌面 把它带回来而不失去未保存的工作.
Tourtois是一个值得信赖的外壳。 其它的App都在自己的沙盒里运行, 但Tourtois在主机自己的网页上 与您的 权限。 选一个你信任的贝壳: 它能做任何你能做的 主持人.
拿来
Tourtois与其他起步Apps安装,首先. 在部署中 牡蛎(参见: 牡蛎快开始, (中文(简体) ), 运行 :
export OYSTER_URL=https://oyster.<your-subdomain>.workers.dev
export OYSTER_OWNER_KEY=<your owner key>
npx oyster install-apps
安装者复制此寄存器和另外六个, 种子在您的
牡蛎与 git push,在您的计算机上构建并安装它们。 签名
时间 $OYSTER_URL/login 拿着主人的钥匙 你的牡蛎打开了图尔图瓦 运行
install-apps 用于更新;每个 App 保留其数据.
换一下
每个安装的 App 也是一个模板,你可以叉在自己的牡蛎上,
包括桌面。 Fork Tourtois 进入 Bonsai 仓库,并克隆它
普通类 git数字 :
curl -X POST -H "Authorization: Bearer $OYSTER_OWNER_KEY" -H 'content-type: application/json' \
-d '{"appId":"app_tourtois","name":"my-tourtois"}' \
$OYSTER_URL/apps/bonsai/methods/apps.fork
git -c http.extraHeader="Authorization: Bearer $OYSTER_OWNER_KEY" \
clone $OYSTER_URL/git/bonsai/my-tourtois.git
回复名称为您的叉子的 App id和寄存器 。 按下您的编辑, 打开
在 Bonsai 中保存并选择 设置,则 构建安装( S) 与那个
App ID 和您的承诺 git:<sha>。在 tourtois 改为
替换桌面。 单建永远不会改变你看到的;只有安装
已经.
要从 GitHub 取而代之, 叉出此寄存器并指示安装器
你的叉子用着 --repositories <base URL> 财务报告和审定财务报表 --ref <branch or tag>编辑
安装者读取所有7个起动器 Apps 从该底部,所以将它们分叉在一个下
账户.
一个主机如何挂载它
一艘图尔图斯释放舰 shell.js 其边上 index.html。东道方进口
该模块的起源和呼唤
mountShell(root, { workbench, storage, methods }),使桌面变成
进入主机的页面 与主机的工作台, Tourtois 自己的存储及其
方法。 。 。 Tourtois的代码载着一个懒惰的块 后面的模块,所以没有主机
把它捆起来,叉子也一样挂起.
Tourtois要求主机在App自己的沙箱框上架每个App, 在自己的安装、释放和许可下。 旅游进口 执行一揽子计划。 独立的 App 允许框架 Oyster 自己的赠款 页面,也可以在无外壳的情况下使用;更改后的牡蛎和Tourtois船 一起来 其他设置部分仍然使用其现有的主机后端口 : 此修复不设定密钥、 MCP 服务器、 计算机或同意对话框的框架 .
代理工具
代理可以安排您的桌面. 通过牡蛎的MCP端点,或
POST $OYSTER_URL/apps/tourtois/methods/<name> 带有密钥(参见
Git、 密钥和 MCP, (中文(简体) ),
他们叫:
| 方法 | 它会做什么 |
|---|---|
layout.get 编号 : widgets.available | 读取桌面和Apps提供的活视图. |
layout.place 编号 : layout.move 编号 : layout.resize 编号 : layout.remove | 更改桌面上的一个项目 . |
layout.launcher 编号 : layout.set 编号 : layout.reset | 平板或隐藏发射装置 Apps,替换布局,或重置. |
每一次更改它所基于的修订名称,拒绝暂停修订 而不是掩盖新的安排。 在连接的浏览器中, 代理 更改显示 您的代理安排了桌面 与 撤销 十秒钟.
构建和检查
Tourtois是反应和TypeScript. 窗口和平板电脑来自 莫萨伊科语Name 和从 盖子。 。 。 .
pnpm install
pnpm build
pnpm typecheck
pnpm test
src/ AppWorkbench.tsx (英语) 组成 App 列表、窗口和
设置. src/壳-模块.ts 这是 mountShell 条目,
src/平面控制器.tsx 设置窗口,以及
区/区 主机设置页面
可以提供。 代理工具在 后端/方法数,以及
软件包.json 声明壳对宿主的要求.
打开窗口和新版本
在桌面可见时, 目录每 15 秒刷新一次 如主机更改通知。 已更改的活动放出已存在的 App挂载和报价 新版本可供使用——重新装入 在其现有窗口中 脚指. 页脚已经拥有主机状态;页脚仍然是App的 导航和窗口控制.
重新装入使用 Oyster 的普通窗口替换并询问挂载 App 的 在取消否决权之前关闭否决权。 拒绝离开旧窗口并重新装入 提供完整。 接受会挂载活动释放; 关闭并重新打开 使用未通知的主动释放。 这不会转移未保存的内存 或保留过时的后端权威。 权限更改和明确 选择变更后的回收保留了现有的调节行为.
随着Tourtois工作室的运行, pnpm test:window-new-version 练习
更改目录、页脚动作并重新打开桌面和电话宽度.
test/window-status-bar.test.tsx 证明重新装入近乎否决.
许可证
麻省理工学院. 见 自由主义。 。 。 .