3作者: hal-eisen3 个月前
大家好,我是 Hal,App Dev for All 的首席技术官。我想分享一下我们过去一年解决的一个技术问题以及我们是如何处理的。<p>我们一直在构建 Code on the Go,这是一个功能齐全的 IDE,完全运行在 Android 手机上。不需要笔记本电脑,不需要 ADB 连接,也不需要云构建服务器。它使用 Gradle 在设备上本地编译项目,通过 LSP 支持 Java 和 Kotlin,并包含一个调试器,该调试器与正在测试的应用程序运行在同一部手机上。<p>最有趣和最具挑战性的部分最终是调试器。Android 操作系统具有严格的安全模型,这可能会妨碍传统的进程间通信。Android 调试假定 ADB,而 ADB 假定两台机器。我们完全绕过了 ADB,在启动时将 JDWP 代理附加到目标进程,并通过本地套接字将其输出路由到我们的调试器。我们使用了 Shizuku 项目的范围限定适配,以获得必要的系统访问权限,而无需 root 权限。<p>我们在 Code on the Go 上还遇到了一些其他技术挑战:草图到 UI(从手绘布局的照片生成 Android XML,使用 Yolo 完全离线运行),可选的 Gemini 驱动的编码代理(选择加入,需要您自己的 API 密钥),以及具有隔离类加载器的插件系统。<p>我们的一位预发布社区成员使用它在 Play 商店上构建并发布了一个僧伽罗语/英语键盘应用程序,完全在他的手机上构建。这成为了我们 Play 商店兼容性的测试案例。<p>我们是一个慈善项目。没有广告,没有跟踪,没有订阅。许可证是 GPLv3。<p>APK:<a href="http://appdevforall.org/codeonthego" rel="nofollow">http://appdevforall.org/codeonthego</a> 源代码:<a href="http://github.com/appdevforall/CodeOnTheGo" rel="nofollow">http://github.com/appdevforall/CodeOnTheGo</a><p>很乐意回答有关实施方面的问题。
4作者: nahimn3 个月前
我最初只是在玩 pi-autoresearch,给它一个样本任务,构建最便携的编码代理。<p>第一个版本是 6 KB 的 shell 脚本。非常适合一次性任务,无法交互使用。我震惊于它竟然真的运行起来了。<p>开始构建——添加功能——但有一个自我设定的规则:没有新的依赖,并且代码行数在 500 行以下。这东西必须真正便携。只有 sh、curl、awk。仅限系统原语。<p>这意味着我在 awk 中做了一些真正令人作呕的事情,包括 JSON 解析和 OpenAI 响应工具循环,其中推理项目跨回合传递。<p>它现在大约有 400 行。功能包括:Anthropic + OpenAI,7 个工具(bash、read、write、edit、grep、find、ls),REPL,自动压缩,检查点/恢复,管道模式,90 个无 API 测试。不包括:TUI、流媒体、图像、OAuth、Windows、尊严。<p>两件诚实的事情:<p>1. 我窃取/修改了系统提示和架构。Pi/Claude/Codex 编写了 awk 代码。我无法阅读大部分代码。一年前这对我来说是不可能的。<p>2. 很大程度上受到 Pi (pi.dev) 的启发——相同的 7 个工具界面,相同的精确文本编辑模型。该归功于谁就归功于谁。Pi 非常棒——你可能应该使用它们。<p>代理循环本身很小。一个“真正”的代理 CLI 中的几乎所有其他东西都是 DX 和加固。你可能可以按照你喜欢的方式构建自己的框架。Mario Zechner 的关于夺回工具控制权的 AI 工程师演讲促使我这么做。<p>之所以叫这个名字,是因为它是一个 .sh 文件。它听起来像的另一件事,很遗憾,也是准确的。