noc/doc/todo.md
Fam Zheng ec1bd7cb25 add gen_voice tool, message timestamps, image multimodal, group chat, whisper STT
- gen_voice: IndexTTS2 voice cloning via tools/gen_voice script, ref audio
  cached on server to avoid re-upload
- Message timestamps: created_at column in messages table, prepended to
  content in API calls so LLM sees message times
- Image understanding: photos converted to base64 multimodal content
  for vision-capable models
- Group chat: independent session contexts per chat_id, sendMessageDraft
  disabled in groups (private chat only)
- Voice transcription: whisper service integration, transcribed text
  injected as [语音消息] prefix
- Integration tests marked #[ignore] (require external services)
- Reference voice asset: assets/ref_voice.mp3
- .gitignore: target/, noc.service, config/state/db files
2026-04-09 20:12:15 +01:00

51 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# noc roadmap
## "会呼吸的助手" — 让 noc 活着
核心理念noc 不应该只在收到消息时才被唤醒,而是一个持续运行、有自己节奏的存在。
### 主动行为
- [ ] 定时任务 (cron)LLM 可以自己设置提醒、定期检查
- [ ] 事件驱动监控文件变化、git push、CI 状态等,主动通知
- [ ] 晨间/晚间报告:每天自动汇总待办、提醒重要事项
- [ ] 情境感知:根据时间、地点、日历自动调整行为
### 记忆与成长
- [x] 持久记忆槽 (memory_slots)100 个跨 session 的记忆槽位,注入 system prompt
- [ ] AutoMem后台定时如每 10 条消息)自动分析对话,由 LLM 决定 SKIP/UPDATE/INSERT 记忆,无需用户手动触发(参考 luke
- [ ] 分层记忆:核心记忆(身份/原则,始终注入)+ 长期记忆(偏好/事实RAG 检索)+ scratch当前任务参考 xg 三层 + luke 四层架构)
- [ ] 语义搜索:基于 embedding 的记忆检索BGE-M3/Gemini embedding + Qdrant 向量库)
- [ ] 记忆合并:新记忆与已有记忆 cosine ≥ 0.7 时,用 LLM 合并而非插入(参考 xg
- [ ] 二次联想召回:第一轮直接检索 → 用 top-K 结果做第二轮关联检索,去重后合并(参考 xg/luke 2-pass recall
- [ ] 时间衰减:记忆按时间指数衰减加权,近期记忆优先(参考 xg 30 天半衰期)
- [ ] 自我反思:定期回顾对话质量,优化自己的行为
### 知识图谱(参考 luke concept graph
- [ ] 概念图Aho-Corasick 模式匹配用户消息中的关键概念,自动注入相关知识
- [ ] update_concept toolLLM 可动态添加/更新概念节点及关联关系
- [ ] LRU 缓存:内存中保持热门概念,微秒级匹配
### 工具系统
- [x] spawn_agentClaude Code 子代理)
- [x] update_scratch / update_memory
- [x] send_file / agent_status / kill_agent
- [x] 外部脚本工具发现 (tools/ 目录)
- [ ] run_code tool安全沙箱执行 Python/Shell 代码,捕获输出返回(参考 luke run_python
- [ ] gen_image tool调用图像生成 APIGemini/FLUX/本地模型)
- [ ] gen_voice toolTTS 语音合成,发送语音消息(参考 luke Elevenlabs / xg Fish-Speech
- [ ] set_timer toolLLM 可设置延迟/定时任务,到时触发回调(参考 luke timer 系统)
- [ ] web_search tool网页搜索 + 摘要,不必每次都 spawn 完整 agent
### 感知能力
- [ ] 链接预览/摘要
- [ ] 语音转文字 (STT):接收语音消息后自动转写(当前 xg 用 FunASRluke 用 Whisper
### 交互体验
- [ ] 语音回复 (TTS)
- [ ] 流式分句发送:长回复按句号/问号断句分批发送,体验更自然
- [ ] 多频道支持:同一 bot 核心逻辑支持 Telegram + WebSocket + HTTP参考 luke MxN 多路复用架构)
### 上下文管理
- [ ] 智能上下文分配system prompt / 记忆 / 历史消息 / 工具输出各占比可配置,预留 60-70% 给工具输出(参考 luke 保守分配策略)
- [ ] 对话历史滚动窗口优化:当前 100 条硬上限,可改为 token 预算制