用Kimaki为家用代理接入OpenCode免费额度
你好,我是无能。
我之前是反对在家里服务器上常驻一个代理的,因为用免费额度似乎很难实现,所以一直没做。但果然还是想在外面也能让它做并行调查之类的事,或者把关心的统计信息简单地plot成图表,这种欲望就冒出来了。
所以,我一直在想,要怎样才能搭建一个接近OpenCode原生的bot呢?OpenClaw的仓库本身非常厉害,但我想用点不一样的,于是查了一下,发现有个叫Kimaki的东西,就用了起来。
在这之前,我试过把OpenCode包装起来作为bot代理启动,但变更太多,由自己这边来管理对应也很麻烦,所以如果能用现成的东西解决就好了。
我希望的条件:
明确宣称支持Discord
能利用OpenCode的订阅额度免费运行
使用Kimaki
安装
https://github.com/remorses/kimaki
npx -y kimaki@latest这样一来,如果你之前没装OpenCode,它也会被安装;而且因为bun是依赖项,所以也会被安装。
然后,只需从最后出现的链接把Kimaki的bot邀请到自己的服务器上就可以了。

另外,这种情况下默认是通过Kimaki来运行bot的,所以聊天内容中最好不要含有需要保密的内容,而且我想大概还是建一个专用的Discord服务器比较好。

不需要从自己的Dev Portal创建bot,所以就简便性来说感觉还不错。
关于模型切换,可以通过/model命令来更改,所以仅通过Discord就能在一定程度上方便地完成。
另外,与此相关的是,OpenCode似乎在API调用时会使用专用的HTTP头,如下所示。
https://github.com/earendil-works/pi/issues/2824
作为API服务器端的设计,是故意返回429而不是403,使其难以理解从而避免被滥用吗?实际上,虽然OpenCode确实有可发放的API Key这种东西,但我觉得他们是有意将其限制在OpenCode的agent上。可由于目前对这个API端点的请求,不可避免地也可以用API Key进行认证,所以新的认证机制,或者说是企业为了防止滥用而要采取的对策,我觉得这种需求今后的使用场景会越来越多。
比如说,如果能有这样一种机制:作为mTLS,向用户分发客户端证书,并将其存储在专用的TPM或EC控制器等安全芯片中,不是通过固定路径就无法调用的话,那么如今这种可以随意调用的世界也许就会终结。
但是,归根结底,如果客户端证书被通过逆向工程提取出来,那也就没有意义了。不过,考虑到近来TPM技术的飞跃,BIOS密码的解除已经变得相当困难,想到这里,今后或许也会出现一些有助于硬件集成应用安全提升的功能吧,也说不定呢。