harahara
快速上手配置

配置

选择供应商、设置模型,了解 hara 把配置放在哪里 —— 以及环境变量覆盖和 profile。

供应商

hara 与供应商无关。它对 Anthropic ClaudeQwen(免费 OAuth 额度)提供一流支持, 并能对接任何 OpenAI 兼容 端点 —— OpenAI、GLM、DeepSeek 或本地模型服务。

# Anthropic
export ANTHROPIC_API_KEY=sk-ant-...
hara config set provider anthropic
hara config set model claude-opus-4-8
 
# Qwen —— 免费设备登录(无需 key)
hara login qwen
 
# 任意 OpenAI 兼容端点
hara config set provider openai
hara config set baseURL https://your-endpoint/v1
hara config set apiKey  sk-...
hara config set model   your-model-id

任何时候都可以运行 hara doctor,检查供应商、鉴权和模型是否能正确解析。

配置文件

全局配置位于 ~/.hara/config.json(以 0600 权限写入 —— 它可能保存 API key)。仓库可以在 根目录放 .hara/config.json,但它默认不受信任:只读取经过校验的 modelthemevimModeautoCompactreasoningEffort 偏好。供应商路由、凭据、hooks、MCP、sandbox、 guardian、approval 和自动化配置都会被忽略。只有在你审查并信任该仓库时,才应在启动 hara 之前设置 HARA_TRUST_PROJECT_CONFIG=1;启动后再修改不能扩大信任。

hara config set <key> <value>   # 写入一个值
hara config get [key]           # 读取配置(apiKey 会被掩码)
hara config path                # 打印配置文件路径

值得了解的配置项

配置项取值作用
provideranthropic · qwen · openai · hara-gateway模型供应商
model模型 id主力编码模型
baseURL / apiKeystring覆盖端点 / key
approvalsuggest · auto-edit · full-autohara 在多大程度上无需询问就执行 —— 见 安全与权限
sandboxoff · workspace-write · read-onlyshell 沙箱(macOS)
visionModel模型 id描述模型,让纯文本模型也能"看见"图片
embedProvideroff · ollama · qwen · openai开启语义搜索(hara index)
routeModel模型 id处理琐碎回合的廉价模型;编码仍用主力模型
fallbackModel模型 id主力模型出错时改用此模型重试
autoCompacttrue · false在上下文窗口溢出前自动总结
updateChecktrue · false启动时一行更新提示(每日缓存探测,绝不拖慢启动)
theme / notify / vimMode界面、通知、模态输入

环境变量覆盖

每个配置项都有对应的 HARA_<KEY> 环境变量覆盖(全大写),它优先于配置文件 —— 在 CI、cron 和临时场景中很方便。

HARA_MODEL=claude-haiku-4-5 HARA_APPROVAL=full-auto hara -p "bump the version"

常用的有:HARA_PROVIDERHARA_MODELHARA_API_KEYHARA_BASE_URLHARA_APPROVALHARA_SANDBOXHARA_MAX_CONCURRENCYHARA_TUI=0(经典 readline)、HARA_PROFILE

安全开关有意限定在单个进程:HARA_TRUST_PROJECT_CONFIG=1 信任特权项目配置/profile pin, HARA_ALLOW_TRUSTED_EXTENSIONS=1 允许审查过的 MCP/外部 agent 在非交互任务中运行, HARA_ALLOW_SENSITIVE_FILES=1 让本次启动可访问受保护文件。不要为不受控仓库持久设置它们。

Profile

profile 是一个命名好的身份 —— 也就是 hara 怎么访问模型。有两种:

  • BYOK —— 你自己的供应商 + key(「个人」路径)。
  • Gateway —— 由你所在组织运行的 hara-control 网关(「公司/团队」路径);真正的 key 留在服务端。
# BYOK:用你自己的 key
hara profile add personal --byok --provider anthropic --key sk-ant-... --model claude-opus-4-8
# --provider:anthropic | openai | qwen | qwen-oauth
# --base-url <url> 让 openai 指向任意 OpenAI 兼容端点(GLM、DeepSeek、本地……)
 
# Gateway:加入你所在组织的 fleet(--code 由管理员提供)
hara profile add work --gateway https://gw.example.com --code ABC123
# `hara enroll <url> --code <code>` 是添加默认 org 网关 profile 的简写

请填写管理员提供的公网 HTTPS 根地址,不要附加 /v1。远程明文 HTTP、重定向和带有内嵌 凭据的 URL 都会被拒绝。一次性注册码兑换后即被清除,只有有作用域的设备凭据留在 Hara 受保护的 profile 存储中。Desktop 中的同一流程位于「设置 → AI 与模型 → 企业托管」。

企业 profile 的模型列表由服务端授权决定,本机不能增加未授权模型。从 Hara Control 0.1.15 起, 一次注册和一枚设备凭据会收到完整允许模型目录,因此同一个命名 profile 可以直接切换 deepseek-v4-flashdeepseek-v4-pro,无需新注册码或新 Key。不同公司或不同网关仍应分别 保存 profile;同一企业内不再按模型拆连接。两种模型的思考档位均为 offhighmax

然后管理与切换:

hara profile list        # 所有 profile,以及当前激活的是哪个
hara profile use <id>    # 设为默认 profile
hara profile pin <id>    # 把某个 profile 锁定到当前目录
hara --profile <id> -p "…"   # 单次运行使用某个 profile

pin 保存在本地 .hara-profile。Git 已跟踪的 pin 默认会被忽略,因为仓库不应静默替你选择身份; 只有显式信任项目配置后才会启用。

你也可以把更轻量的、只含设置的组合存进 ~/.hara/config.json,用 --profile(或 HARA_PROFILE) 选择 —— 适合在不切换完整身份的情况下临时调整 model / approval:

{
  "provider": "anthropic",
  "model": "claude-opus-4-8",
  "profiles": {
    "fast": { "model": "claude-haiku-4-5", "approval": "full-auto" },
    "review": { "model": "claude-opus-4-8", "approval": "suggest" }
  }
}
hara --profile fast -p "regenerate the snapshot tests"

hara 把东西放在哪里

路径保存内容
~/.hara/config.json全局配置(0600)
~/.hara/roles/ · .hara/roles/角色定义(全局 · 项目)
~/.hara/memory/ · .hara/memory/持久记忆
~/.hara/skills/ · .hara/skills/技能
~/.hara/sessions/已保存、可恢复的会话
~/.hara/workspace/默认网关工作目录(安全、无项目目录)
~/.hara/cron/jobs.json定时任务
~/.hara/checkpoints/文件状态快照(在你的仓库之外)
.hara/permissions.jsonbash 命令规则
AGENTS.md · MEMORY.md每个项目的约定与记忆
Was this helpful?
harahara
A product by Nanhara · Apache-2.0 · v0.139.0

© 2026 Nanhara Technologies