Aiden Cline 3 месяцев назад
Родитель
Сommit
f501501791

+ 3 - 0
packages/opencode/src/cli/cmd/tui/app.tsx

@@ -30,6 +30,9 @@ import { TuiEvent } from "./event"
 import { KVProvider, useKV } from "./context/kv"
 
 async function getTerminalBackgroundColor(): Promise<"dark" | "light"> {
+  // can't set raw mode if not a TTY
+  if (!process.stdin.isTTY) return "dark"
+
   return new Promise((resolve) => {
     let timeout: NodeJS.Timeout
 

+ 7 - 1
packages/opencode/src/cli/cmd/tui/thread.ts

@@ -52,6 +52,12 @@ export const TuiThreadCommand = cmd({
         default: "127.0.0.1",
       }),
   handler: async (args) => {
+    const prompt = await (async () => {
+      const piped = !process.stdin.isTTY ? await Bun.stdin.text() : undefined
+      if (!args.prompt) return piped
+      return piped ? piped + "\n" + args.prompt : args.prompt
+    })()
+
     const cwd = args.project ? path.resolve(args.project) : process.cwd()
     try {
       process.chdir(cwd)
@@ -106,7 +112,7 @@ export const TuiThreadCommand = cmd({
         sessionID,
         model: args.model,
         agent: args.agent,
-        prompt: args.prompt,
+        prompt,
         onExit: async () => {
           await client.call("shutdown", undefined)
         },