This website requires JavaScript.
Explore
Help
Register
Sign In
ericwyuan
0 Followers
·
0 Following
Joined on
2026-03-18
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
User to block:
Optional note:
The note is not visible to the blocked user.
Cancel
Block
Repositories
5
Projects
Packages
Public Activity
Starred Repositories
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 10:06:27 +00:00
ff01d14c79
feat(v3): 人物模块重构 - 大模型结构化特征值替代 OpenCV 帧定位。prompt 增加 person_appearances(uid+7特征+action)并重写合并 prompt(稳定特征优先比对);gemini 透传特征字段;oracle_db events/people 加 person_appearances_json/features_json/display_uid + _merge_features;video_processor 去 cv2 改 ffprobe 校验、_store_result 聚合 uid 特征落 people、删缩略图/事件截图;person_service 聚合特征后基于特征文本 LLM 合并;api_gateway 删 3 个图接口;NAS 镜像+DDL 加新字段;fam-ui 特征卡替代头像、事件时间线人物特征块
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 08:13:09 +00:00
2ba3478291
fix(头像): 人物头像改为'出现事件画面'而非视频首帧 - 新增 /api/oracle/person/avatar(在该人物所有出现事件中返回第一个有截图的事件画面,JSON 精确匹配);撤销 event_thumb 的视频首帧兜底(首帧可能无人/非本人);fam-ui 人物页改调 avatar 接口
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 08:09:58 +00:00
27bfd6abbe
fix(api): 事件截图接口兜底 - ev_{id}.jpg 缺失时返回所属视频首帧缩略图(thumbs/{video_id}.jpg),避免旧事件/未生成截图导致前端头像空白
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 08:05:21 +00:00
02fc80b3b2
fix(fam-edge): 模型调用 started_at 改北京时间(UTC+8) - 原 datetime.now() 取 Oracle UTC 导致前端模型统计时间差 8 小时
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 07:54:01 +00:00
fec9a3e586
fix(fam-edge): video_queue 补 Dict 类型导入(status() 注解导致 worker 启动 NameError)
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 07:52:42 +00:00
0d0a7f6ef8
feat(监控): 实时服务状态界面 - Oracle 新增 service_activity 活动表(只保留7天,写入时清理)与 /api/oracle/activity 接口(队列实时状态/当前处理视频/模型调用/rclone/人物合并/最近50条活动);VideoQueue 打点+当前处理跟踪+status();PersonService 打点;rclone_sync.sh 同步结果写活动表;fam-ui 新增'🖥 服务状态'页(状态卡+活动时间流,直连 Oracle 实时拉取)
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 07:00:44 +00:00
da7631976d
fix(ui): 日期维度改用视频录制时间 - 前端事件时间轴/统计/关注事件与后端 db_layer 统一按 event_start_time(文件名解析) 分组排序,空值回退 processed_at;修复全量重分析导致处理时间(8/21)把 8/15-8/20 视频全堆同一天、与文件名对不上的问题
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 06:47:50 +00:00
0d73c23bd1
fix(fam-edge): 人物标识清洗 - _clean_person 去括号注释(防模型输出'人物A(别名/标识:人物B)'污染人物表);prompt 明确 people 只填标识本身;events.people 与 people_mentioned 均清洗
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 06:42:31 +00:00
a72b286bd7
refactor(prompt): Prompt 集中化 - 新增 fam-edge ai_orchestrator/prompts.py(视频分析/智能问答/人物合并三模板共享,消除 gemini/nvidia 两份发散);gemini/nvidia _build_video_prompt 改调共享函数并注入 camera_name;person_service 改调 build_person_merge_prompt;fam-core chat_handler 独立 prompts.py(跨模块风格一致)替代内联 CHAT_SYSTEM_PROMPT;输出硬约束(首字符{/禁markdown)、3 秒密度抽取、people_mentioned 一致性强制、描述 7 维度、人物合并唯一性约束
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 06:24:16 +00:00
4e85a98944
fix(锁与查询组):
#12
熔断器状态转换加锁;#10 问答人名匹配改 JSON_CONTAINS 精确匹配(防 LIKE 子串/特殊字符误匹配);#4 OracleDB 复合写加锁;#6 每消费者独立 VideoProcessor(消除 adapter.timeout 共享竞争);#15 done 视频文件被覆盖(mtime>processed_at)自动重置重分析
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 06:22:32 +00:00
034dca92b2
fix(优先组):
#18
密钥明文直配 config(弃 .env 依赖);#5 appearances 改 distinct 视频数覆盖校准(防 reconcile 累加膨胀);#9 oracle_sync 拉取加锁防 trigger_now 与后台并发双拉;#11 LLM 合并命名解析 target 已有 canonical(统一显示名)
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 06:09:41 +00:00
6afdda582b
feat(fam-edge): 队列健壮性 - ①失败重试间隔 retry_interval_sec=1h(last_fail_at 记录,配额类故障等恢复再试);②max_retries 2→10;③入队前 OpenCV 文件校验(可解码/大小/元数据,失败标 invalid 不入队)+ mtime 稳定窗口防 rclone 半成品 + 处理前二次确认
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 06:03:46 +00:00
92ef9fe163
feat(ui): 人物管理显示人物代表画面 - 每个身份取其一 label 出现事件的截图作为头像(Oracle event thumb 接口)
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 05:52:50 +00:00
3fcd00d4c8
fix(fam-edge): 文件名解析支持纯数字 YYYYMMDD-HHMMSS 格式(监控录像名 20260820-140416,原正则只认带分隔符);事件相对时间加 6h 启发式防误判绝对时间
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 05:48:50 +00:00
5233296dd3
fix(fam-edge): 事件时间戳改相对时间定位 - prompt 要求输出视频内相对时间 HH:MM:SS(模型对相对位置判断更准),后端按 开始时间+偏移 精确计算绝对时间落库;事件截图直接用偏移跳帧,消除模型绝对时间推算误差导致的图文不符
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 05:44:20 +00:00
05f727a9ef
feat(events): 每个事件生成对应时间点画面截图 - oracle_db.mark_video_processed 返回 event_ids;video_processor 按事件时间戳-视频起始时间偏移跳帧截图存 ev_{id}.jpg;新增 /api/oracle/event/{id}/thumb 接口;fam-ui 事件列表每条显示对应截图
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 05:37:27 +00:00
41485072bf
fix(ui): sync_events 查询补 JOIN sync_videos 取 camera_name(修 1054 报错);feat(缩略图): Oracle 处理成功后抽首帧存 thumbs/{id}.jpg + /api/oracle/video/{id}/thumb 带 token 接口;fam-ui 视频会话显示缩略图(oracle_url+token);start_ui.sh 注入 .env
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 05:31:01 +00:00
b7b5fe6f0b
feat(fam-edge): NVIDIA 多模型降级链 - adapter 支持 model_chain(asset 上传一次逐个尝试)+switch_interval_sec 切换间隔+model_timeouts 每模型独立超时;实测全部候选不可用(omni 500/12b 400/其余 404),链机制保留待可用模型
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 05:07:46 +00:00
83eefc194a
config(fam-edge): gemini-flash-lite 超时放宽至 480s(8 分钟,用户要求;实测 22-34s 留足余量)
ericwyuan
pushed to
main
at
ericwyuan/sentinel-home-ai
2026-08-21 04:23:36 +00:00
3e94c2a8b0
feat(nas): 模型调用统计镜像与界面 - sync_model_calls 表+拉取+聚合统计;fam-ui 新增'
🤖
模型统计'页(按模型成功/失败/成功率/平均耗时 + 最近调用明细含失败原因)
First
Previous
...
6
7
8
9
10
...
Next
Last