Compare commits

...

3 Commits

Author SHA1 Message Date
Frank a07f37073b wip: github actions 2025-07-25 19:05:55 -04:00
Frank 4d760a1984 wip: github action 2025-07-25 18:33:45 -04:00
Dax Raad 6b7058fe1c qwen optimizations it works good now 2025-07-25 18:31:08 -04:00
4 changed files with 22 additions and 17 deletions
+1 -1
View File
@@ -27,4 +27,4 @@ jobs:
git config --global user.email "opencode@sst.dev"
git config --global user.name "opencode"
./script/publish
working-directory: ./sdks/github
working-directory: ./github
+14 -10
View File
@@ -375,9 +375,6 @@ export const GithubRunCommand = cmd({
const runUrl = `/${owner}/${repo}/actions/runs/${runId}`
const shareBaseUrl = isMock ? "https://dev.opencode.ai" : "https://opencode.ai"
// TODO
console.log("payload", payload)
let appToken: string
let octoRest: Octokit
let octoGraph: typeof graphql
@@ -428,7 +425,7 @@ export const GithubRunCommand = cmd({
const response = await chat(`${userPrompt}\n\n${dataPrompt}`, promptFiles)
if (await branchIsDirty()) {
const summary = await summarize(response)
await pushToCurrentBranch(summary)
await pushToLocalBranch(summary)
}
const hasShared = prData.comments.nodes.some((c) => c.body.includes(`${shareBaseUrl}/s/${shareId}`))
await updateComment(`${response}${footer({ image: !hasShared })}`)
@@ -454,7 +451,7 @@ export const GithubRunCommand = cmd({
const response = await chat(`${userPrompt}\n\n${dataPrompt}`, promptFiles)
if (await branchIsDirty()) {
const summary = await summarize(response)
await pushToCurrentBranch(summary)
await pushToNewBranch(summary, branch)
const pr = await createPR(
repoData.data.default_branch,
branch,
@@ -540,6 +537,7 @@ export const GithubRunCommand = cmd({
const mdMatches = prompt.matchAll(/!?\[.*?\]\((https:\/\/github\.com\/user-attachments\/[^)]+)\)/gi)
const tagMatches = prompt.matchAll(/<img .*?src="(https:\/\/github\.com\/user-attachments\/[^"]+)" \/>/gi)
const matches = [...mdMatches, ...tagMatches].sort((a, b) => a.index - b.index)
console.log("Images", JSON.stringify(matches, null, 2))
let offset = 0
for (const m of matches) {
@@ -556,9 +554,6 @@ export const GithubRunCommand = cmd({
},
})
if (!res.ok) {
// TODO
//console.log(res)
//throw new Error("manual")
console.error(`Failed to download image: ${url}`)
continue
}
@@ -791,8 +786,17 @@ export const GithubRunCommand = cmd({
return `opencode/${type}${issueId}-${timestamp}`
}
async function pushToCurrentBranch(summary: string) {
console.log("Pushing to current branch...")
async function pushToNewBranch(summary: string, branch: string) {
console.log("Pushing to new branch...")
await $`git add .`
await $`git commit -m "${summary}
Co-authored-by: ${actor} <${actor}@users.noreply.github.com>"`
await $`git push -u origin ${branch}`
}
async function pushToLocalBranch(summary: string) {
console.log("Pushing to local branch...")
await $`git add .`
await $`git commit -m "${summary}
+5 -4
View File
@@ -23,8 +23,9 @@ export namespace ProviderTransform {
}
for (const msg of unique([...system, ...final])) {
const shouldUseContentOptions = providerID !== "anthropic" && Array.isArray(msg.content) && msg.content.length > 0
const shouldUseContentOptions =
providerID !== "anthropic" && Array.isArray(msg.content) && msg.content.length > 0
if (shouldUseContentOptions) {
const lastContent = msg.content[msg.content.length - 1]
if (lastContent && typeof lastContent === "object") {
@@ -35,7 +36,7 @@ export namespace ProviderTransform {
continue
}
}
msg.providerOptions = {
...msg.providerOptions,
...providerOptions,
@@ -46,7 +47,7 @@ export namespace ProviderTransform {
}
export function temperature(_providerID: string, modelID: string) {
if (modelID.includes("qwen")) return 0.55
if (modelID.toLowerCase().includes("qwen")) return 0.55
return 0
}
}
+2 -2
View File
@@ -64,12 +64,12 @@ export namespace ToolRegistry {
}
export function enabled(_providerID: string, modelID: string): Record<string, boolean> {
if (modelID.includes("claude")) {
if (modelID.toLowerCase().includes("claude")) {
return {
patch: false,
}
}
if (modelID.includes("qwen")) {
if (modelID.toLowerCase().includes("qwen")) {
return {
patch: false,
todowrite: false,