Compare commits
5 Commits
v1.8.0
...
dd475a6f2d
| Author | SHA1 | Date | |
|---|---|---|---|
| dd475a6f2d | |||
| 6de3a1e154 | |||
| 5a652c1b74 | |||
| 18bca027de | |||
| 36bca94840 |
11
app.py
11
app.py
@@ -56,8 +56,9 @@ syslog_handler.setFormatter(
|
||||
log.addHandler(syslog_handler)
|
||||
|
||||
# --- Configuration ---
|
||||
VERSION = "1.7.6"
|
||||
VERSION = "v1.8.0"
|
||||
OLLAMA_BASE = os.environ.get("OLLAMA_BASE", "http://localhost:11434")
|
||||
LLAMA_SERVER_BASE = os.environ.get("LLAMA_SERVER_BASE", "http://192.168.50.108:8081")
|
||||
SEARXNG_BASE = "http://localhost:8888"
|
||||
BASE_DIR = Path(__file__).parent
|
||||
DB_PATH = BASE_DIR / "jarvischat.db"
|
||||
@@ -1038,7 +1039,7 @@ def get_gpu_stats() -> dict:
|
||||
@asynccontextmanager
|
||||
async def lifespan(app: FastAPI):
|
||||
log.info(f"JarvisChat v{VERSION} starting up")
|
||||
log.info(f"Ollama: {OLLAMA_BASE}, SearXNG: {SEARXNG_BASE}")
|
||||
log.info(f"Ollama: {OLLAMA_BASE}, llama-server: {LLAMA_SERVER_BASE}, SearXNG: {SEARXNG_BASE}")
|
||||
init_db()
|
||||
log.info(f"Memory system: {get_memory_count()} memories loaded")
|
||||
yield
|
||||
@@ -1966,7 +1967,7 @@ async def explicit_search(request: Request):
|
||||
try:
|
||||
async with client.stream(
|
||||
"POST",
|
||||
f"{OLLAMA_BASE}/api/chat",
|
||||
f"{LLAMA_SERVER_BASE}/v1/chat/completions",
|
||||
json={"model": model, "messages": messages, "stream": True},
|
||||
timeout=httpx.Timeout(300.0, connect=10.0),
|
||||
) as resp:
|
||||
@@ -2191,7 +2192,7 @@ async def chat(request: Request):
|
||||
try:
|
||||
async with client.stream(
|
||||
"POST",
|
||||
f"{OLLAMA_BASE}/api/chat",
|
||||
f"{LLAMA_SERVER_BASE}/v1/chat/completions",
|
||||
json=ollama_payload,
|
||||
timeout=httpx.Timeout(300.0, connect=10.0),
|
||||
) as resp:
|
||||
@@ -2240,7 +2241,7 @@ async def chat(request: Request):
|
||||
augmented_response = []
|
||||
async with client.stream(
|
||||
"POST",
|
||||
f"{OLLAMA_BASE}/api/chat",
|
||||
f"{LLAMA_SERVER_BASE}/v1/chat/completions",
|
||||
json={
|
||||
"model": model,
|
||||
"messages": augmented_messages,
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 322 KiB After Width: | Height: | Size: 219 KiB |
@@ -4,7 +4,7 @@ Last updated: 2026-04-27
|
||||
Owner: Gramps + Copilot
|
||||
Scope: issues, bugs, security exposures, and feature enhancements.
|
||||
|
||||
Total identified items: 26
|
||||
Total identified items: 27
|
||||
|
||||
## Priority Definitions
|
||||
- P0: Critical risk or data-loss/security exposure; do first.
|
||||
@@ -60,22 +60,23 @@ Total identified items: 26
|
||||
12. Add unit/integration tests for: remember/forget parsing, refusal detection, search fallback, SSE done/error shape.
|
||||
13. Add conversation title sanitization and length constraints.
|
||||
14. Ensure default preset semantics are correct (currently all seeded presets are marked default).
|
||||
15. Add preflight validation for required model/preset selection and block send with clear user guidance instead of timing out.
|
||||
|
||||
### P2 Important Features
|
||||
15. Skills system: load markdown skill files with YAML frontmatter from skills directory.
|
||||
16. Skills registry API: list/enable/disable skills and expose active skills to UI.
|
||||
17. Inject active skill instructions into system prompt with bounded token budget.
|
||||
18. Tool execution guardrails: allowlist, confirmation mode, and execution logs.
|
||||
19. Heartbeat scheduler (cron/systemd timer) for daily check-ins.
|
||||
20. Heartbeat endpoint for generated briefings and anomaly summaries.
|
||||
21. Model info UI panel (description, updated date, best-use purpose).
|
||||
22. Default model selection improvements and persistence validation.
|
||||
23. Hidden model list support (exclude models from dropdown).
|
||||
24. Model update action from UI (trigger controlled model pull).
|
||||
16. Skills system: load markdown skill files with YAML frontmatter from skills directory.
|
||||
17. Skills registry API: list/enable/disable skills and expose active skills to UI.
|
||||
18. Inject active skill instructions into system prompt with bounded token budget.
|
||||
19. Tool execution guardrails: allowlist, confirmation mode, and execution logs.
|
||||
20. Heartbeat scheduler (cron/systemd timer) for daily check-ins.
|
||||
21. Heartbeat endpoint for generated briefings and anomaly summaries.
|
||||
22. Model info UI panel (description, updated date, best-use purpose).
|
||||
23. Default model selection improvements and persistence validation.
|
||||
24. Hidden model list support (exclude models from dropdown).
|
||||
25. Model update action from UI (trigger controlled model pull).
|
||||
|
||||
### P3 Nice to Have
|
||||
25. Conversation search/filter and export tooling.
|
||||
26. Keyboard shortcuts, retry button, and source-link polish.
|
||||
26. Conversation search/filter and export tooling.
|
||||
27. Keyboard shortcuts, retry button, and source-link polish.
|
||||
|
||||
## Maintenance Rules
|
||||
- Keep this file as the single source of truth.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# ⚡ JarvisChat v1.7.6
|
||||
# ⚡ JarvisChat v1.7.8
|
||||
|
||||

|
||||
|
||||
@@ -74,7 +74,7 @@ Canonical backlog: [docs/wiki/current-wip.md](docs/wiki/current-wip.md)
|
||||
|
||||
Scope boundary: local-first (same-host Ollama), optional RFC1918 LAN endpoints, no public Internet AI endpoints by default.
|
||||
|
||||
Total identified items: 26
|
||||
Total identified items: 27
|
||||
|
||||
Top 10 (brief):
|
||||
|
||||
@@ -113,6 +113,7 @@ Implementation status: complete (guest session by default + admin unlock + admin
|
||||
16. Hide/remove model from list — exclude models from dropdown
|
||||
17. Update model function — trigger `ollama pull` for selected model from UI
|
||||
18. Add mouseover tooltip to SEND button
|
||||
19. Add preflight validation for required model/preset selection and show a clear warning before send to prevent avoidable timeout loops
|
||||
|
||||
## File Structure
|
||||
|
||||
|
||||
Reference in New Issue
Block a user