claude-code-best
1071270ce3
chore: 更新版本到 1.3.2
2026-04-12 22:47:03 +08:00
claude-code-best
e770f1ef9d
feat: 完成第一个 mcp-chrome 接入版本
2026-04-12 21:32:09 +08:00
claude-code-best
c8a502f81f
chore: 删除重复 feature 定义
2026-04-11 23:27:28 +08:00
claude-code-best
09fc515edb
feat: 远程群控 ( #243 )
...
* feat: restore pipe IPC, LAN pipes, monitor tool, and PR-package features
Core IPC system (UDS_INBOX):
- PipeServer/PipeClient with UDS + TCP dual transport, NDJSON protocol
- PipeRegistry: machineId-based role assignment, file locking
- Master/slave attach, prompt relay, permission forwarding
- Heartbeat lifecycle with parallel isPipeAlive probes
- Commands: /pipes, /attach, /detach, /send, /claim-main, /pipe-status
LAN Pipes (LAN_PIPES):
- UDP multicast beacon (224.0.71.67:7101) for zero-config LAN discovery
- PipeServer TCP listener, PipeClient TCP connect mode
- Heartbeat auto-attaches LAN peers via TCP
- Cross-machine attach allowed regardless of role
- /pipes shows [LAN] peers with role + hostname/IP
- SendMessageTool supports tcp: scheme with user consent
Architecture — extracted hooks from REPL.tsx (~830 lines → ~20 lines):
- usePipeIpc: lifecycle (bootstrap, handlers, heartbeat, cleanup)
- usePipeRelay: slave→master message relay via module singleton
- usePipePermissionForward: permission request/cancel forwarding
- usePipeRouter: selected pipe input routing with role+IP labels
- Shared ndjsonFramer.ts replaces 3 duplicate NDJSON parsers
Key fixes applied during development:
- Multicast binds to correct LAN interface (not WSL/Docker)
- Beacon ref stored as module singleton (not Zustand state mutation)
- Heartbeat preserves LAN peers in discoveredPipes and selectedPipes
- Disconnect handler calls removeSlaveClient (fixes listener leak)
- cleanupStaleEntries probes without lock, writes briefly under lock
- getMachineId uses async execFile (not blocking execSync)
- globalThis.__pipeSendToMaster replaced with setPipeRelay singleton
- M key only toggles route mode when selector panel is expanded
- User prompt displayed in message list on pipe broadcast
- Broadcast notifications show [role] + hostname/IP for LAN peers
Other restored features:
- Monitor tool: /monitor command, MonitorTool, MonitorMcpTask lifecycle
- Daemon supervisor and remoteControlServer command
- Tools: SnipTool, SleepTool, ListPeersTool, SendUserFileTool,
WebBrowserTool, WorkflowTool, and 10+ stub→implementation rewrites
- Feature flags: UDS_INBOX, LAN_PIPES, MONITOR_TOOL, FORK_SUBAGENT,
KAIROS, COORDINATOR_MODE, WORKFLOW_SCRIPTS, HISTORY_SNIP
Tests: 2190 pass / 0 fail (15 new: lanBeacon 7, peerAddress 8)
* fix: resolve merge conflicts and fix all tsc/test errors after main merge
- Export ToolResultBlockParam from Tool.ts (14 tool files fixed)
- Migrate ink imports from ../../ink.js to @anthropic/ink (7 files)
- Fix toolUseID → toolUseId typo in monitor.ts and MonitorTool.tsx
- Add fallback values for string|undefined type errors (8 locations)
- Fix AppState type in assistant.ts, add NewInstallWizard stubs
- Fix ParsedRepository.repo → .name in subscribe-pr.ts
- Fix AgentId/string type mismatch in BackgroundTasksDialog.tsx
- Fix PipeRelayFn return type in pipePermissionRelay.ts
- Use PipeMessage type in usePipeRelay.ts
- Fix lanBeacon.test.ts mock type assertions
- Create missing MouseActionEvent class for ink package
- Use ansi: color format instead of bare "green"/"red"
- Resolve theme.permission access via getTheme()
Result: 0 tsc errors, 2496 tests pass, 0 fail
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* fix: 恢复 /poor 的说明
---------
Co-authored-by: unraid <local@unraid.local >
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-11 23:22:55 +08:00
claude-code-best
2fea429dc6
feat: 添加对 langfuse 监控的支持 ( #242 )
...
* docs: 更新类型检查的 CLAUDE.md
* feat: 添加模型 1M 上下文切换
* chore: remove prefetchOfficialMcpUrls call on startup
* docs: 添加 git commit 规范
* feat: 第一次接入 langfuse
* fix: 修复 generation 的计时的错误
* feat: 添加多 agent 的监控
* feat: 添加 /poor 省流模式,toggle 关闭 extract_memories 和 prompt_suggestion
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* chore: 修复 lock 文件
* chore: 更新类型依赖
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-11 22:07:38 +08:00
claude-code-best
e70319e8f5
docs: 更新远程控制及 rg 下载
2026-04-10 12:11:04 +08:00
claude-code-best
2da6514095
feat: 支持自托管的 remote-control-server ( #214 )
...
* feat: 支持自托管的 remote-control-server (#214 )
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2026-04-09 17:40:50 +08:00
Dosion
0c53796d15
feat: restore daemon supervisor and remoteControlServer command ( #170 )
...
Reverse-engineer the missing daemon + remoteControlServer implementation
by tracing the call chain from existing code:
- src/daemon/main.ts: restore from stub to full supervisor (spawn/monitor
workers, exponential backoff restart, graceful shutdown)
- src/daemon/workerRegistry.ts: restore from stub to worker dispatcher
(remoteControl kind → runBridgeHeadless())
- src/commands/remoteControlServer/: new slash command /remote-control-server
(alias /rcs) for managing the daemon from REPL
- build.ts + scripts/dev.ts: enable DAEMON feature flag
Both official CLI 2.1.92 and our codebase had the command registered in
commands.ts but the directory and daemon implementation were missing.
The bottom layer (runBridgeHeadless in bridgeMain.ts) was already complete.
Co-authored-by: unraid <local@unraid.local >
2026-04-07 15:36:29 +08:00
Dosion
33949ce5a2
Merge pull request #156 from amDosion/feat/ultraplan-enablement
...
feat: enable /ultraplan and harden GrowthBook fallback chain
2026-04-06 22:09:28 +08:00
unraid
1b47333d72
feat: enable GrowthBook local gate defaults for P0/P1 features
...
Add LOCAL_GATE_DEFAULTS mapping in growthbook.ts with 27 feature gate
defaults (25 boolean + 2 object config). Insert local defaults into the
fallback chain of all getter functions so they work regardless of whether
GrowthBook is enabled or disabled:
env overrides → config overrides → in-memory cache → disk cache
→ LOCAL_GATE_DEFAULTS → caller defaultValue
P0 (local): keybindings, streaming tool exec, cron, JSON tools,
ultrathink, explore/plan agents, deep link, immediate model switch
P1 (API): session memory, auto memory, prompt suggestions, brief mode,
verification agent, away summary, auto dream, idle return prompt
Kill switches: 10 gates kept true to prevent remote disable
New compile flags: AGENT_TRIGGERS, ULTRATHINK, BUILTIN_EXPLORE_PLAN_AGENTS,
LODESTONE, EXTRACT_MEMORIES, VERIFICATION_AGENT, KAIROS_BRIEF, AWAY_SUMMARY
Bypass all local defaults: CLAUDE_CODE_DISABLE_LOCAL_GATES=1
2026-04-06 17:00:30 +08:00
claude-code-best
dee2ffd638
feat: 支持简化版本的 rg 下载
2026-04-06 10:31:15 +08:00
claude-code-best
27825293bb
Merge pull request #140 from amDosion/feat/enable-safe-feature-flags
...
feat: enable SHOT_STATS, PROMPT_CACHE_BREAK_DETECTION, TOKEN_BUDGET
2026-04-05 21:10:50 +08:00
unraid
96f6d2c7d5
feat: enable SHOT_STATS, PROMPT_CACHE_BREAK_DETECTION, TOKEN_BUDGET feature flags
...
Enable 3 verified compile-only feature flags in build.ts and dev.ts defaults:
- SHOT_STATS: local shot distribution statistics in /stats panel
- PROMPT_CACHE_BREAK_DETECTION: internal cache key change diagnostics
- TOKEN_BUDGET: support +500k syntax for minimum output token targets
All 3 flags verified by 6 parallel sub-agents + independent Codex CLI review.
Build passes (475 files), zero new test failures.
Also adds:
- docs/features/feature-flags-codex-review.md: Codex review findings
- Marks all enabled flags in feature-flags-audit-complete.md
- Adds openai dependency (needed for OpenAI compat layer)
2026-04-05 21:07:38 +08:00
xuzhongpeng
714ef13e68
fix: resolve absolute path in dev.ts for cross-directory execution
...
The dev script previously used a relative path "src/entrypoints/cli.tsx" which would fail when executed from outside the project root directory.
Changes:
- Add path resolution using import.meta.url to locate project root
- Use absolute path for cli.tsx entry point
- Set cwd option in Bun.spawnSync to ensure correct working directory
This allows running "bun run /path/to/scripts/dev.ts" from any directory.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-05 18:04:12 +08:00
claude-code-best
c99021d5a3
fix: 尝试修复 windows 下面没有 unzip 的问题
2026-04-04 17:02:39 +08:00
arc
6a3fd223fc
fix issues/114: bun install报错download-ripgrep MODULE_NOT_FOUND
2026-04-04 14:49:04 +08:00
claude-code-best
86d2c8f9e8
Merge remote-tracking branch 'amDosion/feat/computer-use-windows'
2026-04-04 00:12:52 +08:00
unraid
e3264a1691
feat: enable Computer Use with macOS + Windows + Linux support
...
Phase 1: Replace @ant/computer-use-mcp stub (12 files, 6517 lines).
Phase 2: Remove 8 macOS-only guards in src/:
- main.tsx: remove getPlatform()==='macos' check
- swiftLoader.ts: remove darwin-only throw
- executor.ts: extend platform guard, clipboard dispatch, paste key
- drainRunLoop.ts: skip CFRunLoop pump on non-darwin
- escHotkey.ts: non-darwin returns false (Ctrl+C fallback)
- hostAdapter.ts: non-darwin permissions granted
- common.ts: dynamic platform + screenshotFiltering
- gates.ts: enabled:true, subscription check removed
Phase 3: Add Linux backends (xdotool/scrot/xrandr/wmctrl):
- computer-use-input/backends/linux.ts (173 lines)
- computer-use-swift/backends/linux.ts (278 lines)
Verified on Windows x64: mouse, screenshot, displays, foreground app.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 23:17:14 +08:00
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
a6bef45113
fix: 修复 rg 文件的传入
2026-04-03 19:45:43 +08:00
claude-code-best
cf44cc32e4
Merge branch 'pr/amDosion/60'
2026-04-03 17:21:09 +08:00
claude-code-best
c9c14c816f
feat: 简化 debug 方式
2026-04-03 16:47:24 +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
919cf55591
feat: 添加开发者默认开启的 feature
2026-04-02 21:48:50 +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
28e40ddc67
refactor: 用 Bun 原生 define 替换 cli.tsx 中的 globalThis 注入
...
- 删除 cli.tsx 顶部的 globalThis.MACRO / BUILD_* / feature polyfill
- 新增 scripts/defines.ts 作为 MACRO define 映射的单一来源
- 新增 scripts/dev.ts,通过 bun run -d 在转译时注入 MACRO 常量
- build.ts 引用 getMacroDefines() 实现构建时内联
- 清理 global.d.ts (移除 BUILD_*, MACRO 函数声明)
- 55 个 MACRO 消费文件零改动
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-02 09:51:48 +08:00
claude-code-best
173d18bea8
feat: 添加代码健康度检查脚本
...
scripts/health-check.ts 汇总项目各维度指标:
代码规模、lint 问题、测试结果、冗余代码、构建状态和产物大小。
新增 health script 一键运行。
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-01 07:17:09 +08:00
claude-code-best
d7a729ca68
feat: 完成第二版类型清理
2026-03-31 23:03:47 +08:00
claude-code-best
bd756cc369
feat: 完成stub
2026-03-31 20:40:16 +08:00