[tools] Replit

storage限制 core用户的话,storage限制是8G。 用du sh .可以查看当前的总storage。 用 du h max depth 1可以查看每个文件夹占的storage。 如果超了,很有可能是.cache文件过大。这个时候用 uv cache clean 如果还是大,可以在.gitignore里面添加大文件的folder,比如data/

storage限制

core用户的话,storage限制是8G。

用du -sh .可以查看当前的总storage。 用 du -h --max-depth 1可以查看每个文件夹占的storage。

如果超了,很有可能是.cache文件过大。这个时候用

uv cache clean

如果还是大,可以在.gitignore里面添加大文件的folder,比如data/

如果还是大,打开.replit文件(在左侧sidebar拉到最下面),把nix里的packages减少一些

[nix]
channel = "stable-25_05"
# packages = ["cairo", "ffmpeg-full", "freetype", "ghostscript", "glibcLocales", "gobject-introspection", "gtk3", "pkg-config", "qhull", "tcl", "tk", "unzip"]
packages = ["cairo", "freetype", "pkg-config"] 

add package

uv add package
uv add git+http://...git

更新所有的package

uv syn -U

import git repo

左侧的import code or design -->github -->import from github

添加图片注释,不超过 140 字(可选)

会触发agent跑,不好用,会改很多code,clone完立刻停止agent,就可以只用clone。

git

如果前面没有import git repo,创建一个新的replit app。

Git --> Create Remote 或者Connect Existing如果已有repo的化。

添加图片注释,不超过 140 字(可选)

如果有git上有repo,可以pull 和push

更改theme color

左上角第二个小图标,最下面Theme的月亮或者太阳

添加图片注释,不超过 140 字(可选)

fork template

replit主页,左侧的developer Frameworks

添加图片注释,不超过 140 字(可选)

选择第一个python, 然后点击Remix

添加图片注释,不超过 140 字(可选)

就可以了,然后打开一个小窗口shell:

uv add -U python-fasthtml

-U会更新到最新版。

上传大文件

方法1:直接拖住folder上传,最多只能传folder里100-200,会有损失,而且不会提示你一些文件没上传。

方法2:最好的办法是上传zip,但是如果zip过大,也会提示上传失败。

方法3:用app storage (以前叫object storage)

把文件转换成zip或者其它压缩文件,然后拖到app storage里。

之后在main.py里进行下载

pip install replit-object-storage

在.replit里面添加bucket number

[objectStorage]
defaultBucketID = "replit-objstore-f

在pyproject.toml里面的dependencies添加

"cachetools>=2.0.0,<6.0",
"replit-object-storage>=1.0.2",

创建一个.py文件

from replit.object_storage import Client
client = Client()

# List the objects in the bucket
objects = client.list()
print("Bucket contents:", objects)

# Download zip to local filesystem
try:
    result = client.download_to_filename("file.zip","file.zip") # 必须放第二个位置,后面那个是存储在local的名字
    print("Successfully downloaded zip to local filesystem")
except Exception as e:
    print(f"Error downloading file: {e}")

click Run,之后解压unzip file.zip 即可

Basics

make sure dependency

添加图片注释,不超过 140 字(可选)

click Run to view the page

添加图片注释,不超过 140 字(可选)

如果没有webview,就new tab-->下拉到最后,webview

可以把窗口设置成一个独立的,这样可以拖到其它屏幕上,然后把原先的关掉。

由于每次改code总会刷新出一个新的webview,可以在左下角的user settings里点击,然后把automatic webview给关掉。

添加图片注释,不超过 140 字(可选)

同时也可以把鬼影ai给关掉

添加图片注释,不超过 140 字(可选)

Deploy在右上角,根据提示一直点就行,后面还可以customize domain

Replit + cursor

mac

replit里,new tab --> ssh --> Keys --> Add SSH key --> click Learn how to generate key -->复制代码

添加图片注释,不超过 140 字(可选)

添加图片注释,不超过 140 字(可选)

打开mac 的terminal,或者cursor的terminal,把代码粘贴,enter运行,得到一串key。

PS:这段指令是说生成ssh key,和replit相关文件

复制key到replit 里add new ssh里,如下,记得加label,保存

添加图片注释,不超过 140 字(可选)

之后回到terminal(mac或者cursor的), cd ~/.ssh --> nano config

粘贴下面的代码到config里,参照SSH | Replit Docs

Host *.replit.dev
Port 22
IdentityFile ~/.ssh/replit

nano里保存用ctrl +O, enter, 退出是ctrl + x

之后可以在terminal里manual试试成不成功,copy paste Connect Manually的指令到terminal,即可

添加图片注释,不超过 140 字(可选)

正常load就用 Launch Cursor

windows里稍微复杂,如果有ubuntu,可以用指令生成ssh以及replit文件,然后把.ssh文件夹复制到computer 里的~目录,可以通过cp .ssh /mnt/c/user 的指令把ubuntu里的东西送出来。

Old

Image func

from replit.object_storage import Client
from base64 import b64encode

client = Client()

def get_image(fname,object_storage=False, **kwargs):
  if object_storage:
    "Get the object_storage image and convert to Img"
    image_bytes = client.download_as_bytes(fname)
    encoded_string = b64encode(image_bytes).decode()
    image = Img(src=f'data:image/jpg;base64,{encoded_string}',**kwargs)
  else:
    image = Img(src=fname,**kwargs)
  return image