@@ -118,16 +118,40 @@
118 118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
artifacts_summary = "\n\nGenerated artifacts:\n" + "\n".join(
119 119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
f"- {a.name} ({a.artifact_type})" for a in self.context.artifacts
120 120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
)
121 121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
122 122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
system_msg = (
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "You are PlanOpticon, a planning agent that helps users create project plans "
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "from extracted knowledge. You have access to a knowledge graph built from "
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "videos and documents."
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "You are PlanOpticon, an AI planning companion built into the PlanOpticon CLI. "
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "PlanOpticon is a video analysis and knowledge extraction tool that processes "
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "recordings into structured knowledge graphs.\n\n"
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "You are running inside the interactive companion REPL. The user can use these "
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "built-in commands (suggest them when relevant):\n"
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /status - Show workspace status (loaded KG, videos, docs)\n"
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /entities [--type T] - List knowledge graph entities\n"
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /search TERM - Search entities by name\n"
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /neighbors ENTITY - Show entity relationships\n"
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /export FORMAT - Export KG (markdown, obsidian, notion, csv)\n"
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /analyze PATH - Analyze a video or document\n"
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /ingest PATH - Ingest a file into the knowledge graph\n"
135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /auth SERVICE - Authenticate with a service "
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "(zoom, google, microsoft, notion, dropbox, github)\n"
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /provider [NAME] - List or switch LLM provider\n"
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /model [NAME] - Show or switch chat model\n"
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /plan - Generate a project plan\n"
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /prd - Generate a PRD\n"
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " /tasks - Generate a task breakdown\n\n"
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "PlanOpticon CLI commands the user can run outside the REPL:\n"
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " planopticon auth zoom|google|microsoft - Authenticate with cloud services\n"
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " planopticon recordings zoom-list|teams-list|meet-list - List cloud recordings\n"
145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " planopticon analyze -i VIDEO - Analyze a video file\n"
146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " planopticon query - Query the knowledge graph\n"
147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ " planopticon export FORMAT PATH - Export knowledge graph\n\n"
126 148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
f"{kb_summary}{artifacts_summary}\n\n"
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "Help the user plan their project. Ask clarifying questions to gather "
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "requirements. When ready, suggest using specific skills to generate artifacts."
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "Help the user with their planning tasks. When they ask about capabilities, "
150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "refer them to the appropriate built-in commands. Ask clarifying questions "
151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "to gather requirements. When ready, suggest using specific skills or commands "
152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "to generate artifacts."
129 153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
)
130 154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
131 155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
messages = [{"role": "system", "content": system_msg}] + self.context.conversation_history
132 156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
133 157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
response = self.context.provider_manager.chat(messages, max_tokens=2048, temperature=0.5)
134 158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!