帆布
用于本地和ssh连接的牧人窗口的浏览器工作区。使用概述 或者在可缩放的画布上安排终端、笔记和文件。
安装并运行
Canvas在POSIX主机上需要Node.js 24+。Linux经过测试;本机Windows是 在此发布之外。连接的机器需要一个现有的herdr会话和 Python 3.8 +。SSH 连接还需要OpenSSH与unix套接字转发和验证主机 钥匙。生产npm依赖只对javascript有效;该套餐包括 前端和字体。
npm install --global @thezzisu/canvas
canvas serve
canvas 不带参数也会启动服务器。开放 http://127.0.0.1:3010.
在第一次启动时,Canvas创建一个名为 canvas 和一个随机密码。
终端打印帐号文件路径和检查命令;这个
密码是 initialPassword 字段。密码不是
在启动日志中打印。打开侧边栏中的用户名以更改帐户
登录后凭据;这将删除存储的初始密码。
对于无人值守的首次启动,设置 CANVAS_INIT_USERNAME 和
CANVAS_INIT_PASSWORD 通过您的流程主管的秘密配置。
它们仅适用于不存在帐户的情况。所提供的密码仅存储为
散列。 canvas version 打印已安装的版本; canvas --help 命令列表。
连接和画布
从侧边栏添加本地或SSH连接。本地路径指的是Canvas
服务器的机器。SSH接受别名, user@host,或者 ssh://user@host:port 和
使用密钥认证。选择现有的herdr会话;绝对API套接字
路径可以覆盖发现。Canvas直接连接到herdr套接字。
概述按连接和空间对窗口进行分组。代理状态过滤器,原生的 或者状态排序、小地图和可选的单窗口导航帮助 找一份积极的工作。自定义画布包含可拖动的终端引用、注释 和文件。布局,笔记内容,壁纸和全局字体设置同步 浏览器之间。
对一个本机窗口的引用共享其大小。最大化临时调整大小 那个窗口;其他视图暂停,直到它被恢复。取下卡片可以保留 本机窗口运行。关闭本机窗口将结束其进程。
在移动设备上,卡片在进入全屏之前保持只读状态。辅助 键盘提供修改器,导航,剪贴板和文件上传。桌面 卡片仍然具有直接的互动性。设置包括语言、内容字体、 保持清醒并显示裁剪偏好。
打开文件和链接
在一个连接的herdr窗格中运行这些命令,同时它接收Canvas选项卡 活动:
canvas open ./report.pdf
canvas open ./project
canvas open http://localhost:5173/
Canvas在 ~/.local/bin/canvas 只有当目的地
没有 canvas 命令。将该目录保存在PATH中。现有命令和文件
都没有动过。当helper找到它的CLI时,它会转发到这个npm包
后来的PATH;否则它会提供 open 单独使用Python。安装npm
到同一个前缀中,就可以生成npm EEXIST 错误。
选择单独的前缀或显式地删除您自己的已验证的帮助器
安装;Canvas从不强制替换另一个可执行文件。
文件被复制到Canvas存储中。概述预览支持的文件; 自定义画布保留可下载的文件卡。Markdown支持渲染/源 视图和包装;每个卡片都在本地记住它的读取位置。临时 概述文件在一小时后或服务器重启后过期。
粘贴或拖放文件和图像到终端上传到那台机器
~/.local/share/canvas/inbox. Canvas插入不带Enter的带引号的路径。目录
打开提供vscode远程SSH。环回url指的是终端的机器;
转发的应用程序必须支持所提供的子路径。
配置
| 变量 | 默认的 | 目的 |
|---|---|---|
CANVAS_DATA_DIR | ~/.local/share/canvas | 帐户、数据库和文件 |
CANVAS_HOST | 127.0.0.1 | 监听地址或逗号分隔的地址 |
CANVAS_PORT | 3010 | 听港口 |
CANVAS_ALLOWED_ORIGINS | 同源 | 允许的前端起源 |
CANVAS_INIT_USERNAME | canvas | 第一次用户名 |
CANVAS_INIT_PASSWORD | 随机 | 首次启动密码,至少8个字符 |
CANVAS_PUBLIC_SSH_HOST | 监听地址或主机名 | 本地源的VS Code SSH主机 |
CANVAS_PUBLIC_SSH_PORT | 22 | 本地源代码的VS Code SSH端口 |
对于远程访问,使用支持WebSocket和无缓冲上传/SSE的TLS。
子路径代理必须剥离其前缀并发送 X-Forwarded-Prefix. 身份验证
使用不记名令牌;帐户访问授予终端访问连接的机器。
备份完整的数据目录,包括SQLite和 files/. 终端的收件箱
文件保留在它们的源计算机上。
前端可以独立运行并连接到命名的Canvas实例。构建
它与 VITE_CANVAS_BUILTIN_SERVER=false npm run build:web 要求一个明确的
服务器的URL。默认包发现它的同源服务器。HTTPS支持
PWA安装;更新等待显式重新加载。应用程序外壳和图标
precached;使用时缓存公共字体。
从帐户对话框的QR按钮共享实例。在连接上扫描它 屏幕或在添加实例中添加相机(HTTPS)或图像来填充服务器和 用户名,然后输入密码登录。扫描保持当前前端 并保留列表中已存在的实例的显示名称。
开发
npm ci
npm run build
npm start
对于实时开发,请运行 npm run server:dev 和 npm run dev 分开。
提交之前,运行 npm run typecheck, npm test 和 npm run build.
测试使用隔离装置; CANVAS_TEST_HERDR_SERVER_BINARY 选择官员
本机集成测试的Herdr可执行文件。