返回首页
最新
我创建Kai是因为我希望能够在手机上使用Claude Code的全部功能——包括终端访问、文件编辑、git、网络搜索——而不必依赖于终端。
Kai是一个Telegram机器人,它封装了一个持久的Claude Code进程。你可以在Telegram中发送消息,Claude会以完整的工具访问权限进行回复:它可以读取和编辑文件、运行命令、管理git分支、进行网络搜索,并在多个项目中工作。回复会实时流回。所有操作都在你自己的机器上进行。
*我实际是如何使用它的:* 我将Kai指向一个项目工作区,并将其用作开发助手。它拥有所查看的代码库的完整上下文——可以读取和编写代码、检查git状态、运行测试、进行提交。项目之间的切换只需一个Telegram命令。我可以在离开桌子时告诉它“修复网页代码库中的CI失败”或“在注册表单中添加输入验证”,它就会完成这些任务。
*背景:* 我最初运行了一个开源机器人框架的实例,但由于安全问题在几天后关闭了它。我在Claude Code的命令行界面上从头重建,妥善处理了沙箱和工具执行。
*无需AI API密钥:* Kai并不直接调用Anthropic API——它封装了一个已登录的Claude Code会话,因此无需管理API密钥,也没有超出你现有Claude Code订阅的每个令牌费用。原始设计在与另一个不安全管理API密钥的机器人框架出现安全问题后,消除了所有API密钥。现在Kai在一个值得信赖的本地基础上运行,选用的服务集成是安全的。
*隐私角度:* Kai在本地运行——在我的情况下是Mac mini。对话、凭据和项目文件从未离开机器。没有服务器组件,没有云中继。你的Telegram消息直接发送到你的机器,Claude Code通过Anthropic的API处理其余部分。
*没有MCP的外部服务:* Kai有一个声明式HTTP服务层,用于连接任何REST API。你可以在YAML配置中定义服务——URL、方法、认证类型——Kai会直接进行HTTP调用。没有插件,没有第三方服务器进程,没有可执行代码。API密钥保存在你的`.env`文件中,永远不会被中介代码触及。附带有一个用于网络搜索的Perplexity配置,但同样的模式也适用于天气API、通知服务(Pushover、ntfy)、家庭自动化、翻译或任何其他具有REST端点的服务。完全可选——Kai在没有这些功能的情况下也能正常工作。
*它可以做的一些事情:*
- 通过声明式配置连接外部REST API(搜索、天气、通知等)
- 本地转录语音消息(whisper.cpp)并用语音回复(Piper TTS)
- 运行定时任务和提醒
- 接收GitHub Webhook(推送、PR、问题通知)
- 实时流式响应(每2秒更新消息)
- 通过Telegram命令在工作区和模型之间切换
它是一个单一的Python包,约1700行代码,分为11个模块。作为launchd/systemd服务运行。设置步骤是:克隆、pip安装、设置两个环境变量(Telegram令牌和你的用户ID),然后运行`make run`。
代码库:<a href="https://github.com/dcellison/kai" rel="nofollow">https://github.com/dcellison/kai</a>
欢迎随时询问有关设置或架构的任何问题。
我不断听到我们正处于人工智能泡沫中,但我很难想象泡沫破裂后的情景。
如果泡沫破裂(意味着这些巨额的计算成本无法转化为实际利润,风险投资资金也枯竭),科技领域会变成什么样子?
我们很多人每天都在使用 Copilot、Claude 或 ChatGPT 来进行编码和文档处理。如果因为这些公司无法再承担损失而导致补贴的低价访问消失,这些工具会消失吗?因为如果像 Claude Code(或任何其他大型语言模型)这样的工具突然每月收费 1000 美元,以反映其实际运行成本,人们还会自掏腰包继续支付吗?他们的公司会吗?
我特别想听听那些经历过 2000 年或 2008 年的人们的看法。后泡沫时代是否意味着我们完全放弃技术,还是说这将转向更昂贵的解决方案?
请访问以下链接查看Twitter的状态: https://downdetector.com/status/twitter/
嗨,HN!<p>星期天,我花了几个小时制作了一个短小的2D平台游戏(“波斯王子”风格)。有趣的是我构建它的方式。我采用了零代码的方法,完全使用OpenAI Codex CLI和代理技能(采用<i>渐进式披露</i>范式)来构建整个游戏。<p>你可以在这里玩这个游戏:<a href="https://acatovic.github.io/gothicvania-codex-demo" rel="nofollow">https://acatovic.github.io/gothicvania-codex-demo</a><p>你可以在这里查看完整的代码、代理技能和详细的说明:<a href="https://github.com/acatovic/gothicvania-codex-demo" rel="nofollow">https://github.com/acatovic/gothicvania-codex-demo</a><p>一些收获:<p>* 这是我经历过的最愉快的体验之一!<p>* 将工程应用与渐进式披露结合使用是极其强大的——我把我的SKILL.md视为一个简单的目录(“技能地图”),然后从那里开始<p>* 实施 -> 评估循环是关键——我使用了Playwright和评估检查表,代理自动构建和纠正<p>* 我使用PROGRESS.md作为代理的记忆/日志机制,并减少上下文噪音<p>* 游戏开发代理由DESIGN-DOCUMENT.md引导,规定了游戏目标、布局和机制<p>* 我使用了渐进式提示——我逐步构建游戏——从基本的玩家机制开始,然后添加图块、NPC、交互、声音、菜单——每次一个提示<p>我没有写任何代码,甚至没有查看游戏引擎(Phaser)的API——只是给技能提供了文档链接。未来已经到来!<p>感谢ansimuz(gothicvania资源)和Pascal Belisle(音乐)。<p>*注意:* 这些资源*不是*由AI创建的。背景和可能的图块可以用AI生成,但精灵还没有达到那个水平(我尝试了多种不同的模型)。这是未来需要深入探索的内容。<p>希望你喜欢,告诉我你的想法!
我构建了 *snkvDB* — 一个单头文件、符合ACID标准的键值存储,零配置。
<p><a href="https://github.com/hash-anu/snkv" rel="nofollow">https://github.com/hash-anu/snkv</a></p>
### 我为什么要构建这个
我想要一个像哈希表一样简单的东西,但需要满足以下条件:
* 持久性
* 防崩溃
* 无外部依赖
* 易于嵌入到任何C/C++项目中
大多数键值存储要么:
* 太重(需要服务器、后台进程),或者
* 太底层(你需要管理一切)
snkvDB试图在两者之间找到平衡。
---
### 它是什么
* 单头文件的键值存储(只需包含并使用)
* 符合ACID标准(得益于SQLite)
* 不需要服务器、配置或构建系统
* 像一个简单的嵌入式数据库一样工作
---
### 内部原理
snkvDB基于SQLite的存储引擎(B-树后端)构建,因此你可以获得:
* 持久性
* 事务支持
* 成熟且经过实战检验的存储
但API被简化为最小的键值接口。
---
### 何时使用它
* 嵌入存储到命令行工具或小型应用中
* 替代临时文件存储
* 在不运行数据库服务器的情况下实现轻量级持久化
---
### 基准测试
我将其与RocksDB和LMDB进行了比较:
<a href="https://github.com/hash-anu/snkv" rel="nofollow">https://github.com/hash-anu/snkv</a>
<p>简而言之:</p>
* 在小型/中型工作负载下比RocksDB更快
* 使用起来比LMDB更简单
* 读写性能平衡
---
### 权衡
* 不适合写入密集型、高吞吐量的工作负载(在这方面RocksDB更好)
* LMDB在纯读取时可能更快
* 这个设计优先考虑简单性和安全性,而不是原始性能
---
非常欢迎反馈,特别是在以下方面:
* API设计
* 性能
* 实际使用案例
基本上就是标题所说的。人们为什么需要这个?我们的祖先在干草和草地上睡得很好啊。