The current page id was only injected as text in the system prompt, which a proxy (CLIProxyAPI) can rewrite/truncate, so the agent could lose track of 'this page'. Add a getCurrentPage tool the model can call to read the open page (id + title) from the server-side request context (forUser now takes openedPage, threaded from body.openPage — the same value used for the system prompt). The inline system-prompt line is kept as belt-and-suspenders. Reads/writes still go through the CASL-enforced page tools by id, so this is strictly not worse than the existing prompt hint — just delivered over a channel the proxy can't mangle. User-approved on the issue. Completes #43 together with the hardness-1 fix. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -257,6 +257,9 @@ export class AiChatService {
|
||||
sessionId,
|
||||
workspace.id,
|
||||
chatId,
|
||||
// Same open-page value used by the system prompt above; exposed to the
|
||||
// model via getCurrentPage so page identity survives prompt mangling.
|
||||
body.openPage,
|
||||
);
|
||||
|
||||
// Merge in admin-configured external MCP tools (web search, etc.; §6.8).
|
||||
|
||||
Reference in New Issue
Block a user