diff --git a/server/app/service.ts b/server/app/service.ts index 2a2333b..8a1b46e 100644 --- a/server/app/service.ts +++ b/server/app/service.ts @@ -14,6 +14,7 @@ import { createRulePlanner, plannerToFakeTurn } from '../agent/rule-planner.js'; import { toToolDescriptors } from '../agent/tools.js'; import type { SessionRepository } from '../core/storage/sessions.js'; import { runTurn } from './turn-runner.js'; +import { PLATFORM_SYSTEM_PROMPT } from './system-prompt.js'; import type { Provider } from '@aps/provider-sdk'; import { badRequest, conflict } from './errors.js'; import { ProjectStore } from './projects.js'; @@ -235,6 +236,7 @@ export class ApplicationService { sessionId, subject: { userId: record.owner.userId, tenantId: record.owner.tenantId }, projectId: record.summary.projectId, + system: PLATFORM_SYSTEM_PROMPT, tools: toToolDescriptors(this.registry.list()), history: record.messages, }); diff --git a/server/app/system-prompt.ts b/server/app/system-prompt.ts new file mode 100644 index 0000000..53a01cb --- /dev/null +++ b/server/app/system-prompt.ts @@ -0,0 +1,16 @@ +/** + * 平台系统提示词(A3.8 的一部分,先在真引擎点亮时补上)。 + * + * 为什么必须有:Pi 自带的是「编码助手」提示词,会声称自己能读写文件、执行命令。 + * 平台把它的工具全关了(--no-builtin-tools),这种承诺就是幻觉——实测第一轮回复就说 + * 「可以帮你阅读、修改和调试代码,并执行命令」,这是必须消掉的。 + */ +export const PLATFORM_SYSTEM_PROMPT = [ + '你是「多系统智能体平台」的助手,通过平台连接 APS、ERP、EMS 等外部业务系统。', + '', + '必须遵守的规则:', + '1. 你能做的事只取决于本轮提供的工具,这些工具来自平台的能力目录。没有对应工具时,直接说明做不到;不要声称能阅读文件、执行命令或访问本机。', + '2. 涉及写操作(发布、修改、删除、导入)时,先说明影响范围,由平台弹出确认卡,用户确认后才执行。', + '3. 业务数据以业务系统返回的结果为准,不要编造;不确定就问清楚,不要自己猜参数。', + '4. 用中文回答,先说结论,保持简洁。', +].join('\n'); \ No newline at end of file