unraid
7ae94327fb
feat: enable /voice mode with native audio binaries
...
Restore voice input by:
- Copying official cpal-based audio-capture.node binaries (6 platforms)
- Replacing SoX subprocess stub with native .node loader
- Adding VOICE_MODE to default build features
All voice source files in src/ already match the official CLI.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 21:14:44 +08:00
Dosion
eb86e34094
Merge pull request #88 from amDosion/feat/enable-schedule-remote-agents
...
feat: enable /schedule by adding AGENT_TRIGGERS_REMOTE to default features
2026-04-03 20:07:21 +08:00
claude-code-best
4c5a12228c
docs: 调整文档
2026-04-03 19:56:35 +08:00
claude-code-best
a6bef45113
fix: 修复 rg 文件的传入
2026-04-03 19:45:43 +08:00
claude-code-best
7e888ce38d
feat: 添加 测试 agent 及一些文档
2026-04-03 19:27:23 +08:00
claude-code-best
5a7d06fe99
refactor(buddy): align companion system with official CLI ( #82 )
...
* refactor(buddy): align companion system with official CLI
## Summary
Reverse-engineered the official Claude Code CLI (v2.1.91) buddy/companion
system and aligned our implementation to match.
## Changes (7 files)
### Added
- `src/buddy/CompanionCard.tsx` (+109)
JSX bordered card matching official vc8: rarity header, colored sprite,
name, personality, 10-bar stats, last reaction in nested border.
- `src/buddy/companionReact.ts` (+156)
Reaction system matching official ZUK+Dc8: 45s rate limiting, @-mention
detection, transcript builder (12 msgs, 5000 chars), POST buddy_react API.
### Modified
- `src/commands/buddy/index.ts`
type: local -> local-jsx, description/argumentHint/immediate/isHidden.
- `src/commands/buddy/buddy.ts`
LocalCommandCall -> LocalJSXCommandCall signature (onDone, context, args).
Removed mute/unmute/rehatch (official uses off/on only).
/buddy show returns CompanionCard JSX instead of plain text.
Pet auto-unmutes. companionMuted writes globalConfig (matches UI read source).
- `src/screens/REPL.tsx` (line 2808)
globalThis.fireCompanionObserver -> import triggerCompanionReaction.
- `src/state/AppStateStore.ts` — comment fix.
- `src/types/global.d.ts` — removed fireCompanionObserver declaration.
## Data flow (verified consistent)
- companionMuted: saveGlobalConfig() <-> getGlobalConfig() (6 read sites)
- companionReaction: setAppState() <-> useAppState() (4 sites)
- companionPetAt: setAppState() <-> useAppState() (2 sites)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
* fix(buddy): address CodeRabbit review findings
- buddy.ts: return type Promise<null> → Promise<React.ReactNode>
to match LocalJSXCommandCall interface (CompanionCard path returns
ReactElement, not null).
- CompanionCard.tsx: clamp stat value to 0..100 before .repeat()
to prevent negative count runtime error on out-of-range values.
Import path alias suggestions (src/ vs ../) dismissed — project
convention uses relative paths (verified against color.ts, help.ts).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
* fix(buddy): address second round CodeRabbit findings
- buddy.ts:105: remove unsafe (context as any).messages cast.
ToolUseContext already declares messages: Message[] at Tool.ts:250,
so context.messages is properly typed. Other commands (feedback,
copy, export) access it the same way without cast.
- companionReact.ts:154: wrap resp.json() in try/catch for defensive
JSON parsing. Malformed 200 responses now return null instead of
propagating to the outer catch.
Rate-limit timing (set before API call) kept as-is — matches official
ZUK pattern: prevents retry-storm on transient failures.
src/ path alias suggestions dismissed — project uses relative paths.
Auto-unmute on /buddy view kept — matches official behavior.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: unraid <local@unraid.local >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 17:22:54 +08:00
claude-code-best
cf44cc32e4
Merge branch 'pr/amDosion/60'
2026-04-03 17:21:09 +08:00
unraid
e74d1f0836
fix(buddy): address second round CodeRabbit findings
...
- buddy.ts:105: remove unsafe (context as any).messages cast.
ToolUseContext already declares messages: Message[] at Tool.ts:250,
so context.messages is properly typed. Other commands (feedback,
copy, export) access it the same way without cast.
- companionReact.ts:154: wrap resp.json() in try/catch for defensive
JSON parsing. Malformed 200 responses now return null instead of
propagating to the outer catch.
Rate-limit timing (set before API call) kept as-is — matches official
ZUK pattern: prevents retry-storm on transient failures.
src/ path alias suggestions dismissed — project uses relative paths.
Auto-unmute on /buddy view kept — matches official behavior.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 17:16:16 +08:00
claude-code-best
9dd180dcd3
Merge branch 'pr/amDosion/82'
2026-04-03 17:14:14 +08:00
unraid
7d4adce1b6
fix(buddy): address CodeRabbit review findings
...
- buddy.ts: return type Promise<null> → Promise<React.ReactNode>
to match LocalJSXCommandCall interface (CompanionCard path returns
ReactElement, not null).
- CompanionCard.tsx: clamp stat value to 0..100 before .repeat()
to prevent negative count runtime error on out-of-range values.
Import path alias suggestions (src/ vs ../) dismissed — project
convention uses relative paths (verified against color.ts, help.ts).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 17:00:01 +08:00
claude-code-best
c9c14c816f
feat: 简化 debug 方式
2026-04-03 16:47:24 +08:00
unraid
991119491c
refactor(buddy): align companion system with official CLI
...
## Summary
Reverse-engineered the official Claude Code CLI (v2.1.91) buddy/companion
system and aligned our implementation to match.
## Changes (7 files)
### Added
- `src/buddy/CompanionCard.tsx` (+109)
JSX bordered card matching official vc8: rarity header, colored sprite,
name, personality, 10-bar stats, last reaction in nested border.
- `src/buddy/companionReact.ts` (+156)
Reaction system matching official ZUK+Dc8: 45s rate limiting, @-mention
detection, transcript builder (12 msgs, 5000 chars), POST buddy_react API.
### Modified
- `src/commands/buddy/index.ts`
type: local -> local-jsx, description/argumentHint/immediate/isHidden.
- `src/commands/buddy/buddy.ts`
LocalCommandCall -> LocalJSXCommandCall signature (onDone, context, args).
Removed mute/unmute/rehatch (official uses off/on only).
/buddy show returns CompanionCard JSX instead of plain text.
Pet auto-unmutes. companionMuted writes globalConfig (matches UI read source).
- `src/screens/REPL.tsx` (line 2808)
globalThis.fireCompanionObserver -> import triggerCompanionReaction.
- `src/state/AppStateStore.ts` — comment fix.
- `src/types/global.d.ts` — removed fireCompanionObserver declaration.
## Data flow (verified consistent)
- companionMuted: saveGlobalConfig() <-> getGlobalConfig() (6 read sites)
- companionReaction: setAppState() <-> useAppState() (4 sites)
- companionPetAt: setAppState() <-> useAppState() (2 sites)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 16:36:22 +08:00
claude-code-best
7935bfb4b8
fix: 修复debug启动方式
2026-04-03 14:40:45 +08:00
claude-code-best
a7604f6591
feat: /login 命令新增自定义 anthropic 终端登陆
2026-04-03 14:22:47 +08:00
claude-code-best
a02a9fc4c2
fix: 修复定义导入缺失的问题
2026-04-03 14:14:35 +08:00
claude-code-best
e944633dd8
fix: 修复 ERROR getAntModels is not defined
...
Fixes #69
2026-04-03 11:56:49 +08:00
claude-code-best
cb046b4df0
docs: 添加文档
2026-04-03 11:52:14 +08:00
unraid
67caa5d017
docs: add Remote Control (BRIDGE_MODE) entry to DEV-LOG
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 11:30:58 +08:00
claude-code-best
8e4aea45a8
docs: 维护两个新的文档
2026-04-03 11:01:17 +08:00
claude-code-best
5278ce1f3a
docs: 新增两份文档
2026-04-03 10:56:52 +08:00
claude-code-best
e74c009e02
feat: 添加 GrowthBook 自定义服务器适配器
...
通过 CLAUDE_GB_ADAPTER_URL/KEY 环境变量连接自定义 GrowthBook 实例,
无配置时所有 feature 读取返回代码默认值。支持 GrowthBook Cloud(非 remoteEval),
含完整文档和 feature key 列表。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-03 10:37:15 +08:00
claude-code-best
78144b4dba
feat: 关闭 Datadog 日志发送
2026-04-03 09:49:59 +08:00
claude-code-best
e32c159f35
feat: 关闭自动更新
2026-04-03 09:39:32 +08:00
claude-code-best
119518599e
feat: 更新 sentry 错误上报
2026-04-03 09:39:25 +08:00
unraid
e784f231d4
fix: validate and encode target sessionId in peer messages
...
- Trim and normalize target before use
- Validate with validateBridgeId allowlist (same as bridgeApi.ts)
- URL-encode compatTarget to prevent path traversal/injection
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 04:23:32 +08:00
unraid
8645d37b25
fix: add Authorization header to peer message requests
...
getBridgeAccessToken() provides the OAuth Bearer token, matching
the auth pattern used by bridgeApi.ts and codeSessionApi.ts.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 04:15:24 +08:00
unraid
1d38eae536
fix: address CodeRabbit review findings
...
- webhookSanitizer: redact before truncate to avoid split secrets at boundary
- webhookSanitizer: return safe placeholder on error instead of raw content
- peerSessions: use discriminated union return type for type safety
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 04:08:04 +08:00
unraid
74e51e7e73
feat: enable Remote Control (BRIDGE_MODE) with stub completions
...
- Add BRIDGE_MODE to DEFAULT_FEATURES in dev.ts
- Implement peerSessions.ts: cross-session messaging via bridge API
- Implement webhookSanitizer.ts: redact secrets from webhook payloads
- Replace any stubs in controlTypes.ts with Zod schema-inferred types
- Fix tengu_bridge_system_init default to true for app "active" status
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 03:50:36 +08:00
claude-code-best
1f0a2e44c8
feat: 完成 debug 配置
2026-04-03 01:11:14 +08:00
claude-code-best
e48da3956c
feat: 修正 web search 工具
2026-04-03 00:47:37 +08:00
claude-code-best
d04e00fc2c
feat: 调整预先检查的代码
2026-04-02 23:00:48 +08:00
claude-code-best
c252294dd7
feat: 移除反蒸馏代码
2026-04-02 22:56:23 +08:00
claude-code-best
5ee49fd106
docs: 添加一大堆 feature 的描述
2026-04-02 22:52:32 +08:00
claude-code-best
22ca3a1181
Merge remote-tracking branch 'origin/main'
2026-04-02 21:57:12 +08:00
claude-code-best
919cf55591
feat: 添加开发者默认开启的 feature
2026-04-02 21:48:50 +08:00
mingyangxu46-prog
b6f37082cf
Learn/20260401 ( #39 )
...
* docs: 添加 Claude Code 源码学习笔记(第一、二阶段)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-02 21:47:49 +08:00
claude-code-best
4337b82e6c
Merge branch 'pr/programming-pupil/33'
2026-04-02 21:41:55 +08:00
claude-code-best
7dfbcd0e79
feat: 更新 buddy 的一些功能
2026-04-02 21:41:19 +08:00
claude-code-best
0d0304d6a5
Merge branch 'pr/smallflyingpig/36'
2026-04-02 21:38:12 +08:00
claude-code-best
47d88478c9
docs: 修正 feature 的正确用法
2026-04-02 21:37:30 +08:00
claude-code-best
70f32e25f3
Merge branch 'main' into pr/smallflyingpig/36
...
# Conflicts:
# src/entrypoints/cli.tsx
2026-04-02 21:25:53 +08:00
claude-code-best
87fdd455cc
chore: 删除调试代码
2026-04-02 21:23:36 +08:00
claude-code-best
991ccc673c
chore: 删除 src 下面的 src
2026-04-02 21:22:31 +08:00
claude-code-best
be82b71c3e
feat: 补全 auto mode 分类器 prompt 模板,支持 FEATURE_* 环境变量注入
...
- 重建 yolo-classifier-prompts/ 三个缺失的 prompt 文件
- dev.ts/build.ts 扫描 FEATURE_* 环境变量注入 Bun --feature
- AUTO_MODE_ENABLED_DEFAULT 由 feature flag 决定,开 feature 即开 auto mode
- 补充 docs/safety/auto-mode.mdx prompt 模板章节
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-02 21:18:39 +08:00
claude-code-best
88b45e0e6c
chore: 删除垃圾脚本
2026-04-02 21:00:41 +08:00
claude-code-best
68ccf28be8
feat: 尝试修复 auto mode
2026-04-02 20:57:52 +08:00
claude-code-best
4ab4506de2
fix: 修复 USER_TYPE=ant 时 TUI 无法启动的问题
...
反编译版本中 global.d.ts 声明的全局函数运行时未定义,
通过显式 import、stub 组件和全局 polyfill 修复。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-02 20:31:04 +08:00
claude-code-best
ce29527a67
test: 添加一大堆测试文件
2026-04-02 20:28:08 +08:00
claude-code-best
6f5623b26c
docs: 完成新版测试文档
2026-04-02 17:37:06 +08:00
claude-code-best
ac1f02958c
fix: 批量修正 external 字面量
2026-04-02 17:01:39 +08:00