如果自动给远程的tmux里的Emacs 发送命令?

写了一个Common Lisp函数调用shell 同步产品服务器的最新数据到本地, 然后再把本地的数据和最新的代码更新到"测试服务器"的数据库(git hook)
但是测试服务器里运行在 tmux 里的SLIME, 我该如何发送命令到SLIME来重启那个项目(quickload)呢?
平时写了个快捷键来简单重启SLIME, 但都是人工重启, 现在要自动重启啊

(defun restart-slime ()
  (interactive)
  (slime-repl-clear-buffer)
  (slime-quit-lisp)
  (sleep-for 0.2)
  (slime))
(global-set-key (kbd "C-M-y") 'restart-slime)

…测试了一下可以写一个Emacs函数来重启服务器:


那我们该如何在Emacs进程外(也就是我本地, 在通过远程的git hook)来调用Emacs函数呢? 写个Socket?
还是写个简单粗暴的方法定时监控文件更新?
(我经常是边发表提问边尝试摸索, 越来越接近真相…)

无心插柳柳成荫,想解决这个问题, 却突然抓住了更有前景的思路(以后我都会用上,逐渐地提高自己的开发效率), 只是顺便把这个问题也解决了…
[当做自己的笔记, 这里实际项目用Common Lisp的应该只有我, 但是思路是通用的]

目前我的请求通过WebSocket 发送postgres的函数名和参数, Lisp 服务器就是个中介自动去请求对应的函数, 关键是参数自动通过postgres函数来解析, 不用我再每个db函数对应的请求都人工添加上去
例如:
我要添加一个请求处理 :update-comment => (更新备注), 这个时候我就在db先定义好那个函数update_comment, 然后前端对照着该函数名和参数名(必须), 就能立刻请求到, 后台(Lisp)我一句代码都不用添加!!
(我写了自动解析用户的机构id和权限, 传统HTTP通过cookies每次传来传去, 我现在用 WebSocket session简单明了)

以前用node每次添加一个对应的数据请求就添加对应SQL代码和 express 对应的router+service…
虽然也不是很复杂, 但是要死板地重复 (添加请求,参数), 而且每次更新完还要重启下服务器(你们的要吗?)…

https://school.celwk.com/course-schedule

这样我更新远程项目也简单多了(就是我提出的这个问题), 我根本不需要重启 tmux 的SLIME了, 只要数据库同步就可以了…
(这次的一个收获笔记就是在新线程里要加上 (in-package ...) 默认新线程是回到 CL-USER)

不知道AI是否也是类似的原理, 就是尽量帮你做了 重复/死板 的活, 加法变乘法
很多时候人类看起来也真心不是很"智能", 经常看到低级错误, 依赖"经验"(缓存)

楼主的意思是不想每天写重复的代码做重复的工作,希望只提供数据然后系统自动生成代码,自动debug?

我觉的可能真的需要AI才能真正做好这件事,因为对大部分人而言自己写的代码过一段长点的时间再回头来看,可能自己都看不懂自己写的是啥,如果是996加班赶工写出来的代码,情况只会更糟

其实就像我们的人类的语言不断地在升级优化,能让尽量短小的语句清楚表达我们的意思

代码也是一样,短小精悍,尽量消除“重复” 所以我们发明“成语”,四个字清晰表达了我们的意思

所以能够言简意赅就更能记住自己写的是啥

Lisp优势真的体验出来了,我们可以随时发明短小精悍的成语(我快要升级为黑客了👽)