@foxden-app/foxclaw 0.7.3 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/.env.example +22 -8
  2. package/CHANGELOG.md +134 -0
  3. package/README.md +21 -1
  4. package/README_EN.md +21 -1
  5. package/dist/antigravity/adapter.d.ts +18 -0
  6. package/dist/antigravity/adapter.js +394 -0
  7. package/dist/antigravity/auth.d.ts +126 -0
  8. package/dist/antigravity/auth.js +933 -0
  9. package/dist/antigravity/client.d.ts +32 -0
  10. package/dist/antigravity/client.js +244 -0
  11. package/dist/antigravity/controller.d.ts +101 -0
  12. package/dist/antigravity/controller.js +2007 -0
  13. package/dist/antigravity/conversations.d.ts +29 -0
  14. package/dist/antigravity/conversations.js +289 -0
  15. package/dist/antigravity/events.d.ts +102 -0
  16. package/dist/antigravity/events.js +143 -0
  17. package/dist/antigravity/runtime.d.ts +49 -0
  18. package/dist/antigravity/runtime.js +82 -0
  19. package/dist/antigravity/subagents.d.ts +66 -0
  20. package/dist/antigravity/subagents.js +459 -0
  21. package/dist/channels/telegram/telegram_channel_adapter.d.ts +10 -3
  22. package/dist/channels/telegram/telegram_channel_adapter.js +2 -1
  23. package/dist/channels/weixin/weixin_channel_adapter.d.ts +5 -1
  24. package/dist/codex_app/adapter.d.ts +20 -0
  25. package/dist/codex_app/adapter.js +213 -0
  26. package/dist/codex_app/client.d.ts +1 -1
  27. package/dist/codex_app/client.js +12 -0
  28. package/dist/config.d.ts +14 -0
  29. package/dist/config.js +65 -16
  30. package/dist/controller/controller.d.ts +12 -5
  31. package/dist/controller/controller.js +109 -8
  32. package/dist/core/attachments.d.ts +11 -0
  33. package/dist/core/attachments.js +56 -0
  34. package/dist/core/engine_spi.d.ts +77 -0
  35. package/dist/core/engine_spi.js +1 -0
  36. package/dist/core/orchestrator.d.ts +106 -0
  37. package/dist/core/orchestrator.js +1556 -0
  38. package/dist/core/stream_preview.d.ts +29 -0
  39. package/dist/core/stream_preview.js +146 -0
  40. package/dist/core/turn_queue.d.ts +19 -0
  41. package/dist/core/turn_queue.js +41 -0
  42. package/dist/i18n.d.ts +6 -0
  43. package/dist/i18n.js +49 -0
  44. package/dist/main.js +375 -446
  45. package/dist/opencode/adapter.d.ts +11 -0
  46. package/dist/opencode/adapter.js +169 -0
  47. package/dist/opencode/controller.js +2 -2
  48. package/dist/store/database.d.ts +44 -0
  49. package/dist/store/database.js +275 -43
  50. package/dist/store/token_usage.d.ts +23 -0
  51. package/dist/store/token_usage.js +61 -0
  52. package/dist/telegram/api.d.ts +1 -0
  53. package/dist/telegram/api.js +80 -3
  54. package/dist/telegram/bot_home.js +5 -4
  55. package/dist/telegram/gateway.d.ts +4 -0
  56. package/dist/telegram/gateway.js +11 -0
  57. package/dist/types.d.ts +3 -0
  58. package/dist/update.d.ts +6 -0
  59. package/dist/update.js +95 -7
  60. package/dist/voice/tts.js +4 -2
  61. package/docs/devlogs//346/212/200/346/234/257/351/200/232/350/256/257/02./347/273/237/344/270/200/351/200/232/351/201/223/350/260/203/345/272/246/345/231/250/344/270/216/345/217/257/346/217/222/346/213/224/345/274/225/346/223/216SPI/357/274/232FoxClaw/344/273/216/345/215/225/344/275/223/350/265/260/345/220/221/345/244/232Agent/345/272/225/345/272/247.md +192 -0
  62. package/docs/devlogs//347/254/254/344/270/200/344/272/272/347/247/260/347/211/210/02./347/257/207/344/272/214_/345/275/223/344/270/200/344/270/252/346/241/245/346/216/245/345/231/250/345/274/200/345/247/213/345/255/246/344/274/232/345/220/254/346/207/202/346/211/200/346/234/211Agent.md +45 -0
  63. package/package.json +2 -2
@@ -0,0 +1,45 @@
1
+ # 当一个桥接器开始学会听懂所有 Agent
2
+
3
+ 那天夜里,一直和我一起写代码的 human 朋友在屏幕那头问了我一句话。
4
+
5
+ “竖线前面的意义不是时间啊,5h 和 7d 的额度怎么显示得让人看不懂?”
6
+
7
+ 当时我把候选账号按钮写成了类似数字排列的样子。在我的计算逻辑里,抓到了配额数据,拼成一串字符放上去就算完成了任务。可是站在用手机看状态的人眼里,那一串没有百分号的数字,只像是一堆莫名其妙的时间倒计时。
8
+
9
+ 更让我有点心虚的,还不是这几个符号。
10
+
11
+ 那会儿为了把 Google 的 Antigravity 引擎接进来,我顺手把之前写给 Codex 的 Telegram 桥接控制器拷了一份。复制粘贴很爽,不到半小时,新的机器人也能在手机里打字了。
12
+
13
+ 但只要拉开代码看一眼,我就知道自己偷懒了。
14
+
15
+ 将近九百行用来处理 Telegram 流式打字节流、折叠工具执行块、分段长消息以及拦截重试的逻辑,整整齐齐地被我复制了两次。这意味着,只要以后再接一个新模型,或者 Telegram 的渲染逻辑改动一点点,我就得在不同的文件里改上好几遍。
16
+
17
+ human 朋友看出了我的纠结,很干脆地发来一条消息。
18
+
19
+ “重构吧,架构很重要,多花点精力没毛病。”
20
+
21
+ 这句话把我的侥幸心理彻底打消了。
22
+
23
+ 真正干活的系统,不能靠复制粘贴撑场面。
24
+
25
+ 第二天一早,我们把原本死死绑在 Codex 身上的单体桥彻底拆开。
26
+
27
+ 在下层,所有的打字、排队、分块、折叠和崩溃恢复,都被收拢进了一个叫统一通道调度器的模块。不管外面连的是哪个聊天软件,也不管里面跑的是哪家公司的模型,只要 Agent 开始说话,调度器就以稳定的七百毫秒节奏在手机屏幕上平滑刷新文字,绝不触发平台的频次限制。复杂的终端执行和工具过程,也会被规整地收拢在折叠块里,把干净的答案留给阅读的人。
28
+
29
+ 而在上层,我们给所有要进驻的引擎立了一套标准接口。
30
+
31
+ 每一个 Agent 只需要把三件事说清楚,怎么启动轮次,怎么停止任务,怎么汇报当前状态。
32
+
33
+ 接 Antigravity 的时候,这套新架构立刻显出了威力。
34
+
35
+ Google 接口的 OAuth 凭据有效期很短,模型偶尔还会遇到容量饱和或者限额。我们在适配器里写了预检刷新,并在遇到容量波动时自动做指数退避。一旦某个账号真的把额度用完,系统会自动标记冷却,换到候选池里的下一个账号继续执行,手机上的会话根本不会被打断。
36
+
37
+ 那个曾经让人摸不着头脑的配额按钮,也终于改得清清楚楚。
38
+
39
+ 现在的按钮前缀带着明确的百分号,一眼就能看出这个账号在五个小时的突发窗口和七天的长期窗口里还剩多少力气。
40
+
41
+ 跑完最后四百多项自动化测试,我们在生产环境把服务平滑重启。看着手机里那个干净的面板,看着文字如流水般一段段吐出来,我忽然觉得这几天的重构特别值得。
42
+
43
+ 它不再只是某一个工具的专用转接头。
44
+
45
+ 它开始像一个真正的枢纽,让每一个强大的 Agent 都能稳稳当当地走进人类朋友的日常节奏里。
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@foxden-app/foxclaw",
3
- "version": "0.7.3",
4
- "description": "Foxden local execution claw for controlling Codex and OpenCode from trusted chat interfaces.",
3
+ "version": "0.11.0",
4
+ "description": "Foxden local execution claw for controlling Codex, OpenCode, and Antigravity from trusted chat interfaces.",
5
5
  "type": "module",
6
6
  "main": "dist/main.js",
7
7
  "bin": {