kevin
01c7275763
admin 页面 MQTT 服务状态增加去重队列长度显示
2026-06-30 12:18:40 +08:00
kevin
4782e84c15
添加 MQTT 消息去重队列:Hook 层基于 payload+topic hash 去重,TTL 15 秒,定时清理
2026-06-30 12:10:29 +08:00
kevin
ca59c5f316
修改机器人hops为7
2026-06-29 10:43:18 +08:00
kevin
cfe4ef04d7
修复消息重复问题
2026-06-20 12:32:05 +08:00
kevin
260bd12ec8
修复重复消息bug
2026-06-20 12:24:58 +08:00
kevin
dc5d9bf9a6
签到ai基本完成
2026-06-20 02:20:29 +08:00
kevin
54df706ca7
基本完成
2026-06-20 02:15:15 +08:00
kevin
fd766be731
up
2026-06-20 01:45:24 +08:00
kevin and Claude
94835a5f1d
fix(llm): 启用工具时最终回复改用主回复配置的 system prompt
...
此前工具循环把工具路由 prompt 同时塞进最终回复和路由决策,导致用户在
「主 AI 回复配置」编辑的系统提示词被工具路由 prompt 覆盖、未加载到回复。
现在 finalMessages 用主回复 prompt,decisionMessages 用工具路由 prompt。
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-20 00:53:21 +08:00
kevin and Claude
b9c2b8f0bd
fix(llm): 工具路由配置修改后立即生效,不再硬编码 system prompt
...
toolrouter 每轮调用都从 DB 读取最新配置,/admin/llm/api 保存后下一条消息即生效,
无需重启。ai.NewService 启动时从 DB 加载初始配置,移除硬编码 prompt 覆盖用户配置的问题。
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-20 00:41:28 +08:00
kevin
f5dacdce19
up
2026-06-19 23:39:30 +08:00
kevin
0ef477b15f
不明bug
2026-06-19 23:30:33 +08:00
kevin
fd66162d57
feat(mqtt): client_id 冲突时自动加 4 位随机后缀
...
同一 Meshtastic 节点被多台 Android 同时连时,broker 按 [MQTT-3.1.4-3]
强制顶号会让两边互相踢,日志被刷屏且无法稳定收发。
OnConnect 里检测 server.Clients 中是否已有未关闭的同 ID 客户端,命中
就把当前连接的 cl.ID 改成 "原ID-xxxx"(4 位 hex),避开顶号路径。
打 mqtt_client_id_renamed 日志记录原/新 ID 与双方 remote。
2026-06-19 22:51:34 +08:00
kevin
6cec82235a
fix(map): 节点右键菜单不再触发地图空白菜单
...
leaflet 与自定义的 handleMapContextMenu 都挂在 mapEl 容器上,普通
stopPropagation 不能阻止同节点上的后续监听器。改用
stopImmediatePropagation 并显式重置 menuMap,确保右键 marker 只显示
节点菜单。
2026-06-19 21:00:11 +08:00
kevin
2afd890de4
批量删除节点,一键屏蔽ip
2026-06-19 20:37:19 +08:00
kevin
b56cfb7b1e
新增删除节点功能
2026-06-19 20:03:25 +08:00
kevin
3fbc52c6c1
up
2026-06-19 19:08:44 +08:00
kevin
01b0ad1999
up
2026-06-19 18:51:28 +08:00
kevin
5aae81c831
up
2026-06-19 18:17:27 +08:00
kevin and Claude
8e7d11a162
feat(llm): 处理完成的消息自动软删除并隐藏删除按钮
...
- MarkAsProcessed 在写入 reply/processed_at 的同时设置 deleted_at,
避免 /admin/llm 队列页堆积已处理消息(仍可勾选"包含已删除"查看)
- 前端列表中已删除的消息行隐藏删除按钮,改为显示灰色"已删除"标签
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-19 17:50:56 +08:00
kevin and Claude
8bbe40c230
feat(llm): console_log.llm 控制可读单行流程日志,并追踪路由 AI 决策
...
autoreply.Service 增加 consoleLog 字段和 logf 辅助;processMessage 中
原本的 printJSON map dump 全部替换为 [llm] 前缀的单行 key=value 输出。
关闭开关时整条链路静默。
把原本传 nil 给 toolrouter.RunAgentToolLoop 的 emit 接进来,将
stream.Frame trace 帧渲染为可读行,区分三类来源:
- 主 AI:main_model / completion / 最终 reply
- 路由 AI:router=<model> prepare/decide iter=N → call_tools=[...] / no_tool
- 工具调用:tool=<name> args=... / result(Nms)=... / ERROR ...
ai.Config 增加 ConsoleLog 字段,由 main.go 传入 cfg.ConsoleLog.LLM,
再透传给 autoreply.NewService。
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-19 17:45:21 +08:00
kevin and Claude
49a287e6e7
feat: console_log.meshtastic 控制 packet 控制台输出;新增每客户端报文统计
...
- ConsoleLogConfig 增加 Meshtastic 字段(默认 true);旧配置自动补齐
- meshtasticFilterHook 增加 packetConsoleLog;OnPublish 中根据开关调用
新的 printMeshtasticRecord 输出可读单行(key=value、按 type 着色),
替代原来的 JSON dump;事件型 printJSON 调用保持不变
- 新增 internal/mqttforward/ClientStats,按 client_id 累计 in/out 报文计数
- meshtasticFilterHook 多挂 OnPacketRead / OnPacketSent / OnDisconnect
事件,用于增减计数;Provides() 同步声明
- AdminMQTTClient JSON 视图删除 RemoteHost/RemotePort,新增
packets_in / packets_out;前端 types.ts、AdminDashboard.vue 同步更新
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-19 17:09:00 +08:00
kevin and Claude
937580e24f
feat(mqtt): console_log.mqtt 控制连接/断开/订阅/取消订阅日志
...
为 meshtasticFilterHook 增加 consoleLog 字段;当 console_log.mqtt=true 时
向 stderr 输出 4 类事件(带 client_id、username、remote IP:port):
- OnSessionEstablished → [mqtt] connect ... (认证后才打,避开被 IP 屏蔽拒掉的客户端)
- OnDisconnect → [mqtt] disconnect ... (含 expire 和 mochi 上报的断开原因)
- OnSubscribed → [mqtt] subscribe ... (每个 filter 一行)
- OnUnsubscribed → [mqtt] unsubscribe ... (每个 filter 一行)
Provides() 同步多声明这 4 个事件类型;关闭开关时各 handler 立即返回。
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-19 16:21:55 +08:00
kevin and Claude
52da224a19
refactor(config): console_log 提到顶层并细分 web/mqtt/llm/sql;data_dir 归入 ai
...
- 新增顶层 ConsoleLogConfig{Web, MQTT, LLM, SQL},默认全 true,方便后续按模块扩展
- WebConfig.ConsoleLog 移除;NewRouter/NewHTTPServer 改为显式接 consoleLog 参数
- AIConfig 增加 DataDir,原 Config.DataDir(仅 ai 模块使用)下沉到 ai.data_dir
- OpenStore(cfg, consoleLog) 通过 console_log.sql 控制 gorm logger 级别(Warn/Silent)
- gorm logger 始终设 IgnoreRecordNotFoundError=true,修掉 GetBoolRuntimeSetting
正常缺省路径仍刷屏 'record not found' 的噪声
- 同步更新 install.sh 模板、win/etc 默认 yaml 与所有测试调用点
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-19 16:13:18 +08:00
kevin and Claude
98d5e9e117
feat(web): 新增 web.console_log 开关;data_dir 默认改为 srv/mesh_mqtt_go
...
- WebConfig 增加 console_log 字段,关闭后 gin 不再向控制台打印 HTTP 访问日志(保留 Recovery)
- 默认值 true;旧配置加载时自动补齐并写回
- defaultDataDirForGOOS 默认目录由 var/lib/mesh_mqtt_go 调整为 srv/mesh_mqtt_go,与 install.sh 中 DATA_DIR=/srv/${SERVICE_NAME} 保持一致
- install.sh 模板同步加入 console_log: true
Co-Authored-By: Claude <noreply@anthropic.com >
2026-06-19 15:43:38 +08:00
kevin
4e7aacbc68
up
2026-06-18 08:52:25 +08:00
kevin
fcd230cb5b
写成屎山了
2026-06-18 08:35:09 +08:00
kevin
45822fd333
工具路由还没实现
2026-06-18 08:14:09 +08:00
kevin
dfb3fdd3e5
根本原因:PKI 私聊需要接收方的公钥,但 !72d17be4 这个节点从未广播过节点信息,nodeinfo 表中没有它的公钥。这傻x豆包ai突然发什么神经,蠢死了
2026-06-18 00:49:42 +08:00
kevin
ce07792c4b
up
2026-06-17 23:54:38 +08:00
kevin
9f088c265d
up
2026-06-17 23:10:20 +08:00
kevin
fd0a3bc1fe
up
2026-06-17 22:14:18 +08:00
kevin
02bb31584a
修复编译bug
2026-06-14 21:21:34 +08:00
kevin
0024841ffb
修复机器人聊天记录与修改机器人信息
2026-06-14 21:17:49 +08:00
kevin
491876284e
优化机器人私聊
2026-06-14 20:14:52 +08:00
kevin
67330d4656
优化机器人ack
2026-06-14 19:56:20 +08:00
kevin
757eb852fd
更新机器人接收功能
2026-06-14 19:41:52 +08:00
kevin
5d4aced3e0
完善私聊
2026-06-14 19:26:43 +08:00
kevin
a2d838d556
up
2026-06-12 20:26:48 +08:00
kevin
6c0285c015
私聊功能未完成
2026-06-12 20:24:18 +08:00
kevin
e16442f348
机器人基本ok
2026-06-12 19:57:34 +08:00
kevin
609462252c
机器人功能还差发送nodeinfo
2026-06-12 19:24:40 +08:00
kevin
0db2b181cc
合并
2026-06-12 18:16:16 +08:00
kevin
2e96faf5a2
Merge branch 'main' of https://git.lmve.net/kevin/meshtastic_mqtt_server
...
# Conflicts:
# meshmap_frontend/src/App.vue
# web.go
2026-06-12 18:15:30 +08:00
kevin
b645907c52
新增机器人功能
2026-06-12 18:07:53 +08:00
kevin
91fb3612f2
up
2026-06-08 01:28:20 +08:00
kevin
1624cb0f9b
up markdown
2026-06-08 01:24:01 +08:00
kevin
32bc572284
去掉了“查询轨迹”按钮
2026-06-07 00:30:00 +08:00
kevin
1e0aa8f637
增加最近按钮
2026-06-07 00:27:22 +08:00
kevin
c0ceba93b7
限制轨迹数据查询
2026-06-07 00:22:18 +08:00
kevin
e1f1ac902a
更新readme
2026-06-06 15:56:37 +08:00
kevin
1841509622
修复文本错误
2026-06-06 15:23:01 +08:00
kevin
ddf434ef82
隐藏地图的 “Leaflet” 但保留瓦片来源 attribution
2026-06-06 13:21:00 +08:00
kevin
1b5cf41576
修复聊天信息聚合问题
2026-06-06 13:09:19 +08:00
kevin
2faac32d87
代理与否可控
2026-06-06 12:20:16 +08:00
kevin
563d609121
服务器代理地图数据
2026-06-06 12:01:46 +08:00
kevin
9d3f007cb8
优化地图节点遮挡选中策略
2026-06-06 03:16:38 +08:00
kevin
63465f13e6
优化重合节点显示机制
2026-06-06 03:00:21 +08:00
kevin
35823507a0
美化前端
2026-06-06 02:10:56 +08:00
kevin
71282f4e4f
支持图源切换
2026-06-06 01:49:05 +08:00
kevin
0f9cb3eae5
新增图源修改功能
2026-06-06 01:16:03 +08:00
kevin
91267eb99c
可以快速删除折叠消息
2026-06-05 21:56:47 +08:00
kevin
ae2773df71
修复一个错误
2026-06-05 20:07:19 +08:00
kevin
fb1971da72
增加转发开关
2026-06-05 20:03:52 +08:00
kevin
bfdf57cd72
修复地图窗口闪烁问题
2026-06-05 19:12:39 +08:00
kevin
0415a1c161
修正地图遮挡关系遮挡
2026-06-05 19:09:27 +08:00
kevin
dd10d99b99
编辑帮助功能
2026-06-05 19:05:04 +08:00
kevin
d962ccf9af
新增mqtt转发功能
2026-06-05 18:49:30 +08:00
kevin
88d1facc2d
up
2026-06-05 14:43:47 +08:00
kevin
4377a0db0a
合并重复消息
2026-06-05 14:08:10 +08:00
kevin
30ec678c84
Merge branch 'main' of https://git.lmve.net/kevin/meshtastic_mqtt_server
2026-06-05 13:34:56 +08:00
kevin
081600eff0
异步保存sql消息
2026-06-05 13:34:54 +08:00
kevin
2b5f3685df
调整按钮位置
2026-06-04 22:25:45 +08:00
kevin
ad2692c6d7
去除地图遮挡
2026-06-04 22:18:51 +08:00
kevin
91eb43d00c
更新节点详情
2026-06-04 19:20:43 +08:00
kevin
76c692c50d
地图源改日本镜像
2026-06-04 18:07:22 +08:00
kevin
60b19ab8ca
修复地图闪烁问题
2026-06-04 17:56:43 +08:00
kevin
6fb6fc4f10
修复跨端问题
2026-06-04 17:49:31 +08:00
kevin
f84a9a3cdd
修复部署脚本路径问题
2026-06-04 16:48:30 +08:00
kevin
25decaba71
部署脚本
2026-06-04 16:29:52 +08:00
kevin
447cacc4f6
修改帮助页面
2026-06-04 16:07:10 +08:00
kevin
69e06a19e1
功能基本完成
2026-06-04 15:54:45 +08:00
kevin
2e6eab3e01
屏蔽词功能ok
2026-06-04 15:20:40 +08:00
kevin
c3cdcfd379
限制地图缩放
2026-06-04 14:28:02 +08:00
kevin
5b6a1a60a1
地图缩放融合
2026-06-04 14:23:17 +08:00
kevin
7d268f6425
up
2026-06-04 13:45:48 +08:00
kevin
acd03a614a
屏蔽表已创建
2026-06-04 12:08:25 +08:00
kevin
e6fa998854
up
2026-06-04 09:57:43 +08:00
kevin
f73d79b7d4
基本功能差不多完成
2026-06-04 09:52:57 +08:00
kevin
c441fed1b3
节点详情页完成
2026-06-04 09:20:26 +08:00
kevin
e945222519
右键删除节点列表,好像实现了,还需要实现右键删除地图节点
2026-06-04 01:16:33 +08:00
kevin
7c1b30b3a0
统计相关更新
2026-06-04 00:09:16 +08:00
kevin
63676f7f34
更新用户管理相关
2026-06-03 23:58:17 +08:00
kevin
9221a53617
新增后台管理
2026-06-03 23:29:21 +08:00
kevin
b1548baccf
基本功能完成
2026-06-03 22:49:38 +08:00
kevin
3ae2ffa098
分表
2026-06-03 22:34:25 +08:00
kevin
f471905b33
修复一个编译错误
2026-06-03 21:51:38 +08:00
kevin
26126771f4
up
2026-06-03 20:26:15 +08:00
kevin
8ee50a4aa2
更新聊天窗口
2026-06-03 20:11:37 +08:00
kevin
191651fce9
更新地图
2026-06-03 19:59:49 +08:00