diff --git a/README.md b/README.md
index f916877e2..77c9407ae 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,7 @@
| Computer Use / Chrome Use | 截图、键鼠控制、浏览器操控 | [Computer Use](https://ccb.agent-aura.top/docs/features/computer-use)
[Chrome Use](https://ccb.agent-aura.top/docs/features/claude-in-chrome-mcp) |
| Sentry / GrowthBook 企业监控 | 企业级错误追踪与特性开关 | [Sentry](https://ccb.agent-aura.top/docs/internals/sentry-setup)
[GrowthBook](https://ccb.agent-aura.top/docs/internals/growthbook-adapter) |
| Langfuse 监控 | LLM 调用/工具执行/多 Agent 全链路追踪 | [文档](https://ccb.agent-aura.top/docs/features/langfuse-monitoring) |
+| Poor Mode | 穷鬼模式,关闭记忆提取和键入建议 | /poor 可以开关 |
- 🔮 [ ] V6 — 大规模重构石山代码,全面模块分包(全新分支,main 封存为历史版本)
diff --git a/src/commands/poor/poorMode.ts b/src/commands/poor/poorMode.ts
index 533d9700f..84f4ab857 100644
--- a/src/commands/poor/poorMode.ts
+++ b/src/commands/poor/poorMode.ts
@@ -1,14 +1,24 @@
/**
* Poor mode state — when active, skips extract_memories and prompt_suggestion
* to reduce token consumption.
+ *
+ * Persisted to settings.json so it survives session restarts.
*/
-let poorModeActive = false
+import { getInitialSettings, updateSettingsForSource } from '../../utils/settings/settings.js'
+
+let poorModeActive: boolean | null = null
export function isPoorModeActive(): boolean {
+ if (poorModeActive === null) {
+ poorModeActive = getInitialSettings().poorMode === true
+ }
return poorModeActive
}
export function setPoorMode(active: boolean): void {
poorModeActive = active
+ updateSettingsForSource('userSettings', {
+ poorMode: active || undefined,
+ })
}
diff --git a/src/components/Settings/Config.tsx b/src/components/Settings/Config.tsx
index 0d0f36098..3461b556d 100644
--- a/src/components/Settings/Config.tsx
+++ b/src/components/Settings/Config.tsx
@@ -470,6 +470,27 @@ export function Config({
},
]
: []),
+ ...(feature('POOR')
+ ? [
+ {
+ id: 'poorMode',
+ label: 'Poor mode (save tokens)',
+ value: (() => {
+ const PoorMode = require('../../commands/poor/poorMode.js') as typeof import('../../commands/poor/poorMode.js')
+ return PoorMode.isPoorModeActive()
+ })(),
+ type: 'boolean' as const,
+ onChange(enabled: boolean) {
+ const PoorMode = require('../../commands/poor/poorMode.js') as typeof import('../../commands/poor/poorMode.js')
+ PoorMode.setPoorMode(enabled)
+ setAppState(prev => ({
+ ...prev,
+ promptSuggestionEnabled: !enabled,
+ }))
+ },
+ },
+ ]
+ : []),
// Speculation toggle (ant-only)
...(process.env.USER_TYPE === 'ant'
? [
diff --git a/src/utils/settings/types.ts b/src/utils/settings/types.ts
index edeecb190..127880c1a 100644
--- a/src/utils/settings/types.ts
+++ b/src/utils/settings/types.ts
@@ -739,6 +739,12 @@ export const SettingsSchema = lazySchema(() =>
'When false, prompt suggestions are disabled. When absent or true, ' +
'prompt suggestions are enabled.',
),
+ poorMode: z
+ .boolean()
+ .optional()
+ .describe(
+ 'When true, poor mode is active — extract_memories and prompt_suggestion are disabled to save tokens.',
+ ),
showClearContextOnPlanAccept: z
.boolean()
.optional()