forked from Rockachopa/Timmy-time-dashboard
Claude/remove persona system f vgt m (#126)
* Remove persona system, identity, and all Timmy references
Strip the codebase to pure orchestration logic:
- Delete TIMMY_IDENTITY.md and memory/self/identity.md
- Gut brain/identity.py to no-op stubs (empty returns)
- Remove all system prompts reinforcing Timmy's character, faith,
sovereignty, sign-off ("Sir, affirmative"), and agent roster
- Replace identity-laden prompts with generic local-AI-assistant prompts
- Remove "You work for Timmy" from all sub-agent system prompts
- Rename PersonaTools → AgentTools, PERSONA_TOOLKITS → AGENT_TOOLKITS
- Replace "timmy" agent ID with "orchestrator" across routes, marketplace,
tools catalog, and orchestrator class
- Strip Timmy references from config comments, templates, telegram bot,
chat API, and dashboard UI
- Delete tests/brain/test_identity.py entirely
- Fix all test assertions that checked for persona identity content
729 tests pass (2 pre-existing failures in test_calm.py unrelated).
https://claude.ai/code/session_01LjQGUE6nk9W9674zaxrYxy
* Add Taskosaur (PM + AI task execution) to docker-compose
Spins up Taskosaur alongside the dashboard on `docker compose up`:
- postgres:16-alpine (port 5432, Taskosaur DB)
- redis:7-alpine (Bull queue backend)
- taskosaur (ports 3000 API / 3001 UI)
- dashboard now depends_on taskosaur healthy
- TASKOSAUR_API_URL injected into dashboard environment
Dashboard can reach Taskosaur at http://taskosaur:3000/api on the
internal network. Frontend UI accessible at http://localhost:3001.
https://claude.ai/code/session_01LjQGUE6nk9W9674zaxrYxy
---------
Co-authored-by: Claude <noreply@anthropic.com>
This commit is contained in:
committed by
GitHub
parent
548a3f980d
commit
425e7da380
@@ -1,10 +1,10 @@
|
||||
"""JSON REST API for mobile / external chat clients.
|
||||
|
||||
Provides the same Timmy chat experience as the HTMX dashboard but over
|
||||
Provides the same chat experience as the HTMX dashboard but over
|
||||
a JSON interface that React Native (or any HTTP client) can consume.
|
||||
|
||||
Endpoints:
|
||||
POST /api/chat — send a message, get Timmy's reply
|
||||
POST /api/chat — send a message, get the agent's reply
|
||||
POST /api/upload — upload a file attachment
|
||||
GET /api/chat/history — retrieve recent chat history
|
||||
DELETE /api/chat/history — clear chat history
|
||||
@@ -33,7 +33,7 @@ _UPLOAD_DIR = os.path.join("data", "chat-uploads")
|
||||
|
||||
@router.post("/chat")
|
||||
async def api_chat(request: Request):
|
||||
"""Accept a JSON chat payload and return Timmy's reply.
|
||||
"""Accept a JSON chat payload and return the agent's reply.
|
||||
|
||||
Request body:
|
||||
{"messages": [{"role": "user"|"assistant", "content": "..."}]}
|
||||
@@ -90,7 +90,7 @@ async def api_chat(request: Request):
|
||||
return {"reply": response_text, "timestamp": timestamp}
|
||||
|
||||
except Exception as exc:
|
||||
error_msg = f"Timmy is offline: {exc}"
|
||||
error_msg = f"Agent is offline: {exc}"
|
||||
logger.error("api_chat error: %s", exc)
|
||||
message_log.append(role="user", content=last_user_msg, timestamp=timestamp, source="api")
|
||||
message_log.append(role="error", content=error_msg, timestamp=timestamp, source="api")
|
||||
|
||||
Reference in New Issue
Block a user