<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Computer Use on KnightLi Blog</title>
        <link>https://knightli.com/en/tags/computer-use/</link>
        <description>Recent content in Computer Use on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Thu, 14 May 2026 22:38:04 +0800</lastBuildDate><atom:link href="https://knightli.com/en/tags/computer-use/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>What is cc-haha? A project that turns Claude Code into a desktop workbench</title>
        <link>https://knightli.com/en/2026/05/14/cc-haha-claude-code-desktop-workbench/</link>
        <pubDate>Thu, 14 May 2026 22:38:04 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/05/14/cc-haha-claude-code-desktop-workbench/</guid>
        <description>&lt;p&gt;&lt;code&gt;cc-haha&lt;/code&gt; is a project built around a modified Claude Code workflow. Its full repository name is &lt;code&gt;NanmiCoder/cc-haha&lt;/code&gt;. The project page says plainly that it is based on Claude Code source code leaked from the Anthropic npm registry on &lt;code&gt;2026-03-31&lt;/code&gt;, and that its current main form is a desktop Claude Code workbench.&lt;/p&gt;
&lt;p&gt;Project URL: &lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NanmiCoder/cc-haha&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There are two important points in that description.&lt;/p&gt;
&lt;p&gt;First, it is not Anthropic&amp;rsquo;s official Claude Code. The README also states that the original source code copyright belongs to Anthropic and that the project is only for learning and research.&lt;/p&gt;
&lt;p&gt;Second, its focus is no longer just &amp;ldquo;run a Claude Code CLI locally.&amp;rdquo; Judging from the README and the latest release, &lt;code&gt;cc-haha&lt;/code&gt; is more like a desktop app that brings Claude Code sessions, projects, permissions, diffs, Computer Use, remote access, and model provider configuration into one place.&lt;/p&gt;
&lt;h2 id=&#34;what-problem-is-it-trying-to-solve&#34;&gt;What problem is it trying to solve?
&lt;/h2&gt;&lt;p&gt;Claude Code is originally terminal-oriented. Sessions, command execution, permission prompts, file edits, and context switching all happen in the terminal. That works for people who are comfortable with CLI tools, but long-term use exposes a few rough edges:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Multiple projects and sessions are hard to manage side by side.&lt;/li&gt;
&lt;li&gt;To see what files the AI changed, you often need to switch to Git or an editor.&lt;/li&gt;
&lt;li&gt;Permission approvals, command execution, and file diffs are spread across different surfaces.&lt;/li&gt;
&lt;li&gt;Remote viewing from a phone or another device requires extra setup.&lt;/li&gt;
&lt;li&gt;Connecting non-Anthropic models requires dealing with protocol compatibility.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;code&gt;cc-haha&lt;/code&gt; tries to package these pieces into a graphical workbench. It is not just a skin for Claude Code; it moves session management and local development flow control into the desktop app.&lt;/p&gt;
&lt;h2 id=&#34;desktop-workbench-from-terminal-to-control-center&#34;&gt;Desktop workbench: from terminal to control center
&lt;/h2&gt;&lt;p&gt;According to the README, the &lt;code&gt;cc-haha&lt;/code&gt; desktop app brings these capabilities into a macOS / Windows app:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Multi-session workbench: manage tasks with tabs, project switching, terminal entry points, and session history.&lt;/li&gt;
&lt;li&gt;Branch / Worktree launch: choose a repository branch for a new session and decide whether to use the current worktree or an isolated Worktree.&lt;/li&gt;
&lt;li&gt;Right-side code changes panel: view modified files, added and removed lines, and workspace status while chatting.&lt;/li&gt;
&lt;li&gt;Visualized code edits: inspect AI edits, diffs, and execution steps.&lt;/li&gt;
&lt;li&gt;Permission and approval flow: review dangerous commands, tool calls, and AI questions in the desktop app.&lt;/li&gt;
&lt;li&gt;Multiple model providers: supports Anthropic-compatible APIs, third-party models, WebSearch fallback, and local configuration.&lt;/li&gt;
&lt;li&gt;H5 remote access: use a one-time token to connect to the current desktop session from a phone or another device.&lt;/li&gt;
&lt;li&gt;IM integration: use Telegram, Feishu, WeChat, or DingTalk to chat remotely, switch projects, and approve permissions.&lt;/li&gt;
&lt;li&gt;Scheduled tasks and token usage: create scheduled tasks and view local token usage trends.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These features make it closer to an &amp;ldquo;AI coding workbench&amp;rdquo; than a simple command-line replacement. It tries to put the common surfaces of AI coding into one place: chat, file changes, permissions, projects, remote access, and model configuration.&lt;/p&gt;
&lt;h2 id=&#34;installation-and-startup&#34;&gt;Installation and startup
&lt;/h2&gt;&lt;p&gt;Most users should download the desktop installer from Releases.&lt;/p&gt;
&lt;p&gt;The README describes the desktop install flow as:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to GitHub Releases and download the macOS or Windows installer.&lt;/li&gt;
&lt;li&gt;On first launch, configure the model provider, API key, and default model in the desktop settings.&lt;/li&gt;
&lt;li&gt;If macOS says the app cannot be opened, follow the installation guide to handle Gatekeeper permissions.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The latest release page shows that &lt;code&gt;v0.2.6&lt;/code&gt; was published on &lt;code&gt;2026-05-13&lt;/code&gt;. That version mainly focuses on restoring secure H5 mobile access, desktop session management, file mention search, and desktop UX polish.&lt;/p&gt;
&lt;p&gt;If you want to start the CLI from source, the README provides:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;bun install
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;cp .env.example .env
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;./bin/claude-haha
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That path is better for people who want to debug the lower-level CLI, server, or build their own changes. For normal use, the desktop app is more direct.&lt;/p&gt;
&lt;h2 id=&#34;what-changed-in-v026&#34;&gt;What changed in v0.2.6
&lt;/h2&gt;&lt;p&gt;The main point of &lt;code&gt;v0.2.6&lt;/code&gt; is that H5/LAN access was pulled back from a temporary open state into an explicit enablement and token pairing model.&lt;/p&gt;
&lt;p&gt;Notable changes include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;H5/LAN access must be explicitly enabled locally.&lt;/li&gt;
&lt;li&gt;QR links carry a one-time visible token.&lt;/li&gt;
&lt;li&gt;Remote APIs, proxies, and WebSockets are no longer exposed without protection.&lt;/li&gt;
&lt;li&gt;Settings now has a separate H5 Access page.&lt;/li&gt;
&lt;li&gt;The desktop sidebar gained batch management for selecting and deleting sessions.&lt;/li&gt;
&lt;li&gt;Desktop file mention search became git-first, respects ignore rules, and reduces noise from &lt;code&gt;node_modules&lt;/code&gt; and build output.&lt;/li&gt;
&lt;li&gt;A pure white theme was added, and bugs such as long URLs breaking chat layout and draft leakage across tabs were fixed.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This shows the project has moved beyond &amp;ldquo;it runs&amp;rdquo; and is now filling in the safety boundaries and daily UX details that a desktop product needs.&lt;/p&gt;
&lt;p&gt;The H5 access part deserves special care. The author explicitly notes in the release that H5 is a browser access entry for individuals or trusted teams, not a public multi-tenant login system. In practice, it should not be treated as an internet-facing SaaS admin console.&lt;/p&gt;
&lt;h2 id=&#34;computer-use-letting-the-agent-operate-the-desktop&#34;&gt;Computer Use: letting the Agent operate the desktop
&lt;/h2&gt;&lt;p&gt;Another important selling point of &lt;code&gt;cc-haha&lt;/code&gt; is Computer Use.&lt;/p&gt;
&lt;p&gt;The project docs say this feature is a heavily modified version of the Computer Use implementation in the leaked Claude Code source. The official implementation depends on Anthropic&amp;rsquo;s private native modules, such as &lt;code&gt;@ant/computer-use-swift&lt;/code&gt; and &lt;code&gt;@ant/computer-use-input&lt;/code&gt;, which are not publicly available. &lt;code&gt;cc-haha&lt;/code&gt; replaces the low-level operation layer with a Python bridge using public libraries such as &lt;code&gt;pyautogui&lt;/code&gt;, &lt;code&gt;mss&lt;/code&gt;, and &lt;code&gt;pyobjc&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Computer Use supports operations such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Screenshot: &lt;code&gt;screenshot&lt;/code&gt;, &lt;code&gt;zoom&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Mouse: click, drag, move, scroll, and read cursor position&lt;/li&gt;
&lt;li&gt;Keyboard: type text, press keys, hold keys&lt;/li&gt;
&lt;li&gt;Applications: open applications, switch displays&lt;/li&gt;
&lt;li&gt;Permissions: request app access, list granted applications&lt;/li&gt;
&lt;li&gt;Clipboard: read and write clipboard content&lt;/li&gt;
&lt;li&gt;Other: wait, batch operations&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Its workflow is a &amp;ldquo;screenshot - analyze - act&amp;rdquo; loop:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The model receives a user request.&lt;/li&gt;
&lt;li&gt;It calls &lt;code&gt;screenshot&lt;/code&gt; to capture the screen.&lt;/li&gt;
&lt;li&gt;The model uses vision to identify buttons, input fields, and coordinates.&lt;/li&gt;
&lt;li&gt;It calls click, typing, or application tools.&lt;/li&gt;
&lt;li&gt;It screenshots again to confirm the result, then continues.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;From the docs, the fully supported platform is mainly macOS, including Apple Silicon and Intel. Windows / Linux are theoretically possible, but the &lt;code&gt;pyobjc&lt;/code&gt; app-management parts need platform-specific replacements and are not fully adapted yet.&lt;/p&gt;
&lt;p&gt;Runtime requirements include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;Bun &amp;gt;= 1.1.0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;Python &amp;gt;= 3.8&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;macOS Accessibility permission&lt;/li&gt;
&lt;li&gt;macOS Screen Recording permission&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This kind of feature is powerful, but it also raises permission risk. When letting AI operate desktop apps, it is better to authorize only the applications that are clearly needed and avoid leaving sensitive content open in unrelated windows.&lt;/p&gt;
&lt;h2 id=&#34;multi-model-access-through-an-anthropic-compatible-layer&#34;&gt;Multi-model access through an Anthropic-compatible layer
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;cc-haha&lt;/code&gt; still communicates using the Anthropic Messages API protocol. The project docs recommend using LiteLLM as a protocol conversion proxy.&lt;/p&gt;
&lt;p&gt;The basic structure is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;claude-code-haha ──Anthropic协议──▶ LiteLLM Proxy ──OpenAI协议──▶ 目标模型 API
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;In other words, &lt;code&gt;cc-haha&lt;/code&gt; sends Anthropic Messages API requests, LiteLLM converts them to formats such as OpenAI Chat Completions, and then forwards them to OpenAI, DeepSeek, Ollama, or other model services.&lt;/p&gt;
&lt;p&gt;The LiteLLM install command in the docs is:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;pip install &lt;span class=&#34;s1&#34;&gt;&amp;#39;litellm[proxy]&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;Then you can configure OpenAI, DeepSeek, Ollama, and other models in &lt;code&gt;litellm_config.yaml&lt;/code&gt;. After the proxy starts, set these values in &lt;code&gt;.env&lt;/code&gt; or &lt;code&gt;~/.claude/settings.json&lt;/code&gt;:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;9
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_AUTH_TOKEN&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;sk-anything
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_BASE_URL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;http://localhost:4000
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_MODEL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;gpt-4o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_DEFAULT_SONNET_MODEL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;gpt-4o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_DEFAULT_HAIKU_MODEL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;gpt-4o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;ANTHROPIC_DEFAULT_OPUS_MODEL&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;gpt-4o
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;API_TIMEOUT_MS&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;3000000&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;DISABLE_TELEMETRY&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;m&#34;&gt;1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;There are a few practical caveats:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;drop_params: true&lt;/code&gt; is important, because Anthropic parameters such as &lt;code&gt;thinking&lt;/code&gt; and &lt;code&gt;cache_control&lt;/code&gt; do not exist in the OpenAI API.&lt;/li&gt;
&lt;li&gt;Extended Thinking is an Anthropic-specific feature and is unavailable with third-party models.&lt;/li&gt;
&lt;li&gt;Prompt Caching will not work in the Anthropic-native way.&lt;/li&gt;
&lt;li&gt;Tool calls must be converted from Anthropic &lt;code&gt;tool_use&lt;/code&gt; to OpenAI function calling, so complex tool use may have compatibility issues.&lt;/li&gt;
&lt;li&gt;Small local Ollama models may not handle this tool-heavy workflow reliably.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So multi-model access can work, but that does not mean every model will feel the same. &lt;code&gt;cc-haha&lt;/code&gt; still demands strong tool use, code understanding, and long-context ability from the model.&lt;/p&gt;
&lt;h2 id=&#34;who-is-it-for&#34;&gt;Who is it for?
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;cc-haha&lt;/code&gt; is better suited for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;People already familiar with Claude Code who want desktop session management.&lt;/li&gt;
&lt;li&gt;Users who often work across multiple repositories, branches, and AI sessions.&lt;/li&gt;
&lt;li&gt;People who want to inspect AI file changes, diffs, and workspace status in a side panel.&lt;/li&gt;
&lt;li&gt;Users who want to experiment with Computer Use and let an Agent operate desktop apps.&lt;/li&gt;
&lt;li&gt;People who want to connect OpenAI, DeepSeek, Ollama, or other models through an Anthropic-compatible protocol.&lt;/li&gt;
&lt;li&gt;Users who need phone or IM-based remote viewing and permission approval.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is less suitable for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Users who only want the stable official Claude Code experience.&lt;/li&gt;
&lt;li&gt;People who cannot accept the leaked-source background and copyright uncertainty.&lt;/li&gt;
&lt;li&gt;Users who do not want to grant high system permissions to local tools.&lt;/li&gt;
&lt;li&gt;Teams that need enterprise compliance, auditability, and official support.&lt;/li&gt;
&lt;li&gt;Users unfamiliar with API keys, proxies, model compatibility, and local service configuration.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;risks-and-boundaries&#34;&gt;Risks and boundaries
&lt;/h2&gt;&lt;p&gt;This article cannot only talk about features. It also has to talk about risk.&lt;/p&gt;
&lt;p&gt;The origin of &lt;code&gt;cc-haha&lt;/code&gt; means it is not an ordinary community reimplementation. The README clearly states that it is based on leaked Claude Code source code and that the original source belongs to Anthropic. This creates uncertainty around copyright, compliance, and long-term maintenance.&lt;/p&gt;
&lt;p&gt;Computer Use, H5 remote access, IM integration, and local permission approval are also high-permission capabilities. The more convenient they are, the more clearly boundaries need to be defined:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Do not expose H5 access on untrusted networks.&lt;/li&gt;
&lt;li&gt;Do not treat the token as a long-term public login credential.&lt;/li&gt;
&lt;li&gt;Do not grant the Agent access to unrelated sensitive applications.&lt;/li&gt;
&lt;li&gt;Do not casually use it in production or company compliance environments.&lt;/li&gt;
&lt;li&gt;Do not expose third-party model proxy settings or API keys in public repositories.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If your goal is to study AI coding tool architecture, desktop workflows, and Computer Use implementation, it is a useful reference. If you want to put it into a long-term production workflow, evaluate legal, permission, security, and maintenance risks first.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;The most interesting thing about &lt;code&gt;cc-haha&lt;/code&gt; is not whether it can replicate Claude Code. It is that it pushes Claude Code-style AI coding tools toward a desktop workbench form.&lt;/p&gt;
&lt;p&gt;Sessions, projects, Worktree, diffs, permissions, remote access, Computer Use, model providers, scheduled tasks, and token usage are all brought into one desktop experience. That suggests the next step for AI coding tools is not only stronger models, but also a more complete workflow interface.&lt;/p&gt;
&lt;p&gt;But its boundaries are also clear: it is not an official Anthropic product, it has a sensitive source-code background, and its high-permission features require caution. A better way to view it is as a project for observing where AI coding tools may evolve, not as a careless replacement for official Claude Code.&lt;/p&gt;
&lt;h2 id=&#34;references&#34;&gt;References
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;GitHub repository: &lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NanmiCoder/cc-haha&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Latest release: &lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha/releases/tag/v0.2.6&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NanmiCoder/cc-haha/releases/tag/v0.2.6&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Computer Use documentation: &lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha/blob/main/docs/computer-use.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NanmiCoder/cc-haha/blob/main/docs/computer-use.md&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Third-party model documentation: &lt;a class=&#34;link&#34; href=&#34;https://github.com/NanmiCoder/cc-haha/blob/main/docs/guide/third-party-models.md&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;https://github.com/NanmiCoder/cc-haha/blob/main/docs/guide/third-party-models.md&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>Codex Is Starting to Control the Computer. What Does That Mean for the Future?</title>
        <link>https://knightli.com/en/2026/04/29/codex-computer-use-update/</link>
        <pubDate>Wed, 29 Apr 2026 11:28:25 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/04/29/codex-computer-use-update/</guid>
        <description>&lt;p&gt;The most important part of this Codex update is not that it added another ordinary button. It is that Codex is starting to move toward &amp;ldquo;controlling the computer.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;In the past, using AI usually meant asking questions in a chat box, copying, pasting, and then manually operating software.&lt;br&gt;
Now that boundary is expanding: AI does not just answer you. It can operate desktop applications according to your goal.&lt;/p&gt;
&lt;p&gt;In the short term, this is a new feature. In the long term, it may change how many people use computers.&lt;/p&gt;
&lt;h2 id=&#34;what-this-feature-is&#34;&gt;What This Feature Is
&lt;/h2&gt;&lt;p&gt;Simply put, Codex&amp;rsquo;s computer use capability lets it access and operate the desktop environment.&lt;/p&gt;
&lt;p&gt;It can do things such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;select and control an application&lt;/li&gt;
&lt;li&gt;receive tasks in natural language&lt;/li&gt;
&lt;li&gt;open browsers, AI tools, local files, or other software&lt;/li&gt;
&lt;li&gt;enter text, click buttons, and wait for results&lt;/li&gt;
&lt;li&gt;connect multiple steps into one task&lt;/li&gt;
&lt;li&gt;keep running in the background without requiring the user to follow every step manually&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Its role is not just to write a piece of text for you, but to complete an operation flow for you.&lt;/p&gt;
&lt;p&gt;That is the key difference between an Agent and an ordinary chatbot:&lt;br&gt;
a chatbot mainly gives answers; an Agent is closer to &amp;ldquo;receiving a goal and then executing it.&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;why-this-matters&#34;&gt;Why This Matters
&lt;/h2&gt;&lt;p&gt;In the past, much automation required you to know how to write scripts.&lt;/p&gt;
&lt;p&gt;For example, suppose you want to complete a cross-software workflow:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;open a web page&lt;/li&gt;
&lt;li&gt;find information&lt;/li&gt;
&lt;li&gt;copy content&lt;/li&gt;
&lt;li&gt;pass it to another AI tool&lt;/li&gt;
&lt;li&gt;save a file&lt;/li&gt;
&lt;li&gt;open the local directory and check the result&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To automate this traditionally, you might need browser scripts, APIs, local programs, and even window automation.&lt;/p&gt;
&lt;p&gt;But many ordinary users do not know how to write these things.&lt;br&gt;
Even if they do, it may not be worth writing a script for a temporary task.&lt;/p&gt;
&lt;p&gt;This is where computer use matters: it pushes &amp;ldquo;script-like capability&amp;rdquo; toward natural language.&lt;/p&gt;
&lt;p&gt;You do not necessarily need to tell it exactly where to click.&lt;br&gt;
You can tell it what result you want and let it try to complete the task.&lt;/p&gt;
&lt;h2 id=&#34;workflows-it-may-change&#34;&gt;Workflows It May Change
&lt;/h2&gt;&lt;p&gt;I think the first workflows to change will not be extremely serious or high-risk work, but the tasks that are annoying, fragmented, repetitive, and not worth writing a dedicated program for.&lt;/p&gt;
&lt;h3 id=&#34;1-moving-information-across-software&#34;&gt;1. Moving Information Across Software
&lt;/h3&gt;&lt;p&gt;The most typical case is moving information between applications.&lt;/p&gt;
&lt;p&gt;Previously, you might switch back and forth between a browser, a document, a chat window, and a local folder.&lt;br&gt;
In the future, you can hand this kind of task to an Agent:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;find a certain kind of information&lt;/li&gt;
&lt;li&gt;summarize it into a document&lt;/li&gt;
&lt;li&gt;save it to a specified directory&lt;/li&gt;
&lt;li&gt;open the result for you to review&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This work is not hard, but it consumes attention.&lt;br&gt;
The value of an Agent is that it absorbs these small operations.&lt;/p&gt;
&lt;h3 id=&#34;2-coordination-between-multiple-ai-tools&#34;&gt;2. Coordination Between Multiple AI Tools
&lt;/h3&gt;&lt;p&gt;Many people&amp;rsquo;s real workflow is no longer based on a single AI tool.&lt;/p&gt;
&lt;p&gt;It may look like this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;one tool writes code&lt;/li&gt;
&lt;li&gt;one tool researches information&lt;/li&gt;
&lt;li&gt;one tool generates images&lt;/li&gt;
&lt;li&gt;one tool organizes documents&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Previously, these tools were connected by manual copy and paste.&lt;br&gt;
In the future, an Agent can become the middle layer: it opens tools, passes context, waits for output, and organizes results.&lt;/p&gt;
&lt;p&gt;This can turn &amp;ldquo;multiple AI tools working together&amp;rdquo; from a manual process into a semi-automated process.&lt;/p&gt;
&lt;h3 id=&#34;3-office-software-automation&#34;&gt;3. Office Software Automation
&lt;/h3&gt;&lt;p&gt;Spreadsheets, presentations, documents, and email share one trait: they are powerful, but many operations are fragmented.&lt;/p&gt;
&lt;p&gt;If Agents can reliably control this software, the barrier to office automation will drop noticeably.&lt;/p&gt;
&lt;p&gt;You do not need to remember where a menu is or learn complicated shortcuts.&lt;br&gt;
You only need to describe the goal, such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;turn this spreadsheet into a monthly report&lt;/li&gt;
&lt;li&gt;make a one-page summary from this document&lt;/li&gt;
&lt;li&gt;combine these materials into a clearly structured explanation&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The tedious button operations will gradually be hidden behind natural language.&lt;/p&gt;
&lt;h2 id=&#34;what-it-means-for-ordinary-users&#34;&gt;What It Means for Ordinary Users
&lt;/h2&gt;&lt;p&gt;For ordinary users, this kind of feature may have a more direct impact than &amp;ldquo;the model got a bit smarter.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Because it lowers the operation barrier, not just the knowledge barrier.&lt;/p&gt;
&lt;p&gt;Many people can describe what they want, but they do not know where to click or how to combine features inside software.&lt;br&gt;
If Agents can take over this part, using a computer may become:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;I describe the goal
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Agent operates the software
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;I check the result
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;That is closer to real productivity than simple chat.&lt;/p&gt;
&lt;h2 id=&#34;its-impact-on-software&#34;&gt;Its Impact on Software
&lt;/h2&gt;&lt;p&gt;If this kind of Agent capability continues to mature, software itself will also be affected.&lt;/p&gt;
&lt;p&gt;In the past, software design mainly served human clicking.&lt;br&gt;
In the future, software may also need to serve Agent operation.&lt;/p&gt;
&lt;p&gt;This means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;interface elements need to be clearer&lt;/li&gt;
&lt;li&gt;operation feedback needs to be more stable&lt;/li&gt;
&lt;li&gt;local permissions need to be more granular&lt;/li&gt;
&lt;li&gt;software may provide interfaces better suited for Agent calls&lt;/li&gt;
&lt;li&gt;users may care more about whether software can be operated smoothly by AI&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the long run, the boundaries between applications may become thinner.&lt;br&gt;
Users may care less about &amp;ldquo;which app should I open&amp;rdquo; and more about &amp;ldquo;what task do I want to complete.&amp;rdquo;&lt;/p&gt;
&lt;h2 id=&#34;do-not-overhype-it-yet&#34;&gt;Do Not Overhype It Yet
&lt;/h2&gt;&lt;p&gt;Of course, it is not time to fully let go yet.&lt;/p&gt;
&lt;p&gt;This kind of capability still has several clear limitations:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;stability still needs observation&lt;/li&gt;
&lt;li&gt;complex tasks may fail in the middle&lt;/li&gt;
&lt;li&gt;permission boundaries must be handled carefully&lt;/li&gt;
&lt;li&gt;account, payment, and file deletion operations should not be delegated casually&lt;/li&gt;
&lt;li&gt;quota consumption is not something you can completely ignore&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So at this stage, the best use case is not letting it take over the whole computer, but letting it handle low-risk, reviewable, step-heavy tasks.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;organizing materials&lt;/li&gt;
&lt;li&gt;generating drafts&lt;/li&gt;
&lt;li&gt;moving content across tools&lt;/li&gt;
&lt;li&gt;opening and checking files&lt;/li&gt;
&lt;li&gt;running semi-automated workflows that can be reviewed by a human&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;one-last-line&#34;&gt;One Last Line
&lt;/h2&gt;&lt;p&gt;The real importance of this Codex update is that it pushes AI from &amp;ldquo;answering questions&amp;rdquo; toward &amp;ldquo;operating the environment.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;In the short term, it is a computer use feature.&lt;br&gt;
In the long term, it may mark a shift in how personal computers are used.&lt;/p&gt;
&lt;p&gt;In the future, we may spend less time remembering buttons, finding menus, and switching windows.&lt;br&gt;
More often, we will describe the goal, let an Agent execute it, and then let humans make the final judgment.&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
