展示HN:Craft – 在虚拟机上运行的Claude代码,包含您所有的工作文档
我发现编码代理在以下两个方面表现出色:1)仅使用 bash 命令(如 grep、glob、ls 等)在大型代码库中找到所需的一切;2)根据他们的发现构建新事物(显而易见)。<p>那么,如果这些文件不是代码库,而是你工作场所的文档呢?比如有一个 `Google_Drive` 文件夹,一个 `Linear` 文件夹,一个 `Slack` 文件夹,等等。在过去的一周里,我们开发了 Craft 来测试这个想法。<p>它是一个编码代理的接口(使用 OpenCode 以实现模型灵活性),运行在一个虚拟机上,具备以下功能:
1. 你公司的完整知识库以目录/文件的形式呈现(保持同步)
2. 可以自由编写和执行 Python/JavaScript
3. 能够创建并向用户呈现工件<p>演示视频: <a href="https://www.youtube.com/watch?v=Hvjn76YSIRY" rel="nofollow">https://www.youtube.com/watch?v=Hvjn76YSIRY</a>
Github: <a href="https://github.com/onyx-dot-app/onyx/blob/main/web/src/app/craft/README.md" rel="nofollow">https://github.com/onyx-dot-app/onyx/blob/main/web/src/app/craft/README.md</a><p>事实证明,OpenCode 在处理文档方面表现得非常出色。工作场所应用程序也有自然的结构(关于某些主题的 Slack 频道、团队的 Drive 文件夹等)。由于每个文档的完整元数据可以写入文件,LLM 可以定义任意复杂的过滤器。在大规模应用中,它可以编写和执行 Python 代码来提取和过滤(甚至可以在后续重用经过验证的正确逻辑)。<p>换句话说,bash + 文件系统提供了比传统的 RAG 或 MCP 更加灵活和强大的接口,而今天更智能的 LLM 能够充分利用这一点。这在需要考虑成千上万(甚至更多)文档的聚合式问题中尤其有用。<p>自然,它还可以创建基于公司文档的实时更新工件。因此,如果你想要“一个仪表板来实时检查每个后端服务造成的故障百分比”或简单地“制作符合 XYZ 格式的幻灯片,涵盖我下周在开发知识分享会议上演讲的主题”,它也能做到。<p>Craft(与 Onyx 的其他部分一样)是开源的,因此如果你想在本地运行它(或对实现进行一些实验),是完全可以的。<p>快速入门指南: <a href="https://docs.onyx.app/deployment/getting_started/quickstart">https://docs.onyx.app/deployment/getting_started/quickstart</a>
或者,你可以在我们的云端试用: <a href="https://cloud.onyx.app/auth/signup">https://cloud.onyx.app/auth/signup</a>(你所有的数据都会存放在一个隔离的沙盒中)。<p>无论如何,我们已经设置了一个“演示”环境,你可以在数据索引期间进行体验。非常期待听到大家的想法!
查看原文
I’ve found coding agents to be great at 1/ finding everything they need across large codebases using only bash commands (grep, glob, ls, etc.) and 2/ building new things based on their findings (duh).<p>What if, instead of a codebase, the files were all your workplace docs? There was a `Google_Drive` folder, a `Linear` folder, a `Slack` folder, and so on. Over the last week, we put together Craft to test this out.<p>It’s an interface to a coding agent (OpenCode for model flexibility) running on a virtual machine with:
1. your company's complete knowledge base represented as directories/files (kept in-sync)
2. free reign to write and execute python/javascript
3. ability to create and render artifacts to the user<p>Demo: <a href="https://www.youtube.com/watch?v=Hvjn76YSIRY" rel="nofollow">https://www.youtube.com/watch?v=Hvjn76YSIRY</a>
Github: <a href="https://github.com/onyx-dot-app/onyx/blob/main/web/src/app/craft/README.md" rel="nofollow">https://github.com/onyx-dot-app/onyx/blob/main/web/src/app/c...</a><p>It turns out OpenCode does a very good job with docs. Workplace apps also have a natural structure (Slack channels about certain topics, Drive folders for teams, etc.). And since the full metadata of each document can be written to the file, the LLM can define arbitrarily complex filters. At scale, it can write and execute python to extract and filter (and even re-use the verified correct logic later).<p>Put another way, bash + a file system provides a much more flexible and powerful interface than traditional RAG or MCP, which today’s smarter LLMs are able to take advantage of to great effect. This comes especially in handy for aggregation style questions that require considering thousands (or more) documents.<p>Naturally, it can also create artifacts that stay up to date based on your company docs. So if you wanted “a dashboard to check realtime what % of outages were caused by each backend service” or simply “slides following XYZ format covering the topic I’m presenting at next week’s dev knowledge sharing session”, it can do that too.<p>Craft (like the rest of Onyx) is open-source, so if you want to run it locally (or mess around with the implementation) you can.<p>Quickstart guide: <a href="https://docs.onyx.app/deployment/getting_started/quickstart">https://docs.onyx.app/deployment/getting_started/quickstart</a>
Or, you can try it on our cloud: <a href="https://cloud.onyx.app/auth/signup">https://cloud.onyx.app/auth/signup</a> (all your data goes on an isolated sandbox).<p>Either way, we’ve set up a “demo” environment that you can play with while your data gets indexed. Really curious to hear what y’all think!