很久没有碰浏览器了,我决定从头开始写一个浏览器硬刚 Google Chrome

1 天前
 coolwulf

二十年前我写了一个浏览器 K-MeleonCCF ,基于的是 Mozilla 的 Gecko 浏览器,这还是在 Mozilla 正式发布 Firefox 之前。当时他们的正式浏览器还只是 Mozilla Suites

我还记得当时在浏览器上工作的动力是打破微软 IE 的浏览器垄断。

一晃二十年过去了,IE 的浏览器垄断早就没有了,但结果回来一看,浏览器还是存在着垄断,只是现在的垄断者从微软变成了谷歌。Firefox 逐年式微,市场份额一点点被馋食。

我当然也很久没有碰过浏览器了。

大概一年多前,我接触了 zig 编程语言,这个语言对于性能的追求让我很有感慨,心想如果用 zig 来编写一个浏览器引擎会否有可能。

当时只是一个想法,我决定花一点点时间来写一点 Proof of concept. 然后根据这个 PoC 来结合我的 cwcode 来作快捷开发,看看是否有可能把这个东西写出来一个能用的东西。

一年很快就过了,回头看看这个东西还是有很多的问题,真正到能用还有一段路程,但我想把这个项目正式公开出来,让所有人知道即使是到了现在 modern web 如此复杂的阶段,也是有可能重新写出一个 Rendering 引擎的.

第一个编译的版本是基于 ARM macos 的,主要是因为我自己的开发平台是 Mac. 当然这个浏览器引擎是无关 OS 的,今后我会公布 Windows , Linux 的版本.

你可以从这里下载和尝试 https://code.intellios.ai/cwbrowser/

10136 次点击
所在节点    分享创造
140 条回复
coefu
23 小时 5 分钟前
@ronman
crstudio
23 小时 1 分钟前
我现在用的是 zen ,我都想用 AI 写个套壳浏览器,可惜没那本事。大佬还是牛逼。
coolwulf
22 小时 54 分钟前
junyee
22 小时 45 分钟前
能多一个选择就是好事,希望能兼容 win7 ,
Chromium 还好有不少第三方在做兼容,新语言/UI 都在全面撤离 win7 (且未必是因为技术实现的难度).
xzh654321
22 小时 36 分钟前
楼主很厉害了
coefu
22 小时 28 分钟前
@coolwulf 仔细看了,实话实说,很一般,没看到任何亮点。就是那种平淡,绞尽脑汁的什么都塞进去了,但依然没有出彩的东西。这真是缺乏想象力和创造力了。

同样是 harness ,有几个 big feature:
1 ,当前都是 reactive 模式,相当于 显式硬规则 唤醒 LLM ,从始至终 harness agent 都无法主动思考。这部分到底是 基础 LLM 必须要实现,还是可以在 harness agent 实现?

2 ,context 的长度,是否可以做到无限长度,或者有个很大阈值的长度,这部分可以在 harness agent 完整实现,还是要配合 inference engine 实现?还是 harness agent 彻底没辙?

3 ,harness agent 能不能感受客观世界的时间流逝?

这些问题,我想,你可能从来没想过,也没想到过怎么去解。cwcode 塞再多一般的皮毛功能,就一个问题,我为什么要用,比 codex 强 50%?比 codex 多更多 隔靴搔痒的小 trick ?

作为老前辈,我依然尊重,只是实话实说不好听,多担待。
coolwulf
22 小时 19 分钟前
@coefu 感谢你的反馈
tianxiaqu123
22 小时 13 分钟前
这个得顶,期待大神更多作品
coefu
22 小时 4 分钟前
@coolwulf 他们觉得你厉害,是因为都是 web 体系下的,在过去没有当前 LLM 能力加持的情况下,能掌握这么多,是要付出很大学习精力和时间成本的。当然,我也是这个时代过来的,我也能看到老哥的牛逼。我并不是在褒贬臧否老哥的实力。只是对当前这股大潮流下,我看到了一些同路人的坚持,对这种坚持的一种深层次的感同身受。好比日本幕府末期,舰船巨炮时代下,一些武艺精湛的剑客武士的困境。

因为 LLM code harness agent 的加持,过去我们付出很大精力获得的东西,那些知识细节,已经不值钱了。过去的经历,能攫取的只有多年训练提炼出来的对 cs 领域的整体认知,这部分是确实宝贵的。是可能让我们在大潮流下,依然能站稳,或者逆流而上的功力。或许能用这些功力,在新潮流的背景里,继续闯荡。
GG2
22 小时 0 分钟前
二十年前我是 K-MeleonCCF 的忠实用户😁
coolwulf
21 小时 49 分钟前
@GG2 我有想过把 KM CCF 重新拎起来开发,但发现 Gecko 内核是基于 Paleonmoon 已经太落后了。
coolwulf
21 小时 44 分钟前
@coefu 你只是简单看了 cwcode 的介绍感觉没有出彩的地方,但实际上 cwcode 是承载着我多年来软件开发所遵循的 User requirement -> Dev Document Spec -> Implementation -> Verification -> Review 的实现逻辑,通过多个 sub-agent 来保证每一个对应的 User Requirement 到 Review 都有对应的 ID, 然后通过 Tracability Matrix 来保障软件开发的 consistency. 你需要真正用过以后感受一下。
tianhehechu
20 小时 25 分钟前
重复造轮子毫无意义,建议去打灰
zhmouV2
20 小时 23 分钟前
@coefu
你提的这几个问题很“有意思”,但是哪个都不是单独靠 harness / agent 能实现的。我倒是想听听你对解决这些问题有什么的 idea

第一条,如果要用 harness 思考,像是把 MOE 架构的路由前置到用户侧。主动思考基本上把一个小模型塞到 harness 里面,那问题又变成了,怎么决定这个主动思考的小模型什么时候唤醒?这个问题依然可以继续延伸下去。让 harness 思考这个说法本身就很怪异,仿佛我们是用 prompt 本身来思考一样。

第二条,依赖 LLM 本身的 context 。harness 本身能做的就不多,上下文压缩不可能完全摆脱 LLM:基于预设规则移除工具调用记录的输出、基于 LLM 本身的摘要总结。没听说过什么 harness 方案能让 gpt-3.5-4k 的上下文变成 1M 的

第三条,这个问题本身就像大语言模型能否思考一样抽象。harness 到底要怎么“感受”?这个问题且抛开不谈,就算问大语言模型能否 [感受] 到时间流逝也是纯纯的哲学研究,跟讨论中文房间的思想实验差不多。从理论上来看,LLM 就是无状态的,你今天提问 LLM 一个问题 和 明天提问 LLM 一个相同的问题,在输出上不会有显著的差异。一个具有时间平移不变性的物理定律能感知到时间流逝么?我们能通过某个实验现象来区别实验是今天还是昨天做的?甚至我们对时间的定义本身就是哲学思辨。
KongKong369
19 小时 46 分钟前
有这个想法和能做出一个 demo 出来已经很强了。这涉及的知识太多了。
iqoo
15 小时 8 分钟前
要是完整支持排版渲染引擎以及 WebGL/WebGPU 得上百万行代码吧。
xylxAdai
13 小时 32 分钟前
@coolwulf #36 @zwyyy456 @fengbjhqs 我之前搞过几年浏览器内核开发,我提的就是 chromium ,chromium 编译出来除了少了 chrome 的账号系统和一些音视频编解码器,核心功能都在,所有的 web3 支持都是 ok 的,甚至 content 层也完全开源,支持移动端和客户端。
chromium 可以随便改随便看随便编译产物,几万的开发者都在 chromium 上不断地做功能和架构的创新,我觉得这是非常好的项目状态。
垄断不一定就是坏的,坏处是用垄断来谋取私利和打压竞争对手,chrome 的开源引起的垄断显然不是这个情况,比如安卓也是接近垄断,但是国内依然那么多的安卓框架上的国产安卓框架。
op 这个项目甚至只有打包产物,也没开源代码,谁敢用呢?现代浏览器内核的复杂程度早就不是个人开发可以做到的了。当然 op 如果只是为了写着玩那当然我很支持,但是说因为 chromium 垄断所以自己做了个不开源的玩具解析器,这很没有道理。打破了它的垄断然后呢?有做出什么更好的东西来吗
LickyRover
12 小时 6 分钟前
有一个叫 ladybird 的项目,记得也是实现这个的
coolwulf
9 小时 39 分钟前
更新到 v0.01.3 html5test 提高到了 425

coolwulf
3 小时 16 分钟前

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/1236674

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX