starmen1265
|
4ce74541bf
|
docs: 添加执行方式和环境变量配置说明
|
2026-02-13 17:24:18 +08:00 |
|
starmen1265
|
2d7d444803
|
fix(kb-deep-analyzer): 子线程环境变量传递
- 在 _analyze_chunks_concurrent 中使用 _worker_env 保存环境变量
- 添加 init_worker() 初始化函数
- ThreadPoolExecutor 使用 initializer=init_worker 传递环境变量
|
2026-02-13 15:54:42 +08:00 |
|
starmen1265
|
99164f7ce6
|
fix(kb-deep-analyzer): 添加进度日志和超时追踪
- SimpleAIClient.generate(): 添加 AI 调用开始/结束日志
- _analyze_chunk(): 添加分片分析耗时日志
- _analyze_chunks_concurrent(): 添加批次进度日志和总耗时统计
- 便于排查卡住问题和监控进度
|
2026-02-13 15:49:17 +08:00 |
|
starmen1265
|
c276df2d37
|
feat(kb-workflow): 添加严格失败判断逻辑
- kb-deep-analyzer: 新增判断逻辑,只有AI真正完成分析才算成功
- 失败条件: summary以'共'开头、topics为空、full_analysis为None
- kb-workflow: 明确深度分析失败则整个流程失败
- 禁止降级处理或使用模板'假装成功'
|
2026-02-13 15:23:03 +08:00 |
|
starmen1265
|
518f8e4805
|
fix(kb-deep-analyzer): 优化文档格式
- date 改为视频发布日期(pubtime)
- 添加 url 到 frontmatter
- 去掉建议行动章节
- 去掉 {% if timeline %} 和最后分析时间
- 简化模板结构
|
2026-02-13 14:57:07 +08:00 |
|
starmen1265
|
c8ddc1e83f
|
feat(kb-deep-analyzer): 添加流式写入器 StreamingWriter
- 支持多线程并发写入到文档不同位置
- 初始化时创建带占位符的文档结构
- 每批完成后写入对应位置
- 支持更新摘要、主题、见解等全局内容
|
2026-02-13 14:47:43 +08:00 |
|
starmen1265
|
94370f225e
|
feat(kb-deep-analyzer): 改为批处理模式
- 10段 = 3+3+3+1 批次处理
- 每批最多3个并发
- 添加 on_batch_complete 回调支持
- timeout 保持 600s
|
2026-02-13 14:46:09 +08:00 |
|
starmen1265
|
520e30d02e
|
feat(kb-deep-analyzer): 优化超时和并发
- timeout 从 120s 改为 600s
- 添加 max_concurrent=3 并发支持
- 新增 _analyze_chunks_concurrent 方法支持流式输出
- analyze() 方法支持 on_segment_complete 回调
|
2026-02-13 14:43:40 +08:00 |
|
starmen1265
|
9e2220404f
|
fix(kb-workflow): 环境变量检查改为必须报错退出
- 必须的环境变量:AI_API_KEY, AI_PROVIDER, AI_MODEL, AI_BASE_URL
- 如果未设置,报错并退出,不执行后续步骤
- 删除 KB_BASE_PATH(已改为从 ~/work/knowledge-base 获取)
|
2026-02-13 14:37:09 +08:00 |
|
starmen1265
|
bdc84ec75c
|
fix(kb-deep-analyzer): 修复环境变量传递问题
- generate() 每次调用时重新读取环境变量
- AI 调用方法接受 api_key, model, base_url 参数
- 解决 exec 工具中环境变量未传递的问题
|
2026-02-13 13:58:46 +08:00 |
|
starmen1265
|
a03223ac80
|
feat(kb-workflow): 优化无字幕视频处理逻辑
- kb-bilibili-content: extract_subtitle 返回 success=True 即使没有字幕
- 添加 download_subtitle 方法,支持下载官方字幕并转为 SRT 格式
- kb-workflow: 更新工作流逻辑,没有字幕是正常的,继续执行 Whisper
- 添加条件分支:有字幕→深度分析,无字幕→Whisper
|
2026-02-13 13:36:42 +08:00 |
|
starmen1265
|
b02cd969b8
|
feat(kb-deep-analyzer): 增加超时时间和重试机制
- timeout 从 30s 增加到 120s
- 添加重试逻辑,最多重试 3 次
- 避免因网络波动导致的 token 浪费
|
2026-02-13 13:17:19 +08:00 |
|
starmen1265
|
3c422994b9
|
feat(kb-deep-analyzer): 实现每段前加概述功能
- 添加元数据(标题、描述、来源)到每段分析提示词
- 移除 mock 相关代码,使用真实 AI(zhipu/glm-4.7)
- 配置环境变量支持 AI_API_KEY、AI_PROVIDER、AI_MODEL、AI_BASE_URL
|
2026-02-13 13:00:22 +08:00 |
|
starmen1265
|
b7b40b1ece
|
feat(deep_analyzer): 使用SRT简化时间格式 + 分块分析 + 纯文本AI
- 添加 load_srt() 支持 SRT 字幕格式
- 时间格式简化为 HH:MM:SS
- 超过3000字自动分块分析
- _merge_summaries 改用纯文本而非JSON
- 添加提取函数解析AI响应
|
2026-02-13 12:28:21 +08:00 |
|
starmen1265
|
ffed35db0c
|
refactor(deep-analyzer): 简化模板和元数据格式
- 移除重复的 frontmatter 区块
- 简化模板,去掉"## 基本信息"和重复元数据
- frontmatter 添加 analyze_time、bvid、platform 字段
- 修复 argparse 默认值(provider/model 从固定值改为 None)
- 添加 normalize_metadata 调用
- 适配 glm-4.7 的 reasoning_content 模式
- 添加 _parse_json_from_text 解析函数
|
2026-02-13 12:14:13 +08:00 |
|
starmen1265
|
faaf79428b
|
fix(deep-analyzer): 修复元数据解析和AI调用问题
- 支持 {"metadata": {...}} 格式的元数据
- 从环境变量读取 AI_PROVIDER 和 AI_MODEL
- 修复 glm-4.7 的 reasoning_content 处理
- 修复 _format_time 支持 float 类型
- 支持 Whisper 的 segments 和 text 字段
|
2026-02-13 11:50:08 +08:00 |
|
starmen1265
|
1fa90ac21c
|
feat(bilibili): 使用 yt-dlp 替换原有下载方案
- 重写 download_video 使用 yt-dlp + Netscape cookie 文件
- 支持 BILIBILI_COOKIE 环境变量
- 更新默认质量为 720P
- 更新 SKILL.md 文档
环境变量已在 ~/.bashrc 中配置
|
2026-02-13 11:30:59 +08:00 |
|
starmen1265
|
0da1c0fb59
|
feat(kb-whisper): 新增说话者分离功能
- 新增 kb-whisper-diarization 技能
- 使用 pyannote.audio 实现说话者分离
- 支持区分多个说话者(如访谈节目)
- 输出带 [SPEAKER_00] 标签的字幕
|
2026-02-13 09:15:44 +08:00 |
|
starmen1265
|
c24889ffa5
|
docs: 更新待办和内存记录
- 添加 Whisper 编译任务
- 记录 KB Workflow 优化内容
|
2026-02-13 09:04:37 +08:00 |
|
starmen1265
|
29dd236bb9
|
feat(kb-workflow): 切换为 Whisper 语音识别
- 将步骤5从 OCR 改为 Whisper 语音识别
- 更新 kb-whisper 支持自动音频转换
- 默认使用中文语言 (zh) 和 base 模型
- 更新输出格式为 {platform}_{id}.txt/.srt/.json
- 添加 FunASR 作为备用方案
|
2026-02-13 09:04:27 +08:00 |
|
starmen1265
|
9102a973cd
|
feat(kb-whisper): 新增本地语音识别技能,基于 Whisper.cpp
|
2026-02-13 01:20:27 +08:00 |
|
starmen1265
|
2adc3c1e8d
|
docs: 更新每日记录
|
2026-02-13 00:44:04 +08:00 |
|
starmen1265
|
98c689eaa5
|
fix(kb-bilibili): 分离API和下载请求,禁用下载自动解压
|
2026-02-12 10:19:50 +08:00 |
|
starmen1265
|
9dec66d2bf
|
修改技能流程
|
2026-02-12 00:22:23 +08:00 |
|
OpenClaw Agent
|
736ca5bfc1
|
chore: 清理误提交的临时文件和目录
|
2026-02-11 01:42:21 +08:00 |
|
OpenClaw Agent
|
fa85add7c4
|
docs(kb-workflow): 强调OCR步骤为耗时步骤
- 严禁跳过,必须等待完成
- 定时汇报进度(每2-3分钟)
- 超时时间30分钟
|
2026-02-11 01:37:45 +08:00 |
|
OpenClaw Agent
|
672a811c54
|
fix(kb-workflow): 修正路径管理和子技能逻辑
- kb_workflow.py: 修复目录查询命令(--pending, --metadata等)
- bilibili_metadata.py: headless默认True,逻辑保持纯净
- deep_analyzer.py: 添加缺失的pathlib.Path导入
- SKILL.md: 更新步骤说明,明确由workflow提供路径给子技能
fix: 修复Playwright启动失败(NameError)和路径自动获取问题
|
2026-02-11 01:35:43 +08:00 |
|
OpenClaw Agent
|
4794f3e914
|
docs: 修正Workflow执行流程说明,主代理直接调用子技能
|
2026-02-11 01:13:43 +08:00 |
|
OpenClaw Agent
|
df15f9a6fb
|
refactor: 统一CLI输出格式为标准JSON
|
2026-02-11 01:10:45 +08:00 |
|
OpenClaw Agent
|
06f279451a
|
feat: 支持嵌套格式元数据(kb-bilibili-metadata 输出)
|
2026-02-11 01:04:18 +08:00 |
|
OpenClaw Agent
|
8b7371feed
|
feat: 增加视频截帧功能,支持--video参数自动截帧+OCR
|
2026-02-11 01:00:31 +08:00 |
|
OpenClaw Agent
|
2e779306a5
|
docs: 补充辅助命令文档
|
2026-02-11 00:37:30 +08:00 |
|
OpenClaw Agent
|
ce92b3b3fb
|
refactor: 删除多余的历史文件,保留核心kb_workflow.py
|
2026-02-11 00:34:30 +08:00 |
|
OpenClaw Agent
|
5658529a84
|
docs: 更新SKILL.md
|
2026-02-11 00:33:53 +08:00 |
|
OpenClaw Agent
|
38c6c5354e
|
feat: 完善CLI目录参数处理逻辑
|
2026-02-10 23:57:18 +08:00 |
|
OpenClaw Agent
|
48ace388da
|
Revert "feat(kb-workflow): 补全CLI参数调用逻辑"
This reverts commit 61dad2414d.
|
2026-02-10 23:46:24 +08:00 |
|
OpenClaw Agent
|
61dad2414d
|
feat(kb-workflow): 补全CLI参数调用逻辑
新增参数:
- --pending: 链接解析
- --metadata: 元数据提取
- --content: 内容下载
- --ocr: OCR处理
- --analyze: 深度分析
- --extract_platform: 提取平台名称
- --link_file, --meta_file, --text_file, --source: 输入文件路径
|
2026-02-10 23:43:20 +08:00 |
|
OpenClaw Agent
|
7963da40fc
|
refactor(kb-workflow): 完善SKILL.md,明确每个步骤的子技能名称和输入输出
|
2026-02-10 22:46:21 +08:00 |
|
OpenClaw Agent
|
51decc247d
|
refactor(kb-workflow): 简化SKILL.md,删除步骤2-6的代码
只保留简洁的步骤描述:启动子代理并传入上一步返回结果
|
2026-02-10 22:43:44 +08:00 |
|
OpenClaw Agent
|
28d64e711d
|
refactor(kb-workflow): 简化SKILL.md,删除sessions_spawn代码流程
改为命令行调用方式的简洁描述
|
2026-02-10 22:32:13 +08:00 |
|
OpenClaw Agent
|
e370b6b39f
|
refactor(kb-workflow): 改用Prompt-based模式
- SKILL.md: 重写为详细workflow指导,主代理直接读取执行
- kb_workflow.py: 简化为辅助工具函数库
- skill_main.py: 简化为触发检测入口
- SkillBug.md: 记录架构变更
主代理读取SKILL.md后,按照指导调用sessions_spawn,无需配置allowlist
|
2026-02-10 20:46:06 +08:00 |
|
OpenClaw Agent
|
679cca3b2c
|
feat(kb-workflow): 优化OCR处理逻辑
- 无论content步骤有没有字幕,都执行ocr步骤
- ocr超时设置为30分钟(1800秒)
- 如果没有字幕文件但有视频文件,使用视频作为ocr源
|
2026-02-10 20:34:11 +08:00 |
|
OpenClaw Agent
|
11c62dd383
|
refactor(kb-workflow): 重构为真正的编排者,使用sessions_spawn调用子agent
- kb_workflow.py: 重构为编排者,使用sessions_spawn调用子技能
- skill_main.py: 新增技能入口,处理用户消息
- SKILL.md: 更新文档,明确架构和流程
- SkillBug.md: 新增问题记录文档
设计原则:
- workflow不读文件内容,从文件名提取平台
- 使用sessions_spawn调用子agent
- 子技能自己定义输入输出格式
|
2026-02-10 20:31:33 +08:00 |
|
OpenClaw Agent
|
49ebbdff0a
|
cleanup: 删除kb-workflow遗留代码
- 删除 kb_handler.py,不在SKILL.md要求中
- 删除 kb_pipeline.py,不在SKILL.md要求中
- 修改 bilibili_extractor.py 使用 kb-link-parser 解析短链
- 添加 SkillBug.md 记录问题
Skills should follow their SKILL.md specifications only.
|
2026-02-10 18:20:50 +08:00 |
|
OpenClaw Agent
|
173d7379cb
|
feat: 添加自然语言触发支持
- 支持'保存到知识库'/'订阅到知识库'触发词
- 自动检测链接并处理
- 更新SKILL.md文档
|
2026-02-10 17:55:25 +08:00 |
|
OpenClaw Agent
|
f66a50cd3f
|
fix: 复制 obsidian-kb 的 src 目录以解决依赖缺失
|
2026-02-10 17:34:54 +08:00 |
|
OpenClaw Agent
|
11f6c21740
|
feat: 添加进度反馈机制(--progress参数)
|
2026-02-10 17:28:40 +08:00 |
|
OpenClaw Agent
|
0bc3d98d0b
|
fix: 添加文件覆盖保护避免去重冲突
|
2026-02-10 17:13:45 +08:00 |
|
OpenClaw Agent
|
aa695c7cb7
|
feat(kb-deep-analyzer): Increase output limits for detailed analysis
## Increased limits:
| Stage | Before | After |
|-------|--------|-------|
| Per chunk | 500 tokens / 300 chars | 2000 tokens / 800 chars |
| Summary | 150 chars | 300 chars |
| Full analysis | 500 chars | 1500 chars |
| Short video | 100 chars | 200 chars |
| JSON response | 2000 tokens | 4000 tokens |
| Added items:
| - Topics: 3-4 → 5
| - Insights: 2-3 → 4
| - Actions: 1-2 → 3
|
2026-02-10 16:51:45 +08:00 |
|
OpenClaw Agent
|
08066334c4
|
feat(kb-deep-analyzer): Smart subtitle chunking strategy
## 改进内容
### 动态分段
- 根据字符数动态计算分段数
- 每个chunk最多3000字符
- 限制最小3段,最多20段
### 自然断点分割
- 优先级:段落(双换行) > 句末(。\n) > 句号 > 换行
- 不截断,保持语义完整
### 时间估算
- 用字符比例估算每段时间
- 长视频时间轴更准确
|
2026-02-10 16:41:15 +08:00 |
|