让 AI 在回答前多读一层用户状态
一个本地运行的 pre-answer Agent Skill,把用户消息里的情绪、压力、审美和行动偏好转成回答风格提示
agent skill · pre-answer analysis · seven localized sins · local profile · style prompt
Sinmoji 是给 Codex、Claude Code、OpenCode 等 Agent 环境使用的 response-style adapter
它做三件事:
- 读取当前用户消息
- 按七个 Sinmoji 轴打分并更新本地画像
- 返回可选的
[SINMOJI_STYLE],让助手调整自然语言表达
它只影响表达方式,不改事实、代码、命令、JSON/YAML/SQL、文件名、测试快照或安全策略
用户发来的每句话都不只是“任务”,它可能同时包含:
| 想要一个更优雅的架构 | 想省掉所有麻烦步骤 |
| 想快速止血一个线上问题 | 想找到更赚钱的路径 |
| 想把竞品反超 | 想让产品更漂亮、更有吸引力 |
很多时候,任务背后还有一层状态:烦躁、懒得折腾、追求高级感、想要增长,或者已经被信息量撑爆
Sinmoji 不追求夸张,只负责给回答加一点读空气的能力
识别出这些信号后,回答可以更贴近当下场景:该直接时直接,该省事时省事,该商业化时商业化,该拿出审美和标准时就别糊弄
这里借用“七宗罪”这个文化隐喻,用来描述技术、产品、创作者和 AI 工具场景里的行为信号
| Axis | 状态 | 常见信号 |
|---|---|---|
pride |
高标准与优越感 | 最优解、架构感、专业、优雅、不要低级方案 |
envy |
对比与竞争压力 | 竞品、别人更火、排名、凭什么、差距 |
wrath |
愤怒与故障处置 | 又崩了、太烂了、别废话、赶紧修、生产事故 |
sloth |
省力与自动化 | 懒人包、复制即用、一键、少思考、直接给结果 |
greed |
增长与变现 | ROI、转化、成本、效率、赚钱、规模化 |
gluttony |
过载与更多欲望 | 多给点、完整版本、上下文太多、日志爆炸、资源塞满 |
lust |
审美与吸引力 | 漂亮、丝滑、高级感、好看、想要、体验感 |
每一轴都会被打 0-5 分,并累积到本地画像里。用得越久,Sinmoji 越知道用户偏好哪种回答姿态
User Message
↓
Score 7 Axes
↓
scripts/sinmoji.py evaluate
↓
Update Local Profile + Keyword Matching
↓
Optional [SINMOJI_STYLE]
↓
Assistant answers with the right tone
先判断用户状态,再更新本地画像,最后把可选风格提示交给助手使用
python3 scripts/sinmoji.py evaluate \
--pride 0 \
--envy 0 \
--wrath 5 \
--sloth 2 \
--greed 0 \
--gluttony 0 \
--lust 0 \
--question "又崩了,别废话,直接帮我定位问题"如果画像达到触发等级,会输出类似:
[SINMOJI_STYLE]
Primary tone: Wrath / frustration (...)
Emoji palette: 💢 🔧
Emoji usage: ...
[/SINMOJI_STYLE]
python3 scripts/sinmoji.py readpython3 scripts/sinmoji.py reportpython3 scripts/sinmoji.py reset- 本地运行,没有网络客户端、遥测、webhook 或外部 API 调用
- 原始用户消息只用于本地即时评分,不写入画像或事件日志
- 运行状态只保存聚合分数、等级、时间戳和紧凑 delta
- Sinmoji 只改变自然语言风格,不改变事实、代码行为、命令、安全策略或机器可读输出
- 七个轴是风格隐喻,不是心理诊断、人格测试或敏感属性分类
更多细节见 SAFETY_REVIEW.md
