add tool calling, SQLite persistence, group chat, image vision, voice transcription

Major features:
- OpenAI function calling with tool call loop (streaming SSE parsing)
- Built-in tools: spawn_agent (async claude -p), agent_status, kill_agent,
  update_scratch, send_file
- Script-based tool discovery: tools/ dir with --schema convention
- Feishu todo management script (tools/manage_todo)
- SQLite persistence: conversations, messages, config, scratch_area tables
- Sliding window context (100 msgs, slide 50, auto-summarize)
- Conversation summary generation via LLM on window slide
- Group chat support with independent session contexts
- Image understanding: multimodal vision input (base64 to API)
- Voice transcription via faster-whisper Docker service
- Configurable persona stored in DB
- diag command for session diagnostics
- System prompt restructured: persona + tool instructions separated
- RUST_BACKTRACE=1 in service, clippy in deploy pipeline
- .gitignore for config/state/db files
This commit is contained in:
Fam Zheng
2026-04-09 16:38:28 +01:00
parent 84ba209b3f
commit 128f2481c0
9 changed files with 1840 additions and 51 deletions

View File

@@ -2,15 +2,19 @@ REPO := $(shell pwd)
HERA := heradev
HERA_DIR := noc
.PHONY: build deploy deploy-hera
.PHONY: build test deploy deploy-hera
build:
cargo build --release
test:
cargo clippy -- -D warnings
cargo test -- --nocapture
noc.service: noc.service.in
sed -e 's|@REPO@|$(REPO)|g' -e 's|@PATH@|$(PATH)|g' $< > $@
deploy: build noc.service
deploy: test build noc.service
mkdir -p ~/bin ~/.config/systemd/user
systemctl --user stop noc 2>/dev/null || true
install target/release/noc ~/bin/noc