Releases: puterjam/persona
Releases · puterjam/persona
Release v1.3.8
v1.3.8 — bug fix
- 修复 小数字键盘,在 tui 模式下,enter 无法使用的问题
- 修复 激活中的 provider 再次编辑,不会更新配置的问题
Release v1.3.7
v1.3.1 — 新增 Codex CLI 支持
核心新功能:
- 支持通过 --target codex 管理 Codex CLI 的配置,不再局限于 Claude CLI
- Provider 新增字段:target、wireApi、requiresOpenAiAuth、envKey
- add、switch、edit、list、env 等命令全面适配 Codex
- 新增 templates/codex/ 模板目录(含 ollama.json)
- TUI 界面按 target 分组显示 provider
v1.3.2 — 修复 Codex 配置写入逻辑
- Codex 配置结构简化:废弃 profiles.persona 嵌套写法,改为直接写顶层 model_provider / model 字段
- 新增 hongmacc provider 模板(Claude + Codex 各一份)
v1.3.3–1.3.4 — Adapter 模式重构 + 单元测试
- 引入 Adapter 模式,将 Claude 和 Codex 的配置逻辑分别封装到 ClaudeAdapter / CodexAdapter(src/config/adapters/)
- 清理全部 as any 类型转换,改用 CliTarget、ProviderTemplate 明确类型
- 新增单元测试:test/config/store.test.ts、test/config/adapters.test.ts
- 测试文件统一移入 test/ 目录,添加 bun test 脚本
v1.3.5–1.3.7 — 修复版本号管理
- pre-commit hook 之前只更新 package.json,现在同步更新 src/version.ts,修复版本不一致问题
Release v1.3.0
Features
- Codex CLI Support - New support for OpenAI Codex CLI provider management
- Separate provider management for Claude CLI and Codex CLI
persona add --target codex- Add provider for Codexpersona add --target claude- Add provider for Claude (default)persona use --target codex <provider-id>- Switch Codex providerpersona use --target claude <provider-id>- Switch Claude providerpersona ls --target codex- List Codex providerspersona ls --target claude- List Claude providers
Codex-Specific
- Wire API - Configure API type (responses/completions/chat)
- Authentication Options - Support for custom env keys or OpenAI auth
- Codex Templates - New template category for Codex-compatible providers (Ollama)
TUI Improvements
- CLI Target Switching - Press
Tabto switch between Claude and Codex mode - Target-Aware Provider List - Filter providers by selected CLI target
- Enhanced Detail Panel - Shows target-specific configuration
Configuration Changes
- Separate config storage for Claude (
general/claude.json) and Codex (general/codex.toml) - Provider ID generation now includes target prefix for uniqueness
- Active provider tracking split into
activeClaudeProviderandactiveCodexProvider
Refactoring
- Extract dialog logic to
useDialogshook - Extract provider management to
useProvidershook - Modularize TUI components (ProviderList, detail panels)
- Add
@iarna/tomlfor TOML file handling
Release v1.2.2
Features
- Sync Command - New command to sync templates and themes from GitHub
persona sync- Sync all (templates and themes)persona sync --templates- Sync only templatespersona sync --themes- Sync only themespersona sync --force- Force overwrite existing files
Improvements
- Directory Resolution - Optimized template and theme loading order:
- User directory:
~/.persona/templates/,~/.persona/themes/ - Current working directory (for
pnpm dev) - Environment variable:
$PERSONA_ROOT/ - Built-in fallback
- User directory:
Installation
- Install script now automatically syncs templates and themes on first install
Release v1.2.0
Features
- OpenTUI React TUI - Complete rebuild using @opentui/react with React-based components
- Border Highlight - Active provider shows highlighted border in primaryLight color
- Theme Switching - Press
tin TUI mode to switch between themes (persona, gruvbox, dracula, nord)
Components
- Header - ASCII art title with version
- StatusBar - Keyboard shortcuts and status messages
- DetailPanel - Provider details, ping results, messages
- Dialogs - Confirm, Input, List dialogs
Refactoring
- Remove legacy blessed-based TUI implementation
- Migrate from imperative to component-based TUI
Release v1.1.30
Features
- Theme System - Add 4 built-in themes (persona, gruvbox, dracula, nord)
- Theme Command - Independent theme management (
persona theme,persona theme list,persona theme <name>) - Env Command - Refactored from config (
persona env,persona env edit) - Status Command - Show current status (
persona status) - Templates Command - List available provider templates (
persona templates)
Refactoring
- Extract common utilities (mask, constants, provider)
- Refactor theme loading with dynamic color support
- Improve general config handling for nested objects
- Fix env object flattening in config
Fixes
- Fix config flatten for nested objects (e.g., statusLine.padding)
- Fix general config env object handling
- Fix border color highlight for active provider
- Remove debug logs from TUI
Release v1.0.22
Features
- Interactive TUI Mode - Terminal user interface with keyboard navigation
- Provider Management - Add, edit, delete, and switch between AI providers
- Multi-platform Support - Builds for macOS (ARM64/x64), Linux (x64/ARM64), Windows x64
- 20+ Provider Templates - Including DeepSeek, Zhipu GLM, Kimi, MiniMax, Ollama, OpenAI, and more
- Ping Testing - Test API connectivity directly from TUI
- Config Editor - Edit general configuration in external editor
- ASCII Art Title - Stylish header with "Persona" ASCII font
- Dynamic Version - Auto-generated version from package.json
Fixes
- Extract hardcoded colors to centralized theme
- Fix TUI mouse click handling
- Fix provider list navigation with blessed
- Fix Chinese locale display (UTF-8)
- Fix auto-show provider details when navigating
- Fix ESC key behavior in dialogs
- Fix cross-platform build dependencies
CI/CD
- GitHub Actions release workflow
- Multi-platform compilation (darwin/linux/windows)
- Auto tag creation on version bump