设置
持久配置拆开存放,方便升级安全、权限规则保持精简:
| 路径 | 内容 |
|---|---|
~/.hipmmcode/config.json | 模型、API Key、MCP、UI、渠道预设(0600,可含密钥) |
~/.hipmmcode/settings.json | Claude 兼容 permissions(defaultMode、allow/deny/ask)、hooks 等策略(规则优先写这里) |
项目 .hipmmcode/settings.json / .settings.local.json | 项目 / 本地覆盖 |
基本不用手改:
hipmmcode config show # 完整配置,密钥打码
hipmmcode config set KEY=VALUE # 设置任意键
hipmmcode config providers # 内置渠道预设REPL 里 /config key=value(别名 /settings)可实时改。
首次运行 seed(v0.14.1+)
若没有 ~/.hipmmcode/settings.json,会创建最小文件:
{
"permissions": {
"defaultMode": "auto"
}
}若发布包含 default-skills/,首次启动会把 L1 包同步到 ~/.hipmmcode/skills/(也可 hipmmcode skill install-defaults)。见 技能 与 权限。
升级二进制会保留这些用户文件,不会清空密钥,也不会从安装包再注入历史 allow 垃圾进 config.json。
核心键
| 键 | 默认 | 说明 |
|---|---|---|
defaultProvider | openai | 默认渠道 id |
defaultModel | gpt-4o-mini | 默认模型 id |
<provider>.apiKey | — | 各渠道 API Key(anthropic.apiKey=sk-ant-...) |
<provider>.models | 动态 | 渠道模型白名单(逗号分隔) |
<provider>.modelOverride.<model>.contextWindow | — | 覆盖某模型上下文窗口(token) |
<provider>.modelOverride.<model>.maxOutputTokens | — | 覆盖某模型最大输出 |
fallbackModel / fallbackModels | — | 主模型过载时按序回退(最多 3 个) |
apiKeyHelper | — | 输出 API Key 的 shell 命令(接 vault / 短期凭证) |
effort(reasoningEffort) | 渠道默认值 | 推理力度:deepseek-anthropic 默认 max,Codex 类渠道默认 high,其他渠道默认 off |
language | — | 首选回答语言(自由文本) |
activeLegion | — | 默认激活的军团(见智能体团队) |
UI 与终端
| 键 | 默认 | 说明 |
|---|---|---|
tui | fullscreen | 启动渲染器:fullscreen 或 inline |
hudStyle | native | 底部 HUD:native / compact / force-native |
colorTheme | default | 配色主题(见 /color) |
editorMode | normal | 输入编辑:normal(emacs)或 vim |
defaultShell | 系统默认 | ! 命令用的 shell:bash / powershell |
statusLineCommand | — | 外部状态行命令(替换内置 HUD) |
statusLinePadding | — | 外部状态行的 padding |
subagentStatusLineCommand | — | 每队友的状态行命令 |
timestamps | false | 转写里逐消息时间戳 |
tips | true | 输入框下轮播快捷键提示 |
terminalTitle | true | 终端标签标题里的会话状态 |
terminalTitleFromRename | true | 标题用 /rename 的名字 |
terminalProgress | true | 回合中的终端进度指示 |
notifyOnDone | false | 失焦时回合完成通知 |
notifyOnInputNeeded | false | 失焦时权限弹窗通知 |
notifyChannel | auto | auto / iterm2 / iterm2_with_bell / terminal_bell / kitty / ghostty / off |
awayRecap | true | 离开 ≥5 分钟后的"欢迎回来"摘要 |
teamMatePreview | true | 常驻队友预览行 |
verbose | false | 详细输出 |
showWarnings | false | 显示 WARN 级日志 |
outputStyle | — | 当前回答输出风格 |
diffTool | — | /diff 的外部工具(vscode、meld、vimdiff…) |
userAliases | {} | 个人命令别名(由 /alias 管理) |
行为与安全
| 键 | 默认 | 说明 |
|---|---|---|
bashPromptForWrites | true | 改状态的 shell 命令先确认 |
confirmOutsideWorkspace | true | 越出 cwd / 已授权目录的文件访问先确认 |
permissions | {} | allow/deny/ask 规则(defaultMode 优先写 settings.json)—— 见权限 |
hooks | {} | 生命周期钩子 —— 见 Hooks |
sandbox.* | 关 | OS 级 bash 沙箱 —— 见权限 |
autoMode | — | 自治模式规则 { allow, hard_deny, classifierModel } |
trustedDirs | [] | 已通过信任对话框的目录 |
worktreeBaseRef | head | worktree 基线:head 或 fresh(origin 默认分支) |
记忆与上下文
| 键 | 默认 | 说明 |
|---|---|---|
autoMemoryEnabled | true | 持久记忆总闸(读 + 写) |
autoMemoryOnExit | true | /exit 时提炼记忆 |
autoMemoryOnExec | false | 无头运行结束时提炼 |
autoMemoryOnEveryTurn | false | 每回合提炼(耗 token) |
memoryRelevanceSelector | false | 用 LLM 挑选记忆文件 |
autoCompactEnabled | true | 接近上下文上限自动压缩 |
autoCompactWindow | — | 提前触发压缩(token 上限)。v0.11.0+:也可通过原生 HIPMMCODE_AUTO_COMPACT_WINDOW 配置;旧 CLAUDE_CODE_AUTO_COMPACT_WINDOW 仅在原生变量缺失时回退(限制在 100k–1M,按 min(override, 模型上下文) 生效) |
apiMicrocompactEnabled | true | 整体压缩前先清退旧工具结果。v0.11.0+:保留带图片/文档附件的 tool_result 块 |
instructionExcludes | [] | 项目说明加载的排除 glob |
智能体与编排
| 键 | 默认 | 说明 |
|---|---|---|
teamMateDefaultModel | — | 派生队友用的模型(leader = 继承 lead) |
advisorModel | — | Advisor 工具的把关模型 |
advisor | false | 大动作前主动咨询 advisor |
autoJudge | false | 自动评审队友产出 |
goalEvaluatorModel | — | 验证 /goal 条件的廉价模型 |
goalMaxContinuations | 25 | /goal 最大续跑次数 |
搜索
| 键 | 默认 | 说明 |
|---|---|---|
anysearchApiKey | — | AnySearch key —— 让无原生搜索的渠道也能 WebSearch |
anysearchEnabled | 自动 | AnySearch 开关(设 key 自动开) |
nativeSearchEnabled | true | 允许渠道原生搜索;关闭则全走 AnySearch |
见联网搜索。
MCP
| 键 | 默认 | 说明 |
|---|---|---|
mcpServers | {} | user 作用域 MCP 服务器 |
projectMcpServers | {} | local 作用域(按项目) |
projectMcpApprovals | {} | 项目 .mcp.json 服务器的信任决定 |
mcpDisabled | [] | 经 /mcp disable 停用的服务器 |
mcpSyncFromClaude | true | 自动导入外部已配置的 MCP 服务器 |
见 MCP 服务器。
兼容
| 键 | 默认 | 说明 |
|---|---|---|
claudeCodeCompat | false | 采纳 .claude 生态:~/.claude/settings.json 分层(user → project → local → managed)、~/.claude/skills、.claude/agents、MCP 导入、CLAUDE.md 项目说明 |
兼容开启后,设置按层合并(低 → 高):hipmmcode 配置 → user 设置 → project 设置 → local 设置 → managed/策略设置 → CLI flag。--settings <file|json> 再注入一层;--setting-sources user,project,local 限制加载哪些层。
CLAUDE_CONFIG_DIR 仍选择独立的 Claude 兼容树,用于导入 CLAUDE.md、.claude-plugin/、Claude hooks/MCP 等只读兼容资产(默认 ~/.claude)。
自 v0.16.0 起:当 未设置 HIPMMCODE_CONFIG_DIR 时,CLAUDE_CONFIG_DIR 也会作为 HiPMMCode 原生配置根的回退 —— 这样只设置 Claude 环境变量的 Grok / 兼容启动会把状态落到同一目录。若两者都设置,原生写入仍在 HIPMMCODE_CONFIG_DIR,Claude 兼容读取仍用 CLAUDE_CONFIG_DIR。
环境变量
原生配置根目录解析顺序:
HIPMMCODE_CONFIG_DIR → 否则 CLAUDE_CONFIG_DIR(v0.16.0+)→ 否则 HIPMMCODE_HOME → 否则 ~/.hipmmcode。
HiPMMCode 自有开关应使用 HIPMMCODE_*。若表格同时列出旧 CLAUDE_* / CLAUDE_CODE_*,一般仅在原生变量缺失时读取旧名(CLAUDE_CONFIG_DIR 除外:在未设 HIPMMCODE_CONFIG_DIR 时它是有意的原生根回退)。原生值只要存在(包括 false、0、空字符串或格式错误)就是权威值,不会暴露冲突的旧值。
| 变量 | 说明 |
|---|---|
HIPMMCODE_DEFAULT_PROVIDER / HIPMMCODE_DEFAULT_MODEL | 覆盖默认 provider/model,不用改 config.json——总是优先于配置文件里存的默认值 |
ANTHROPIC_MODEL | 兼容 shim,效果同 HIPMMCODE_DEFAULT_MODEL,但仅在解析出的默认 provider 是 Anthropic 协议时生效(避免劫持不相关的 OpenAI 兼容默认值);两者都设置时 HIPMMCODE_DEFAULT_MODEL 优先 |
ANTHROPIC_BASE_URL | 兼容 shim:仅覆盖原生 anthropic 渠道的 base URL(比如中转);不会覆盖 deepseek-anthropic、qwen-anthropic 或 qwen-token-plan-anthropic;config.json 里显式配置的 custom.<id>.baseUrl 依然优先 |
ANTHROPIC_AUTH_TOKEN | 兼容 shim:仅作为原生 anthropic 渠道的 bearer-token 别名,两者都设置时先试 ANTHROPIC_API_KEY |
OPENAI_API_KEY ANTHROPIC_API_KEY GEMINI_API_KEY DEEPSEEK_API_KEY KIMI_API_KEY | 渠道密钥(无存储 key 时兜底) |
QWENCLOUD_TOKEN_PLAN_API_KEY / QWEN_TOKEN_PLAN_API_KEY | qwen-token-plan / qwen-token-plan-anthropic 专用 sk-sp-... 密钥;优先使用官方变量名 QWENCLOUD_TOKEN_PLAN_API_KEY,后者是 HiPMMCode 兼容别名;不会回退到按量付费密钥 |
DASHSCOPE_API_KEY / QWEN_API_KEY | qwen / qwen-anthropic 按量付费密钥;QWEN_API_KEY 是兼容旧名,使用 sk-... 或 sk-ws-...,不能填 Token Plan 的 sk-sp-... |
<CUSTOM_ID>_API_KEY | 自定义渠道密钥(id 大写) |
GOOGLE_API_KEY GH_TOKEN GITHUB_TOKEN GLM_API_KEY … | 各渠道惯用的备选变量名 —— 目录渠道也接受其上游生态常用的环境变量(见模型渠道) |
AWS_BEARER_TOKEN_BEDROCK | bedrock 渠道的 bearer-token 认证 |
HIPMMCODE_PTY_PER_AGENT / _PER_THREAD / _PER_WORKSPACE / _PER_TENANT / HIPMMCODE_MAX_PTY_SESSIONS | exec_command 交互式终端会话的分级配额(默认 2/4/8/16/64) |
HIPMMCODE_TENANT_ID / HIPMMCODE_WORKSPACE_ROOT | hipmmcode serve 多租户身份 / 工作区 cwd 收敛 —— 见服务器 |
ANYSEARCH_API_KEY / ANYSEARCH_KEY | AnySearch key |
HIPMMCODE_CONFIG_DIR | 原生配置/状态根目录的最高优先级覆盖 |
CLAUDE_CONFIG_DIR | Claude 兼容树(始终生效)。v0.16.0+: 未设 HIPMMCODE_CONFIG_DIR 时也作为原生根回退 |
HIPMMCODE_HOME | 受支持的整树根目录覆盖;仅在 HIPMMCODE_CONFIG_DIR 与 CLAUDE_CONFIG_DIR 都未设置时使用 |
HIPMMCODE_TEAMS_ROOT | 只覆盖 teams 目录 |
HIPMMCODE_VIDEO_MAX_MB | 内联视频大小上限(默认 32) |
HIPMMCODE_SANDBOX(+ _NETWORK、_WRITABLE、_HIDE、_FAIL) | OS 沙箱开关 —— 见权限 |
HIPMMCODE_DISABLE_MICROCOMPACT | 关闭微压缩 |
HIPMMCODE_EXPERIMENTAL_FLAG / HIPMMCODE_EXPERIMENTAL_<NAME> | 实验特性总闸 / 单项开关(hipmmcode flags) |
VISUAL / EDITOR | /editor 与 /memory 用的编辑器 |
RUST_LOG | tracing 过滤(调试日志) |
原生优先的 Claude 兼容别名
下表每一行都遵循上述“只在原生变量缺失时回退”的规则。
| 原生变量 | 旧名回退 | 用途 |
|---|---|---|
HIPMMCODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD | CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD | 从 --add-dir 目录加载兼容指令 |
HIPMMCODE_AGENT_SDK_DISABLE_BUILTIN_AGENTS | CLAUDE_AGENT_SDK_DISABLE_BUILTIN_AGENTS | 禁用内置 agent 画像 |
HIPMMCODE_API_KEY_HELPER_TTL_MS | CLAUDE_CODE_API_KEY_HELPER_TTL_MS | API key helper 缓存时长 |
HIPMMCODE_AUTO_COMPACT_WINDOW | CLAUDE_CODE_AUTO_COMPACT_WINDOW | 自动压缩上下文窗口(100k–1M) |
HIPMMCODE_AUTOCOMPACT_PCT_OVERRIDE | CLAUDE_AUTOCOMPACT_PCT_OVERRIDE | 自动压缩百分比覆盖 |
HIPMMCODE_DISABLE_1M_CONTEXT | CLAUDE_CODE_DISABLE_1M_CONTEXT | 关闭 1M 上下文档位 |
HIPMMCODE_DISABLE_AUTO_MEMORY | CLAUDE_CODE_DISABLE_AUTO_MEMORY | 关闭自动持久记忆 |
HIPMMCODE_DISABLE_BACKGROUND_TASKS | CLAUDE_CODE_DISABLE_BACKGROUND_TASKS | 关闭后台任务 |
HIPMMCODE_DISABLE_THINKING | CLAUDE_CODE_DISABLE_THINKING | 关闭推理 effort 升级 |
HIPMMCODE_EFFORT_LEVEL | CLAUDE_CODE_EFFORT_LEVEL | 设置模型 effort 级别 |
HIPMMCODE_FILE_READ_MAX_OUTPUT_TOKENS | CLAUDE_CODE_FILE_READ_MAX_OUTPUT_TOKENS | 限制指定 Read 输出 |
HIPMMCODE_IDE_HOST_OVERRIDE | CLAUDE_CODE_IDE_HOST_OVERRIDE | 覆盖 IDE MCP 桥 host |
HIPMMCODE_MAX_OUTPUT_TOKENS | CLAUDE_CODE_MAX_OUTPUT_TOKENS | 限制 headless 输出 |
HIPMMCODE_MAX_SUBAGENTS_PER_SESSION | CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION | 会话 Agent 配额 |
HIPMMCODE_MAX_TOOL_USE_CONCURRENCY | CLAUDE_CODE_MAX_TOOL_USE_CONCURRENCY | 并行工具调用上限 |
HIPMMCODE_MAX_WEB_SEARCHES_PER_SESSION | CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION | 会话 WebSearch 配额 |
HIPMMCODE_MCP_TOOL_IDLE_TIMEOUT | CLAUDE_CODE_MCP_TOOL_IDLE_TIMEOUT | 远程 MCP 空闲超时 |
HIPMMCODE_PROCESS_WRAPPER | CLAUDE_CODE_PROCESS_WRAPPER | 经验证的 daemon 自启动 wrapper |
HIPMMCODE_SAFE_MODE | CLAUDE_CODE_SAFE_MODE | 禁用自定义以排障 |
HIPMMCODE_SIMPLE | CLAUDE_CODE_SIMPLE | 跳过项目指令/MCP/hooks/plugins 发现 |
HIPMMCODE_SSE_PORT | CLAUDE_CODE_SSE_PORT | 强制 IDE 桥端口 |
HIPMMCODE_SUBAGENT_MODEL | CLAUDE_CODE_SUBAGENT_MODEL | 覆盖 Agent 模型 |
子进程协议变量
协议互操性特意使用双命名,而不是缺省回退。HiPMMCode 会导出 HIPMMCODE_SESSION_ID、HIPMMCODE_EFFORT、HIPMMCODE_PROJECT_DIR、HIPMMCODE_PLUGIN_ROOT、HIPMMCODE_PLUGIN_DATA 等原生字段;兼容 hooks/plugins/helpers 也可收到对应 ${CLAUDE_*} 字段。Skills 会把 ${HIPMMCODE_*} 与对应 ${CLAUDE_*} 占位符展开为同一个原生解析值。
文件地图
<原生配置根目录>/
├── config.json # 上面的一切
├── sessions/ # 每会话一个 JSON
├── projects/<key>/memory/ # 项目级持久记忆
├── agents/ # 你的智能体画像(*.md)
├── skills/ # 已装技能
├── legions/<name>/ # 军团包(agents + skills)
├── teams/<name>/ # 团队状态:配置、信箱、任务
├── plugins/ # 已装插件
└── direct-connect.json # serve 发现锁文件<原生配置根目录> 表示 HIPMMCODE_CONFIG_DIR,其次 CLAUDE_CONFIG_DIR(v0.16.0+),再次 HIPMMCODE_HOME,最后 ~/.hipmmcode。
HiPMMCode 原生读取的项目级文件包括 .mcp.json、HIPMMCODE.md、.hipmmcode/commands/、.hipmmcode/agents/、.hipmmcode/rules/ 和 .hipmmcode/scheduled_tasks.json。兼容输入包括 AGENTS.md、CLAUDE.md、.claude/commands/、.claude/agents/、.claude/rules/,以及仅在原生 cron 文件不存在时读取的旧 .claude/scheduled_tasks.json。外部 plugin manifest 继续使用 .claude-plugin/ 协议名。