
























整体数据流是这样的:
手机捕获 → WebDAV → inbox-mobile.org → Elisp 管道路由 → LLM 文本处理 → Org 文件
具体来说,它在服务端跑一个 Emacs 守护进程,通过 WebDAV 接收手机端(organice)传来的捕获内容,写入 inbox-mobile.org 。然后根据条目的标签走不同的处理流程:
:task: 标签:link: 标签(或标题以 http:// 开头)
处理完的结果写回到对应的 Org 文件( tasks.org 或 org-roam 笔记库),并定期 git 同步备份。
目录约定
所有数据都在 /data 下,每个文件有明确的角色:
| 路径 | 作用 |
|---|---|
/data/inbox-mobile.org |
手机端传来的原始捕获,管道路由的入口 |
/data/tasks.org |
任务处理后的输出文件 |
/data/rules.org |
调度规则文件,控制 cron 触发哪些流程 |
/data/org-roam/org-files |
org-roam 笔记库,URL 捕获的结果写到这里 |
/data/org-roam |
git 同步的仓库根目录 |
具体使用场景
场景一:在手机上随手记了一个任务。打开 organice,在 inbox-mobile.org 里写一条带 :task: 标签的标题,比如"准备下周的技术分享"。保存后,服务端的 cron 定时触inbox处理流程:Elisp 识别到 :task: 标签,把这条文本发给 LLM,LLM 归一化任务描述并生成规划(拆解成"确定主题"、"准备 slides"、"排练"等子任务),Elisp 把结果写入 tasks.org ,然后从收件箱中移除这条。
场景二:在手机浏览器里看到一个有趣的文章,复制链接,在 organice 里粘贴为 inbox-mobile.org 的一条标题(以 https:// 开头,甚至不需要加 :link: 标签,系统会自动识别)。cron 触发后,LLM 从网页内容中提取关键信息,生成一篇 org-roam 笔记节点,写入 /data/org-roam/org-files 下。
三个后台循环
SEM Assistant 在后台跑着三个定时循环:
inbox processing :: 扫描收件箱,按标签路由,调用 LLM 处理,写回结果URL-to-org-roam :: 把链接转成 org-roam 笔记节点git sync :: 定期把 org-roam 笔记库 commit + push这三个循环由 cron 驱动(项目自带 crontab 配置)。你也可以手动触发:
docker compose exec emacs emacsclient -s sem-server -e "(sem-core-process-inbox)" docker compose exec emacs emacsclient -s sem-server -e "(sem-git-sync-org-roam)"
git 同步需要在容器内配置好 SSH 密钥( /root/.ssh/id_rsa )和 git 身份(name/email),这样每次同步都会自动 commit 和 push 到远程仓库。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。