【免费下载链接】claude-smart
Turns corrections into Preferences, Project-specific skills, and Shared skills for Claude Code, Codex, and OpenCode.
claude-smart是一款面向 Claude Code、Codex 和 OpenCode 的学习型插件,它会把你的纠正和反馈自动沉淀为 Preferences、项目技能和共享技能。本文带你全解 20+ 个claude-smart 环境变量,通过编辑~/.claude-smart/.env一个文件,即可精准控制它的学习行为、服务启动、引用展示与数据存储方式。
环境变量都写在哪个文件?
claude-smart 的所有运行配置集中在~/.claude-smart/.env中,由安装器自动初始化,文件权限为 0600(仅本人可读,因为可能存放 API Key)。解析逻辑见 env_config.py,shell 侧的加载规则见 _lib.sh。
两类变量要区分清楚:
- 持久型(写进
.env):如CLAUDE_SMART_USE_LOCAL_CLI、CLAUDE_SMART_READ_ONLY,安装器和 Dashboard 的 Configure 页面会直接写入; - 会话型(hook 进程环境):如
CLAUDE_SMART_CITATIONS、CLAUDE_SMART_ENABLE_OPTIMIZER,需要设置在 Claude Code 的settings.local.json的env块中,因为 hook 进程不读取 Reflexio 后端的环境文件。
💡 完整的官方变量表可查阅 DEVELOPER.md 的 "Environment variables" 一节。
学习行为调优:决定"谁来学、用什么模型学"
这一组变量控制学习循环的核心——谁负责把交互提炼成规则、用哪个模型。
| 变量 | 默认值 | 作用 |
|---|---|---|
CLAUDE_SMART_USE_LOCAL_CLI | 安装后为1 | 通过当前宿主 CLI(claude/codex)执行生成,无需任何云端 API Key |
CLAUDE_SMART_USE_LOCAL_EMBEDDING | 安装后为1 | 使用本地 ONNX 向量模型做语义检索,免 API Key |
CLAUDE_SMART_LEARNING_PROVIDER | 未设置(回退宿主) | 指定后台学习提供方:claude-code、codex或opencode |
CLAUDE_SMART_LEARNING_MODEL | 未设置(提供方默认) | 指定学习用的模型 ID,会透传给提取、优化器等调用 |
CLAUDE_SMART_CLI_PATH | 按宿主自动解析 | 覆盖 Reflexio 实际调用的可执行文件 |
CLAUDE_SMART_OPENCODE_PATH | 自动探测 | OpenCode 可执行文件不在 PATH 中时手动指定 |
CLAUDE_SMART_CLI_TIMEOUT | 120 | 本地 CLI 调用超时秒数,长思考模型可调大 |
关键源码逻辑在 optimizer_assistant.py:当CLAUDE_SMART_LEARNING_MODEL有值时,会作为--model参数追加到 CLI 调用中。
常见调优场景:
- 想让学习完全离线、零额外成本 → 保持两个
USE_LOCAL_*为1(默认即如此); - 想换更便宜的模型做提取 → 设置
CLAUDE_SMART_LEARNING_MODEL; - 公司网络下 CLI 响应慢 → 调大
CLAUDE_SMART_CLI_TIMEOUT。
下面是插件学习成果在 Dashboard 中的呈现——Profiles 页面展示的正是从你的交互中提取出的项目级偏好:
服务与端口控制:后端怎么起、什么时候停
claude-smart 会在本地启动 Reflexio 后端(默认localhost:8071)和共享向量服务(localhost:8072),全部可通过变量控制:
| 变量 | 默认值 | 作用 |
|---|---|---|
BACKEND_PORT | 8071 | Reflexio 后端端口,REFLEXIO_URL会随之推导 |
EMBEDDING_PORT | 8072 | 本地向量守护进程端口 |
CLAUDE_SMART_BACKEND_AUTOSTART | 1 | 设为0可禁止 SessionStart hook 拉起后端 |
CLAUDE_SMART_DASHBOARD_AUTOSTART | 1 | 设为0可禁止自动拉起 Dashboard |
CLAUDE_SMART_BACKEND_STOP_ON_END | 0 | 设为1让后端在 SessionEnd 时自动退出,不再长驻 |
CLAUDE_SMART_BACKEND_WORKERS | 1 | 后端工作进程数,并发场景可加大 |
CLAUDE_SMART_BACKEND_HOST | 127.0.0.1 | 后端绑定地址 |
REFLEXIO_URL | http://localhost:8071/ | 指向远程或自定义 Reflexio 后端 |
REFLEXIO_API_KEY | 空 | 远程后端的鉴权密钥(托管模式使用) |
端口和 worker 的读取逻辑见 backend-service.sh。
常见调优场景:
- 后端端口冲突 → 改
BACKEND_PORT; - 不想让 AI 助手"顺手"拉起服务(如 CI 环境)→ 两个
AUTOSTART置0; - 团队共享一套后端 → 设置
REFLEXIO_URL+REFLEXIO_API_KEY指向远程地址。
注入与展示调优:引用、链接与优化器
学习到的规则会在会话中被自动注入。以下变量控制"注入什么、怎么显示":
| 变量 | 默认值 | 作用 |
|---|---|---|
CLAUDE_SMART_CITATIONS | on | 开启后注入"引用规则"提示,让模型标注哪些规则影响了回答;off关闭并清理标记行 |
CLAUDE_SMART_CITATION_LINK_STYLE | markdown | 引用链接样式:markdown或终端原生osc8超链接 |
CLAUDE_SMART_DASHBOARD_URL | http://localhost:3001 | 引用链接指向的 Dashboard 地址 |
CLAUDE_SMART_ENABLE_OPTIMIZER | 自动(仅本地模式) | 1强制开启共享技能优化器,0全局关闭 |
实现位于 context_format.py 与 events/session_start.py。
常见调优场景:
- 觉得每次回答末尾的
✨ claude-smart rule applied标记干扰阅读 →CLAUDE_SMART_CITATIONS=off; - 终端支持 OSC 8 → 设
CLAUDE_SMART_CITATION_LINK_STYLE=osc8,点击标题即可直达规则详情页,无需显示冗长 URL。
技能的沉淀结果(Playbooks,即跨会话学习规则)在 Dashboard 中的样子如下,每条规则都标注了CURRENT状态与来源项目:
数据与状态管理:存在哪、谁能写
| 变量 | 默认值 | 作用 |
|---|---|---|
CLAUDE_SMART_READ_ONLY | 0 | 设为1后完全跳过发布(publish),只读注入不学习 |
CLAUDE_SMART_STATE_DIR | ~/.claude-smart/sessions/ | 会话 JSONL 缓冲区目录 |
LOCAL_STORAGE_PATH | ~/.reflexio/data | Reflexio 本地 SQLite 存储位置 |
REFLEXIO_USER_ID | 自动(项目 ID) | 覆盖学习归属的用户 ID |
CLAUDE_SMART_HOST | claude-code | 当前安装的宿主标识,安装时自动写入 |
其中CLAUDE_SMART_READ_ONLY是"先看看效果"模式的关键开关:只想体验规则注入、暂时不想产生新学习数据时,把它设为1即可。相关逻辑见 state.py 和 env_config.py。
调试与运维进阶变量
| 变量 | 默认值 | 作用 |
|---|---|---|
CLAUDE_SMART_HOOK_LOG | 默认写~/.claude-smart/hook.log | 布尔值开启日志,或设为路径重定向日志文件 |
CLAUDE_SMART_REFLEXIO_DIR | 仓库内 vendor 目录 | 指定 Reflexio 运行时位置 |
CLAUDE_SMART_NODE_LTS_MAJOR | 22 | 私有 Node.js 运行时的大版本号 |
CLAUDE_SMART_NODE_BASE_URL | 官方源 | 覆盖 Node 下载地址,适合离线/镜像环境 |
CLAUDE_SMART_SERVICE_LOCK_STALE_SECONDS | 60 | 服务锁判死的超时秒数 |
REFLEXIO_EMBEDDING_PROVIDER | local_service | 向量模式:cloud/local_service/inprocess等 |
CLAUDE_SMART_INTERNAL | 未设置 | 内部调用标记(1),一般无需手动设置 |
排查问题时最值得开的是CLAUDE_SMART_HOOK_LOG——它的解析规则在 hook_log.py 中,日志里包含每次发布(publish)的目标地址与状态,对照.env中的REFLEXIO_URL即可快速定位"手动命令正常但自动发布失败"这类问题,详见 TROUBLESHOOTING.md。
怎么改这些变量?
三种方式,按推荐程度排序:
- Dashboard Configure 页面:运行
/claude-smart:dashboard打开面板后进入 Configure,图形化编辑REFLEXIO_URL、CLAUDE_SMART_CLI_TIMEOUT等常用项,保存时直接写回.env(读写逻辑见 config-file.ts); - 直接编辑
~/.claude-smart/.env:适合一次改多个变量,改完执行/claude-smart:restart让服务重新加载; - 会话级覆盖:在项目的
.claude/settings.local.json的env块中设置 hook 侧变量,只对当前项目生效,适合临时实验。
总结:一张表快速上手
| 需求 | 改什么 |
|---|---|
| 完全离线、零 API Key 学习 | 默认即可(USE_LOCAL_CLI=1+USE_LOCAL_EMBEDDING=1) |
| 换学习模型 | CLAUDE_SMART_LEARNING_MODEL |
| 只注入不学习 | CLAUDE_SMART_READ_ONLY=1 |
| 隐藏规则引用标记 | CLAUDE_SMART_CITATIONS=off |
| 端口冲突 | BACKEND_PORT/EMBEDDING_PORT |
| CI 中禁止自动起服务 | CLAUDE_SMART_BACKEND_AUTOSTART=0+CLAUDE_SMART_DASHBOARD_AUTOSTART=0 |
| 排查问题 | CLAUDE_SMART_HOOK_LOG=1 |
claude-smart 的设计原则是"默认全本地、零配置可用",上述 20+ 变量更像是给进阶用户的精调旋钮。日常使用只需理解READ_ONLY、CITATIONS和端口三组,其余变量在需要时查阅 DEVELOPER.md 的完整表格即可。
【免费下载链接】claude-smart
Turns corrections into Preferences, Project-specific skills, and Shared skills for Claude Code, Codex, and OpenCode.
相关推荐
3 步搞定:把 QQ 空间说说历史全部存进 Excel 的 GetQzonehistory 教程
3 步搞定:把 QQ 空间说说历史全部存进 Excel 的 GetQzonehistory 教程 QQ 空间里的说说,翻手机才能看到,想备份到电脑上却懒得一条条
网页爬虫数据分析终极指南:BuildKit环境变量配置与运行时行为控制
终极指南:BuildKit环境变量配置与运行时行为控制 你是否曾因BuildKit构建速度慢、缓存策略混乱而头疼?本文将系统梳理BuildKit环境变量体系,通
云原生后端构建工具容器运行时wechat-go源码解析:从登录流程到消息分发的完整实现
wechat go源码解析:从登录流程到消息分发的完整实现 wechat go是一个基于Go语言的微信网页版API和消息框架,专为构建微信机器人设计。本文将深入
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考