1 分•作者: gpi•5 个月前
返回首页
最新
1 分•作者: sudo_chmod•5 个月前
1 分•作者: 01-_-•5 个月前
1 分•作者: speckx•5 个月前
1 分•作者: mitchbob•5 个月前
1 分•作者: tosh•5 个月前
1 分•作者: oarevalo•5 个月前
1 分•作者: arkadiuss•5 个月前
63 分•作者: gnabgib•5 个月前
5 分•作者: jsunderland323•5 个月前
大家好,我们一直在开发 Coasts(“容器化主机”),让您可以在同一台计算机上的 Git 工作树中运行多个 localhost 实例和多个 docker-compose 运行时。这里有一个演示:<a href="https://www.youtube.com/watch?v=yRiySdGQZZA" rel="nofollow">https://www.youtube.com/watch?v=yRiySdGQZZA</a>。我们的文档中也有一些视频,提供了很好的概念概述:<a href="https://coasts.dev/docs/learn-coasts-videos">https://coasts.dev/docs/learn-coasts-videos</a>。
代理可以在不同的工作树中独立地进行代码更改,但他们很难测试他们的更改,除非有多个 localhost 运行时,这些运行时也与这些工作树隔离并限定范围。您可以通过端口黑客技巧做到一定程度,但当您有一个复杂的 docker-compose,其中包含许多服务和多个卷时,这变得不切实际。
我们从今年年初开始使用 Codex 和 Conductor,并且不得不提出一堆临时的解决方法,以便让代理访问隔离的运行时。在修改我们自己的 docker-compose 设置后,我们提出了 Coasts,作为代理拥有自己的运行时的一种方式,而无需更改您的原始 docker-compose。
一个容器化主机(从现在开始,我们简称“coast”)是您项目运行时的表示,就像一个 devcontainer,但没有 IDE 的东西——它只专注于运行时。您在项目的根目录创建一个 Coastfile,通常从那里指向您的项目的 docker-compose。当您在 Coastfile 旁边运行 `coast build` 时,您将获得一个构建(本质上是一个 Docker 镜像),可用于启动您项目的多个 Docker-in-Docker 运行时。
一旦您运行了一个 coast,您就可以执行诸如将其分配给工作树之类的操作,例如 `coast assign dev-1 -w worktree-1`。然后,coast 将指向 worktree-1 的根目录。
在底层,主机项目根目录和任何外部工作树目录在创建时通过 Docker-bind-mount 挂载到容器中,但 /workspace 目录(我们从中运行 coast 的服务)是一个单独的 Linux bind mount,我们在运行的容器内创建它。切换工作树时,我们基本上只做 umount -l /workspace, mount --bind <path_to_worktree_root>, mount --make-rshared /workspace 在运行的 coast 内部。rshared 标志设置了挂载传播,以便当我们重新挂载 /workspace 时,更改会向下流到内部 Docker 守护程序的容器中。
主要思想是,代理可以继续在主机端工作,但如果他们需要测试运行时更改或访问运行时日志,则可以针对特定的 coast 实例运行 exec 命令。这使得我们与框架无关,并在任何在主机端运行的代理或代理框架周围创建互操作性。
每个 coast 都有自己的一组动态端口:您在 Coastfile 中定义您希望公开给主机机器的端口。您还可以“检出”一个 coast。当您这样做时,socat 将您的 coast 的规范端口(例如 web 3000,db 5432)绑定到主机机器。如果您在项目中硬编码了端口或需要执行诸如测试 webhook 之类的操作,这很有用。
在您的 Coastfile 中,您指向在主机机器上存储项目工作树的所有位置(例如 ~/.codex/worktrees)。当代理从主机端工作树目录运行 `coast lookup` 时,它能够找到它正在运行的 coast 实例的名称,因此它可以执行诸如调用 `coast exec dev-1 make tests` 之类的操作。如果您的代理需要执行诸如使用 Playwright 进行测试之类的操作,它可以通过使用前端的动态端口在主机端进行。
您还可以配置卷拓扑,省略代理不需要的服务和卷,以及在主机端共享某些服务,这样您就不会为每个 coast 实例增加开销。您还可以执行诸如定义每个服务在工作树分配更改后的行为策略(例如,无、热、重启、重建)之类的操作。这有助于您优化切换工作树,因此您不必每次都执行整个 docker-compose down 和 up 周期。
我们很乐意回答任何问题并获得您的反馈!
6 分•作者: nvahalik•5 个月前
3 分•作者: DEEPAN_C•5 个月前
Hi HN,
我开发了 SEARCH WIZARD——一个让你用自然语言搜索电脑的工具。
传统的搜索文件方式只有在你记得文件名时才有效。
但大多数时候,我们记得的是这样的信息:
“我开会时的截图”
“关于变压器的 PDF 文件”
“关于机器学习的笔记”
智能搜索会索引你的文件,让你通过语义而不是文件名进行搜索。
目前支持:
- 图片
- 视频
- 音频
- 文档
示例查询:
“一个男人看着显示器的旧照片”
系统会立即检索到正确的文件。
除了嵌入(embeddings)之外,所有操作都在本地运行。
我正在寻求关于以下方面的反馈:
- 索引方法
- 隐私问题
- 你希望在这个工具中拥有的功能
GitHub:
[https://github.com/deepanmpc/SMART-SEARCH](https://github.com/deepanmpc/SMART-SEARCH)
演示:
[https://deepanmpc.github.io/SMART-SEARCH/](https://deepanmpc.github.io/SMART-SEARCH/)
96 分•作者: bundie•5 个月前
1 分•作者: sohamrj•5 个月前
上周,我发布了 SentrySearch,这是一个使用 Gemini 嵌入 API 的语义视频搜索命令行工具。排名第一的需求是支持本地模型。<p>事实证明,Qwen3-VL-Embedding 可以原生将视频嵌入到相同类型的向量空间中,无需 API,完全离线。它可以在 Apple Silicon (MPS) 和 NVIDIA GPU (CUDA) 上运行。8B 模型的运行需要大约 18GB 的 RAM,或者在较小的机器上使用 2B 模型。<p>sentrysearch index /path --backend local<p>此外,还添加了:相似度阈值以抑制弱匹配,以及一个特斯拉元数据叠加层,可以将速度/位置渲染到匹配的片段上。<p>详情请参阅 README。
1 分•作者: rtrigoso•5 个月前
1 分•作者: speckx•5 个月前
1 分•作者: reconnecting•5 个月前
2 分•作者: edf13•5 个月前
1 分•作者: efecto1920•5 个月前
人工智能正迅速成为人们构建软件的默认方式。
即使你试图强制执行一些规则,安全性也常常会疏漏。需要覆盖的方面实在太多,而且上下文很快就会变得混乱。
我一直在遇到同样的情况:项目可以运行,但存在容易被忽视的安全漏洞。
所以我创建了 Data Hogo——一个可以扫描你的代码库,并用通俗易懂的语言指出安全问题的工具。没有冗长的报告,只有哪里出错了,为什么重要,以及如何修复。
如果你想试用,可以扫描你的代码库,看看会发现什么。
只需几分钟,而且我很想知道大家会得到什么样的结果——即使什么也没发现。
在 <a href="https://www.datahogo.com" rel="nofollow">https://www.datahogo.com</a> 进行免费扫描。
1 分•作者: leonidasrup•5 个月前